Я пытаюсь составить список и загрузить большие двоичные объекты из контейнера в Azure.Он отлично работает, когда я пытаюсь сделать это, используя ключ доступа к учетной записи хранения.Однако происходит сбой при использовании токена SAS.Я сгенерировал токен SAS с помощью следующего сценария PowerShell:
$storageContext = New-AzureStorageContext -StorageAccountName "myAccount" -StorageAccountKey "<account key>"
$permission = "rwdl"
$sasToken = New-AzureStorageContainerSASToken -Name "myContainer" -Policy "testPolicy" -Context $storageContext >>sastoken.txt
"
Я получил следующий результат:
?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D
Я добавил токен sas с URI ресурса для получения:
https://myAccount.blob.core.windows.net/myContainer?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D
и запустил следующую команду CLI:
az storage blob list --container-name myContainer --account-name myAccount --auth-mode key --debug --sas-token "https://myAccount.blob.core.windows.net/myContainer?sv=2017-04-17&sr=c&si=testPolicy&sig=dbS680%2FXgPp4o%2BQCCzpYzGZszCnDHVjCkdHZRf6KDeg%3D" >> bloblist.txt
Я получаю следующую ошибку:
azure.multiapi.storage.v2018_03_28.common.storageclient: Клиент-Request-ID = 0f7a 7762-3729-11e9-8b32-ffc4c9592d0a Политика повторных попыток не допускает повторных попыток: Server- Timestamp = Sat, 23 февраля 2019 05:08:30 GMT, ID-запроса сервера = 21f07a6a-f01e-00e9-32 35-cb7d5c000000, код состояния HTTP = 403, исключительная ситуация = серверу не удалось аутентифицировать запрос.Убедитесь, что значение заголовка авторизации сформировано правильно, включая подпись.ErrorCode: AuthenticationFailed AuthenticationFailed
Серверу не удалось авторизовать запрос.Убедитесь, что значение заголовка авторизации сформировано правильно, включая подпись.RequestId: 21f07a6a-f01e-00e9-3235-cb7d5c000000Time: 2019-02-23T05: 08: 30.7149353Z Недопустимый размер подписи .
У вас нет необходимых прав для выполнения этой операции.В зависимости от вашей операции вам может потребоваться назначить одну из следующих ролей:
"Storage Blob Data Contributor (Preview)"
"Storage Blob Data Reader (Preview)"
"Storage Queue Data Contributor (Preview)"
"Storage Queue Data Reader (Preview)"
Если вы хотите использовать старый метод аутентификации и разрешить запрашивать правильный ключ учетной записи, используйте "--auth-mode "параметр и значение" ключа ".
Событие: CommandInvoker.OnFilterResult [] Объект 'CommandResultItem' не повторяется. Трассировка (последний вызов был последним): файл" C: \ Users "\ VSSADM ~ 1 \ AppData \ Local \ Temp \ pip-install-r8nye8gm \ knack \ knack \ cl i.py ", строка 212, в файле вызова" C: \ Users \ VSSADM ~ 1 \ AppData \ Local \ Temp \ pip "-install-r8nye8gm \ knack \ knack \ ou tput.py ", строка 132, в выходном файле" C: \ Users \ VSSADM ~ 1 \ AppData \ Local \ Temp \ pip-install-r8nye8gm \ knack \ knack \ ou tput.py ", строка 38, в format_json TypeError: объект 'CommandResultItem' не является итеративным telemetry.save: сохранить запись телеметрии длиной 2499 в кэш-памяти
Я попытался создать портал SAS уровня учетной записи хранения, ноне нашел удачи.
Пожалуйста, помогите!