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

使用Python将Azure文件存储文件复制到Blob存储授权报错如何解决

错误说明

你遇到的报错信息如下:

azure.core.exceptions.ResourceNotFoundError: This request is not authorized to perform this operation using this resource type.

该错误核心由账户SAS令牌的资源类型配置不匹配导致:当前SAS仅开放了service级资源权限,而访问文件存储中的单个文件需要object级资源权限。

排查与解决步骤

  • 修正SAS令牌生成配置
    将generate_account_sas方法的resource_types参数调整为同时开启service和object权限,修改后的代码片段如下:
sas_token = generate_account_sas(
    account_name=account_name,
    account_key=account_key,
    # 新增object级资源权限,满足单个文件访问要求
    resource_types=ResourceTypes(service=True, object=True),
    permission=AccountSasPermissions(read=True),
    expiry=datetime.utcnow() + timedelta(hours=1)
)

修改后生成的SAS令牌参数srt值会变为so,即可支持访问单个文件对象。

  • 验证网络访问权限
    确认存储账号的防火墙配置已添加本地运行环境的公网IP,同时未配置VNet访问限制阻断本地请求。
  • 检查资源与账号权限
    确认目标Blob容器event已存在,你使用的存储账户密钥拥有Blob写入权限,同时源文件共享test-share中确实存在对应的待复制文件。
  • 验证SAS有效性
    可直接将生成的源文件URL复制到浏览器地址栏访问,如果能正常触发文件下载则说明SAS配置正确,若仍报错可根据浏览器返回的错误信息进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:39:04