Серверу Azure не удалось аутентифицировать запрос - PullRequest
0 голосов
/ 30 сентября 2019

Я пытаюсь загрузить большой двоичный объект с помощью ноутбука Jupyter в хранилище Azure. У меня есть пример кода, как показано ниже:

from azure.storage.blob import BlockBlobService

accountName = "< account name>"
ContainerSAS = "<SAS key>"
containerName = "< container name>"

try:
    sas_service = BlockBlobService(account_name=accountName, sas_token=ContainerSAS)
except Exception as e:
    print("There was an error during SAS service creation. Details: {0}".format(e))

from azure.storage.blob import ContentSettings

blobName = "< blob name >"
try:
    sas_service.create_blob_from_path(
       'accountName',
       'blobName',
       'Chicago_Crime_Data-v2.csv',
       content_settings=ContentSettings(content_type='Chicago_Crime_Data-v2/csv')
    )
except Exception as e:
    print("There was an error during blob uploading. Details: {0}".format(e))

Но я получаю сообщение об ошибке: Подробности: Серверу не удалось аутентифицировать запрос. Убедитесь, что значение заголовка авторизации сформировано правильно, включая подпись.

Я не могу понять, что здесь не так. Я новичок. Любая помощь могла бы быть полезна. Спасибо.

Редактировать: Должен ли я предоставить имя учетной записи, имя контейнера и ключ?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

Пожалуйста, убедитесь, что вы сгенерировали токен sas согласно этому скриншоту:

enter image description here

В методе sas_service.create_blob_from_path также есть ошибка,Первый параметр должен быть container_name, а не account_name

Следующий код хорошо работает на моей стороне:

from azure.storage.blob import BlockBlobService, ContentSettings

accountName = "xxx"
ContainerSAS = "xxx"
containerName = "test4"

sas_service = BlockBlobService(account_name=accountName,sas_token=ContainerSAS)

blobname = "222.PNG"

sas_service.create_blob_from_path(containerName,blobname,"F:\\azure stack overflow\\2019\\09\\30\\disk.PNG")

print("done")

Результат теста:

enter image description here

0 голосов
/ 30 сентября 2019

Пожалуйста, проверьте, правильно ли указан ключ вашей учетной записи, а также убедитесь, что системное время установлено правильно. Если системное время установлено неправильно, вы можете получить сообщение об ошибке «Failed to Authenticate».

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