AzureException: HTTPSConnectionPool: максимальное количество попыток превышено с URL - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь загрузить файлы csv / pdf в хранилище BLOB-объектов Azure, используя локально python.

Я следовал за этим post , но выдает ошибку,

from azure.storage.blob import BlockBlobService
from azure.storage.blob import ContentSettings

block_blob_service = BlockBlobService(account_name='account_name', account_key='key1')
block_blob_service.create_container('cn1')
block_blob_service.set_container_acl('cn1', public_access=PublicAccess.Container)

#Upload the CSV file to Azure cloud
block_blob_service.create_blob_from_path(
    'mycontainer',
    'C:/uploads/blob.csv',
    'C:/uploads/blob.pdf',
    content_settings=ContentSettings(content_type='application/CSV')
            )

После загрузки я хочу использовать загруженный файл для обработки.

Трассировка (последний последний вызов):

Файл "", строка 1, в block_blob_service.create_container ('cn1')

Файл "c: \users \ rb287jd \ appdata \ local \ Programs \ python \ python36 \ lib \ site-packages \ azure \ storage \ blob \ baseblobservice.py ", строка 600, в create_container self._perform_request (запрос)

файл"c: \ users \ rb287jd \ appdata \ local \ Programs \ python \ python36 \ lib \ site-packages \ azure \ storage \ storageclient.py ", строка 280, в _perform_request grow ex

Файл" c: \пользователи \ rb287jd \ appdata \ local \ Programs \ python \ python36 \ lib \ site-packages \ azure \ storage \ storageclient.py ", строка 252, в _perform_request поднять исключение AzureException (ex.args [0])

AzureException: HTTPSConnectionPool (host = 'account_name.blob.core.windows.net', port = 443): превышено максимальное количество повторов с помощью url: / cn1? Restype = container (вызвано ConnectTimeoutError (, 'Соединение с account_name.blob.core.Тайм-аут Windows.net (время ожидания соединения = 20) '))

1 Ответ

0 голосов
/ 26 мая 2018

Не могли бы вы попробовать следующие изменения?

a) Добавьте отсутствующий импорт:

from azure.storage.blob import PublicAccess

b) Создайте службу блочных BLOB-объектов следующим образом, если вы используете хранилище Azure.Эмулятор:

block_blob_service = BlockBlobService(is_emulated=True)

c) Измените имя контейнера на cn1 вместо mycontainer , который создается в начале кода:

block_blob_service.create_blob_from_path(
    'cn1',
    'C:/temp/blob.csv',
    'C:/temp/blob.pdf',
    content_settings=ContentSettings(content_type='application/CSV'))

Кроме того, убедитесь, что:

a) эмулятор хранилища Azure работает во время локальных тестов.Более подробную информацию можно получить по адресу https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator.

b) У вас есть правильное имя и ключ учетной записи хранения, открыв его с помощью Storage Explorer (https://azure.microsoft.com/en-us/features/storage-explorer/).

. Мне удалось заставить скрипт работать после измененийупоминалось выше как в эмуляторе хранилища Azure, так и в самом Azure, используя соответствующую сигнатуру метода для создания службы BLOB-объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...