微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

azcopy 错误:401 服务器无法对请求进行身份验证请参考 www-authenticate 标头中的信息

如何解决azcopy 错误:401 服务器无法对请求进行身份验证请参考 www-authenticate 标头中的信息

使用 azcopy 将文件复制到具有“Blob 服务 SAS URL”共享访问签名的 Azure 存储容器

几天前还可以工作,而不是停止工作。我已多次生成 SAS URL,并具有正确的开始和结束时间。

Azure 版本:10.8.0

RESPONSE 状态:401 服务器无法验证请求。 请参阅 www-authenticate 标头中的信息。 内容长度:[302] 内容类型:[应用程序/xml] 日期:[格林威治标准时间 2021 年 2 月 17 日星期三 23:44:32] 服务器:[Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0] 用户代理:[Azcopy/10.8.0 Azure-Storage/0.10 (go1.13; linux)] Www-Authenticate: [Bearer authorization_uri=https://login.microsoftonline.com/xxxxx/oauth2/authorize

  resource_id=https://storage.azure.com]
  X-Ms-Client-Request-Id: [xxxxx]
 X-Ms-Error-Code: [NoAuthenticationinformation]
  X-Ms-Request-Id: [786b67cc-f01e-004d-1386-052f12000000]
  X-Ms-Version: [2019-12-12]

有人可以提供任何解决方法吗?

解决方法

试试看这个类似的 issue

  1. 检查您电脑的时间。
  2. 检查用于生成 SAS 的帐户密钥。
  3. 确保您的 SAS 令牌有效。
  4. 最好使用最新版本的 azure cli。

我使用 AzCopy v10 的测试命令:

$source_uri_with_sas = az storage blob generate-sas --account-key "source-account-key" --account-name "source-account-name" --container-name "source-container-name" --expiry 2022-01-01T00:00:00Z --name "source-blob-name" --permissions acdrw --full-uri

$destination_uri_with_sas = az storage blob generate-sas --account-key "destination-account-key" --account-name "destination-account-name" --container-name "destination-container-name" --expiry 2022-01-01T00:00:00Z --name "destination-blob-name" --permissions acdrw --full-uri

# Copy blob between storage accounts
azcopy copy $source_uri_with_sas $destination_uri_with_sas --recursive=true

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。