Azure Synapse Web Activity调用pipelineruns API报404错误求助
排查Azure Synapse Web Activity调用Pipelineruns API返回404的问题
可能的原因及排查步骤
- 验证工作区名称与运行ID准确性
确认URL中的workspacename是当前环境的实际Synapse工作区名称,同时检查d855ac65-4196-45b7-8b8f-3899e3cd14f6这个运行ID是否存在于当前环境。可在Synapse Studio的「监视」→「管道运行」中搜索该ID,确认资源是否存在。 - 检查API版本兼容性
当前使用的2020-12-01为稳定版本,但不同环境的Synapse工作区可能存在版本差异,尝试更换为最新API版本(如2021-06-01-preview)测试,看是否能正常返回结果。 - 系统托管标识权限验证
确认管道所在Synapse工作区的系统托管标识拥有Synapse Contributor、Synapse Administrator权限,或至少具备目标管道运行的读取权限。可在Azure门户的工作区「访问控制(IAM)」中检查标识的权限配置。 - 排查环境差异导致的URL问题
对比当前环境与正常运行环境的URL结构:- 确认当前环境的Synapse工作区终结点后缀是否正确(如是否为
dev.azuresynapse.net) - 检查区域差异,部分区域的工作区终结点格式可能不同
- 确认当前环境的Synapse工作区终结点后缀是否正确(如是否为
- 核对Web Activity配置细节
确保身份验证的「资源」字段填写正确(应为https://dev.azuresynapse.net,请勿带末尾斜杠),同时确认Web Activity未配置额外请求头或参数导致请求被篡改。 - 直接测试API调用
使用Postman或curl工具,通过系统托管标识获取token后直接调用目标API,排除Web Activity本身的配置问题。获取token的命令示例:
将获取到的token作为curl "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://dev.azuresynapse.net" -H "Metadata: true"Authorization头调用目标API,根据返回结果判断是权限问题还是资源不存在问题。
内容的提问来源于stack exchange,提问作者rajani
相关产品推荐
相关产品推荐

