Невозможно загрузить большой двоичный объект в Azure из задачи, выполняемой на работнике из сельдерея, в док-контейнере Azure (из реестра Azure).Возможность успешно загрузить большой двоичный объект с локального рабочего из сельдерея.
Я попытался решить проблему, изменив политику доступа в Azure на «Blob» или «Контейнер», однако это не помогло решить проблему.Выполнение задачи на локальном сельдерее завершается без ошибок со всеми уровнями доступа.Я убедился, что контейнер существует и правильно написан.
Код для загрузки BLOB-объекта:
block_blob_service = BlockBlobService(account_name='my_storage_account',
account_key= 'my_storage_key')
directory_main = demo_data['username']
filename = '\demographics.json'
block_blob_service.create_blob_from_text('container_name', directory_main +
filename, demo_json)
При попытке загрузить через контейнер появляется следующее сообщение об ошибке:
AzureException ('Указанный ресурс не существует. ErrorCode: ResourceNotFound \ n
У запросов "Put" есть два различия:
Локальный:' User-Agent ':' Azure-Storage / 1.4.0-1.5.0 (Python CPython 3.7.3; Windows 10) '
Контейнер:' User-Agent ':' Azure-Storage / 1.4.0-1.5.0 (Python CPython 3.6.8;Linux 4.14.111-boot2docker) '
Кроме того, при локальном запуске создается заголовок «Авторизация», а при запуске из контейнера этот заголовок отсутствует. Любая помощь будет принята с благодарностью.
Traceback:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
R = retval = fun(*args, **kwargs)
File "/app/factory.py", line 43, in __call__
return self.run(*args, **kwargs)
File "/app/tasks.py", line 158, in _download_task
raise(e)
File "/app/tasks.py", line 107, in _download_task
block_blob_service.create_blob_from_text('my_container', directory_main + filename, demo_json)
File "/usr/local/lib/python3.6/site-packages/azure/storage/blob/blockblobservice.py", line 846, in create_blob_from_text
timeout=timeout)
File "/usr/local/lib/python3.6/site-packages/azure/storage/blob/blockblobservice.py", line 751, in create_blob_from_bytes
use_byte_buffer=True
File "/usr/local/lib/python3.6/site-packages/azure/storage/blob/blockblobservice.py", line 582, in create_blob_from_stream
timeout=timeout)
File "/usr/local/lib/python3.6/site-packages/azure/storage/blob/blockblobservice.py", line 1101, in _put_blob
return self._perform_request(request, _parse_base_properties)
File "/usr/local/lib/python3.6/site-packages/azure/storage/common/storageclient.py", line 430, in _perform_request
raise ex
File "/usr/local/lib/python3.6/site-packages/azure/storage/common/storageclient.py", line 358, in _perform_request
raise ex
File "/usr/local/lib/python3.6/site-packages/azure/storage/common/storageclient.py", line 344, in _perform_request
HTTPError(response.status, response.message, response.headers, response.body))
File "/usr/local/lib/python3.6/site-packages/azure/storage/common/_error.py", line 115, in _http_error_handler
raise ex
azure.common.AzureMissingResourceHttpError: The specified resource does not exist. ErrorCode: ResourceNotFound
<?xml version="1.0" encoding="utf-8"?><Error><Code>ResourceNotFound</Code><Message>The specified resource does not exist.
RequestId:46ba6512-301e-0061-2e62-2c37b7000000
Time:2019-06-26T21:03:00.0960002Z</Message></Error>