Azure - 尝试获取 Blob 列表时,服务器无法验证请求

Azure - 尝试获取 Blob 列表时,服务器无法验证请求

您好,您能帮我回答以下问题吗?

我正在尝试使用 zaure cli v1 从特定容器中获取 blob 列表。以下是我遵循的步骤:

1) azure login
2) Login via browser
3) from the command line: azure storage blob list \ 
--container "container_name" -a "storage_account_name" -k $(cat ./storage_account_name.key)

storage_account_name.key - 具有存储帐户的实际访问密钥。当我从 CLI 运行该命令时,出现以下错误:

info:    Executing command storage blob list
|error:   Server failed to authenticate the request. Make sure the value of 
Authorization header is formed correctly including the signature.
RequestId:<ID of the request>
Time:2017-08-18T13:34:53.3484100Z
error:   Error information has been recorded to /root/.azure/azure.err

你能告诉我我做错了什么吗?提前谢谢你,Alex

答案1

如果您想列出存储帐户中的 blob,您首先需要为您的存储帐户和密钥设置两个变量。

export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_ACCESS_KEY=<storage_account_key>

请参考此链接:将 Azure CLI 1.0 与 Azure 存储结合使用

更新:

你的命令对我有用。

root@shui:~# azure storage blob list --container "vhds" -a "shuihvdiag182" -k $(cat ./storage_account_name.key)
info:    Executing command storage blob list
+ Getting blobs in container 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 command OK

我的配置storage_account_name.key如下:

aj5tKjaWBCGemBJ+gEmlCFLNP+/1zNgwuPDE+dDkKCXjoRCgdggmwCNDZheMmK8+gRiHUS+qR7NMkWfx5n8tjw==

我建议您可以检查存储帐户密钥是否已过期。我建议您可以重新生成密钥并重试。

更新 2:

当我使用错误访问密钥时,我遇到了相同的错误日志。您不需要登录您的 Azure 帐户,使用storage account name+access key可以列出容器中的 blob。我建议您可以在 Portal 上查看它们。

在此处输入图片描述

相关内容