Рубрики
Без рубрики

Лазур и Питон: Список контейнеров

Недавно я наткнулся на требование проекта, где мне пришлось перечислить все капли, присутствующие в столе … Tagged с учебником, Python, Azure.

Недавно я наткнулся на требование проекта, где мне пришлось перечислить все капли, присутствующие в контейнере с учетом хранения, и сохранить имена BLOB в файле CSV.

Я хотел бы поделиться сценарием Python, который я создал для этой задачи, сохраняя это руководство как можно проще.

Я бы разделил этот учебник на 4 части:

  1. Предварительные условия
  2. Подключение к контейнеру для хранения Azure
  3. Список контейнеров
  4. Написание имен блоба в файл CSV

Предварительные условия

  • Python (и Pip)
  • Редактор кода (я использую код vs )
  • Учетная запись Microsoft Azure (с созданной учетной записью)

Некоторые пакеты/модули, которые потребуются, они могут быть установлены путем выполнения следующей команды на PowerShell, командной строке или терминале (если в системе Linux):

  1. Модуль хранения Blob Blob -Blob Читать далее

PIP Установите Azure-storage-blob

Подключение к контейнеру для хранения Azure

Есть много способов подключиться к контейнеру. Я бы покрыл подключение, используя Строка соединения , SAS токен и SAS URL Анкет Управляемая личность и Ключевое хранилище Методы соединения также требуют некоторой конфигурации на Azure, которая вышла бы за рамки этого учебника (я бы обсудил ее в другом учебном пособии).

Получить строку подключения/токен SAS через портал Azure

  • Строка соединения

Перейдите в свою учетную запись хранения через портал, на левой руке прокрутите вниз, нажмите на Ключи доступа И с правой стороны вы найдете пару ключей учетной записи и строки соединения.

  • SAS токен/URL

Перейдите в свою учетную запись хранения через портал, на левой руке прокрутите вниз и нажмите на Shared Access Signature Анкет Вам придется генерировать токены, выбрав соответствующие флажки в соответствии с вашими требованиями. Смотрите приведенные скриншоты для справки.

Примечание: также можно использовать строку подключения, сгенерированную здесь. Единственная разница между этой строкой и той, сгенерированной в вышеупомянутом разделе, заключается в том, что строка (токен и URL), сгенерированная здесь, имеет дату истечения срока действия.

Код

  • Строка соединения

Описание

В строке 5 и 6 код запрашивает строку подключения и имя контейнера соответственно. Причина в том, что мы хотели бы установить связь с конкретным контейнером.

blob_source_service_client.from_connection_string (source_container_connection_string)

В приведенном выше фрагменте, в blob_source_service_client Экземпляр подключения к учетной записи хранилища сохраняется.

source_container_client.get_container_client (source_container_name)

Здесь, используя экземпляр подключения учетной записи хранения, мы устанавливаем соединение с определенным контейнером и храним экземпляр, а также возвращаем его через Source_container_Client Анкет

  • SAS токен

Описание

В этом требования являются, но разные, наряду с SAS Токен, также потребуется URL -адрес учетной записи хранения. Это изменит список параметров функции, а также вызов функции в main (). Значительная разница была бы

blob_source_service_client (account_url,)

  • SAS URL

Описание

blob_source_service_client (source_container_sas_token)

Единственное важное отличие здесь в строке 5. Мы передаем URL -адрес SAS напрямую в Blobserviceclient Анкет Установить все такое же, как в разделе строки подключения.

Подробнее о docs.microsoft.com

Список контейнеров

В приведенном выше разделе мы видели, как установить и вернуть экземпляр подключения. Давайте перейдем прямо в следующий раздел.

Описание

Эта функция принимает два аргумента, сначала экземпляр подключения, который мы создали ранее, а во -вторых, путь, по которому должны быть перечислены капли. Таким образом, вышеупомянутая функция будет печатать каждые, присутствующие в контейнере для конкретного данного пути.

Одна важная вещь, которую нужно принять к сведению, – это source_blob_list это итерабильный объект. Точный тип: и да, list_blobs () Поддерживает и страсть.

В строке 8 я добавляю имена BLOB в список. Теперь этот список будет передан create_csv (blob_list) функция Обсуждается в следующем разделе.

Если все капли контейнера должны быть перечислены, то пустая строка (то есть ”) может быть установлена на blob_path или сам параметр может быть опущен, а аргумент также может быть удален из list_blobs () Анкет

Написание имен блоба в файл CSV

Приходя к последней части, это должно быть относительно простым и пояснительным.

Новый файл CSV будет сгенерирован в месте сценария, со следующим содержимым,

Я создал сценарий, который состоит из всего приведенного выше кода, аккуратно застреленного.

Найдите скрипт Здесь Анкет

Я надеюсь, что этот урок был полезным. Обратитесь ко мне/комментариям ниже для любых предложений или запросов.

Спасибо за чтение.

😁

Оригинал: “https://dev.to/shashankm28/azure-python-list-container-blobs-5241”