Код Python для подключения хранилища BLOB-объектов Azure с помощью модуля Azure автоматизации Runbook

Я новичок в python и пытаюсь подключить хранилище BLOB-объектов Azure через модуль запуска Azure автоматизации, используя приведенный ниже код, но код не работает с ошибкой ниже. Я использую модуль Runbook python 3, и у меня импортированы все необходимые модули и добавлен пакет python для Azure blob и ядра Azure. Любая помощь будет оценена по достоинству. Заранее спасибо

Ошибка:  введите описание изображения здесь

Код

from azure.storage import *
from azure.storage.blob import BlobServiceClient
blob_service = BlobServiceClient(account_name='<added blob storage name>', account_key='<added blob storage key>')
blobs = []
marker = None
while True:
batch = blob_service_client.list_blobs('data', marker=marker)
blobs.extend(batch)
if not batch.next_marker:
break
marker = batch.next_marker
for blob in blobs:
print(blob.name)

person Meg    schedule 01.04.2021    source источник
comment
Подскажите, пожалуйста, какой пакет вы используете?   -  person Jim Xu    schedule 02.04.2021
comment
Я использовал пакет azure_core-1.12.0-py2.py3-none-any.whl. Кроме того, я импортировал модули azure.storage и azure.   -  person Meg    schedule 02.04.2021
comment
Подскажите, пожалуйста, какую версию пакета вы используете?   -  person Jim Xu    schedule 03.04.2021
comment
Ядро Azure: 1.12.0, Azure.storage: 4.6.1, Azure: 1.0.3. Есть ли какая-либо последовательность, которую необходимо соблюдать при импорте этого пакета и модулей в модуль Azure Runbook?   -  person Meg    schedule 03.04.2021


Ответы (1)


Если вы хотите управлять BLOB-объектами Azure с помощью python3 в модуле Runbook Azure, нам необходимо импортировать пакет azure.storage.blob с его зависимостями.

Например

  1. Ручная загрузка пакетов
pip3 download -d <output dir name> azure-storage-blob==12.8.0

2. Импортируйте эти пакеты  введите описание изображения здесь

3.Runbook

а. код

from azure.storage.blob import BlobServiceClient

connect_str = ''
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
container_client=blob_service_client.get_container_client('test')
blobs = container_client.list_blobs( )
for blob in blobs:
    print(blob.name)

b.test  введите описание изображения здесь

person Jim Xu    schedule 05.04.2021