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

Azure Synapse queryPipelineRuns API带过滤器POST返回空数组问题

解决Azure Synapse queryPipelineRuns API过滤返回空数组问题

排查方向及修复方案

  • 校验时间参数的有效性
    lastUpdatedAfter必须使用UTC标准时间戳,格式严格遵循ISO 8601。如果你的管道运行更新时间早于该时间,接口会返回空数组。建议先扩大时间范围测试,比如将时间改为2024-06-01T00:00:00.000Z,确认是否有数据返回。同时可以搭配lastUpdatedBefore参数缩小范围,避免时间区间不合理。

  • 确保过滤器参数完全匹配

    • 若使用status参数,必须使用Synapse官方定义的枚举值:Succeeded、Failed、Cancelled、InProgress,大小写不能出错。
    • 使用pipelineName时,要和管道的实际名称完全一致,包括大小写、特殊字符,不能有拼写错误。
  • 检查请求体结构
    过滤参数需作为请求体的顶级字段,不能嵌套。正确的请求体示例:

    {
      "lastUpdatedAfter": "2024-06-01T00:00:00.000Z",
      "lastUpdatedBefore": "2024-06-20T23:59:59.999Z",
      "status": "Succeeded",
      "pipelineName": "YourActualPipelineName"
    }
    
  • 验证MSI权限细节
    虽然空请求能返回数据,但带过滤条件的请求可能需要更精细的权限确认。确保MSI拥有Synapse Artifacts Contributor或更高权限,能够读取管道运行的完整元数据。

  • 绕过集成运行时直接测试
    用Postman或curl直接调用API,传入相同过滤参数,验证是否返回数据。如果直接调用正常,问题可能出在AutoResolveIntegrationRuntime的配置上。示例curl命令:

    curl --request POST 'https://WorkspaceName.dev.azuresynapse.net/queryPipelineRuns?api-version=2020-12-01' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <MSI_ACCESS_TOKEN>' \
    --data '{
        "lastUpdatedAfter": "2024-06-01T00:00:00.000Z"
    }'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 21:35:02