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

Azure Data Factory自定义活动报错:指定资源不存在,求解决方案

问题:Azure Data Factory自定义活动执行PowerShell修改Blob存储层报错ResourceNotFound

我在Azure Data Factory(ADF)中运行自定义活动,通过PowerShell脚本将Blob存储层改为hot。已创建Batch账户,脚本保存至存储账户,且两者均成功关联到自定义活动。但触发ADF管道时出现报错:

报错截图

Batch账户输出文件中的错误信息:

<Error> <Code>ResourceNotFound</Code> <Message>The specified resource does not exist. RequestId:e5313310-001e-000b-269b-bd9c33000000 Time:2023-07-23T19:25:38.5391510Z</Message> </Error>

已尝试将容器访问级别从私有改为Blob,问题仍未解决,求可行解决方案。


排查与解决方案

1. 核对PowerShell脚本中的Blob路径信息

  • 确认脚本里的存储账户名、容器名、Blob名称完全匹配(Azure存储对Blob名称大小写敏感,注意不要出现大小写错误)
  • 若用通配符批量修改,检查通配符规则是否正确覆盖目标Blob,比如前缀、路径层级是否写错

2. 验证Batch账户的权限配置

  • 确保Batch账户的托管身份(或使用的共享访问密钥/服务主体)拥有目标存储账户的Storage Blob Data Contributor权限(仅容器级的Blob访问权限不足以完成存储层修改操作,需要数据操作权限)
  • 检查Batch账户关联的存储账户是否为目标Blob所在的存储账户,避免跨账户权限不匹配问题

3. 检查ADF自定义活动的参数传递

  • 确认自定义活动传递给脚本的参数(如存储账户名、容器名、Blob路径)是否正确,排查是否存在参数拼接错误(比如多了斜杠、少了路径前缀)
  • 可以在脚本中添加日志输出,打印实际使用的Blob路径,验证参数是否正确传递

4. 确认目标Blob的存在状态

  • 手动登录Azure门户,核实目标Blob确实存在于指定容器中,未被删除或移动
  • 若Blob处于归档层,需先执行解冻操作(Set-AzStorageBlobTier -Tier Cool),等待解冻完成后再修改为Hot层

5. 检查脚本的认证逻辑

  • 若使用连接字符串认证,确认连接字符串无多余字符、密钥正确
  • 若使用托管身份认证,确保Batch账户的托管身份已在存储账户IAM中配置正确权限,且脚本中使用了正确的认证代码(比如Connect-AzAccount -Identity)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:05:08