Вопрос или проблема
Добрый день,
не могли бы вы помочь мне получить ответ на следующий вопрос?
Я пытаюсь получить список блобов из конкретного контейнера, используя Azure CLI v1. Вот шаги, которые я выполняю:
1) azure login
2) Войти через браузер
3) из командной строки: azure storage blob list \
--container "container_name" -a "storage_account_name" -k $(cat ./storage_account_name.key)
storage_account_name.key – содержит фактический ключ доступа для учетной записи хранения.
Когда я запускаю эту команду из CLI, я получаю следующую ошибку:
info: Выполняется команда storage blob list
|error: Сервер не смог аутентифицировать запрос. Убедитесь, что значение заголовка Authorization сформировано правильно, включая подпись.
RequestId:<ID запроса>
Time:2017-08-18T13:34:53.3484100Z
error: Информация об ошибке была записана в /root/.azure/azure.err
Не могли бы вы сказать мне, что я делаю неправильно?
Заранее спасибо,
Алекс
Если вы хотите просмотреть блобы в вашей учетной записи хранения, сначала вам нужно установить две переменные для вашей учетной записи хранения и ключа.
export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_ACCESS_KEY=<storage_account_key>
Пожалуйста, обратитесь к этой ссылке: Использование Azure CLI 1.0 с Azure Storage.
Обновление:
Ваша команда работает у меня.
root@shui:~# azure storage blob list --container "vhds" -a "shuihvdiag182" -k $(cat ./storage_account_name.key)
info: Выполняется команда storage blob list
+ Получение блобов в контейнере vhds
data: Name Blob Type Length Content Type Last Modified Snapshot Time
data: ------------------ --------- ------ ------------------------ ----------------------------- -------------
data: Availabilityset.sh BlockBlob 1180 application/octet-stream Tue, 22 Aug 2017 02:13:01 GMT
info: команда storage blob list выполнена успешно
Я настроил storage_account_name.key
следующим образом:
aj5tKjaWBCGemBJ+gEmlCFLNP+/1zNgwuPDE+dDkKCXjoRCgdggmwCNDZheMmK8+gRiHUS+qR7NMkWfx5n8tjw==
Я рекомендую вам проверить, не истек ли ключ учетной записи хранения. Я предлагаю вам сгенерировать новый ключ и попробовать снова.
Обновление 2:
Я встречаю ту же ошибку, когда использую недействующий ключ доступа. Вам не нужно входить в свою учетную запись Azure, использование имени учетной записи хранения
+ ключа доступа
может перечислить блобы в контейнере. Я предлагаю вам проверить их на Портале.
Ответ или решение
Ошибка аутентификации при получении списка блобов в Azure: Возможные причины и решения
Добрый день, Алекс!
Ваша проблема с получением списка блобов из контейнера Azure Storage может быть вызвана несколькими причинами, связанными с аутентификацией. Давайте разберёмся подробно с тем, что может быть не так и как это исправить.
1. Проверка конфигурации
Убедитесь, что вы правильно настроили доступ к вашему хранилищу:
- Имя учетной записи: Убедитесь, что вы используете правильное имя учетной записи хранилища (storage account name).
- Ключ доступа: Проверьте, что используете актуальный ключ доступа (access key). Возможно, он был отозван или изменен. Вы можете проверить и восстановить ключи доступа через портал Azure в разделе Storage accounts → Access keys.
Для удобства, вот как можно экспортировать имя учетной записи и ключ доступа перед выполнением команды:
export AZURE_STORAGE_ACCOUNT=<имя_учетной_записи>
export AZURE_STORAGE_ACCESS_KEY=<ключ_доступа>
2. Формирование команд
Убедитесь в правильности формата команды. Синтаксис, который вы используете, может быть немного изменён. Пример правильной команды для получения списка блобов может выглядеть следующим образом:
azure storage blob list --container "container_name" --account-name "storage_account_name" --account-key "$(cat ./storage_account_name.key)"
Обратите внимание на использование флагов --account-name
и --account-key
, так как это более явно указывает необходимые параметры.
3. Проверка файла ключа
Проверьте содержимое файла storage_account_name.key
, чтобы убедиться, что он содержит корректный и неповрежденный ключ. Например, он должен выглядеть как:
aj5tKjaWBCGemBJ+gEmlCFLNP+/1zNgwuPDE+dDkKCXjoRCgdggmwCNDZheMmK8+gRiHUS+qR7NMkWfx5n8tjw==
Если вы не уверены в корректности, попробуйте сгенерировать новый ключ доступа.
4. Обновление Azure CLI
Хотя вы используете Azure CLI версии 1.0, желательно проверять, что вы используете последнюю доступную версию. Выполнение обновления может устранить некоторые неполадки, связанные с аутентификацией.
5. Логирование и диагностика
Если ошибка продолжает возникать, посмотрите в файл ошибок, указанный в сообщении: /root/.azure/azure.err
. Он может содержать более подробную информацию о причине сбоя аутентификации.
Заключение
Не забудьте также проверить, не блокируется ли доступ к вашему ресурсам на уровне сети, например, на уровне брандмауэра или виртуальной сети. Надеюсь, представленные рекомендации помогут вам решить вашу проблему. Если же по-прежнему возникнут трудности, пожалуйста, дайте знать, и мы попробуем рассмотреть дальнейшие шаги.
С уважением,
[Ваше Имя]
IT Эксперт