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

调用Azure文本翻译批量API遇权限错误,源路径可浏览器访问

解决Azure批量翻译接口权限访问错误

调用Azure认知服务批量翻译接口https://alsntranslator1.cognitiveservices.azure.com/translator/text/batch/v1.0/batches发送POST请求时,反复返回无法使用当前权限访问源文档位置错误,但源Blob路径可直接通过浏览器访问。以下是排查方向和解决方法:

1. Blob容器权限不匹配服务要求

浏览器能访问大概率是因为容器开了匿名公共访问,但Azure批量翻译服务不依赖匿名访问,必须通过SAS令牌或托管身份授权:

  • 给源、目标Blob生成带对应权限的SAS令牌:源Blob需要读(r)权限,目标Blob需要写(w)+添加(a)权限,有效期要覆盖任务执行时长。
  • 将SAS令牌附加到sourceUrl和targetUrl末尾,格式示例:https://xxx.blob.core.windows.net/container/file.txt?sv=xxx&ss=xxx&srt=xxx&sp=xxx&se=xxx&st=xxx&spr=https&sig=xxx

2. 托管身份配置未完成(若不用SAS)

如果选择托管身份授权,需确认:

  • 翻译服务的托管身份已被授予存储账户的**存储Blob数据读取者(源容器)和存储Blob数据参与者(目标容器)**角色。
  • 存储账户防火墙允许翻译服务的IP或启用“允许受信任的Microsoft服务访问”选项。

3. 请求体参数检查

  • 确认storageSource值为AzureBlob无误。
  • 检查sourceUrl和targetUrl的拼写:Azure存储对账户名、容器名、文件名的大小写敏感,避免拼写错误。

4. 存储账户防火墙限制

若存储账户防火墙设置了IP白名单,翻译服务的IP可能不在允许范围内:

  • 添加翻译服务所在区域的IP段到白名单,或开启“允许受信任的Microsoft服务访问此存储账户”开关。

请求体示例(需替换占位符)

{
  "inputs":[
    {
      "source":{
        "sourceUrl":"<<替换为带SAS令牌的源Blob URL>>",
        "storageSource":"AzureBlob"
      },
      "targets":[
        {
          "targetUrl":"<<替换为带SAS令牌的目标Blob URL>>",
          "language":"fr",
          "storageSource":"AzureBlob"
        }
      ]
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:33:21