You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用az storage file upload-batch上传文件夹至Azure文件共享遇认证失败

这个认证失败的问题大概率和几个常见的配置或命令参数错误有关,咱们一步步来排查:

1. 修正--destination参数(最可能的核心问题)

你当前命令里的--destination .是错误的!这个参数需要指定Azure文件共享的具体名称,而不是本地的.(当前目录)。比如你的文件共享名叫myshare,正确的命令应该是:

az storage file upload-batch --connection-string "DefaultEndpointsProtocol=https;AccountName=asdadasd;AccountKey=ahdsidyagdasgdhasdghdgasdasjdag4857348574;EndpointSuffix=core.windows.net" --destination myshare --source /dfiles/folder

从错误信息里的签名字符串末尾/storage/createdump来看,Azure已经把错误的目标路径代入签名计算,直接导致MAC签名不匹配,这是这类问题最常见的诱因。

2. 验证连接字符串的准确性
  • AccountName:Azure存储账户名必须是全小写的,检查你连接字符串里的AccountName=asdadasd有没有大写字母或拼写错误。
  • AccountKey:确认密钥是完整复制的,没有遗漏字符、多余空格或换行。可以登录Azure门户重新复制一次密钥(选择key1或key2的完整值)。
  • 格式完整性:确保DefaultEndpointsProtocol=https、EndpointSuffix=core.windows.net这些固定部分没有拼写错误。
3. 校准本地系统时间

Azure存储的签名验证对时间非常敏感,如果你的本地机器时间与Azure服务器时间差超过15分钟,就会触发认证失败。可以手动同步系统时间,或者通过NTP服务完成校准。

4. 确认Shell对特殊字符的处理

如果你的AccountKey包含+、/、=这类特殊字符,确保用双引号完整包裹连接字符串(你已经这么做了,这部分基本没问题,但如果是zsh等特殊Shell,可以尝试用单引号包裹连接字符串测试)。

如果还是无法解决,建议用Azure CLI直接生成正确的连接字符串,避免手动输入错误:

az storage account show-connection-string --name your-storage-account-name --resource-group your-resource-group -o tsv

把命令输出的连接字符串直接替换到上传命令中即可。

内容的提问来源于stack exchange,提问作者doc_noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 16:17:51