【问题标题】:Azure Synapse: How to use Web Activity to Query REST API Pipeline Data?Azure Synapse:如何使用 Web Activity 查询 REST API 管道数据?
【发布时间】:2022-01-02 07:18:14
【问题描述】:

如何使用 Synapse 的 Web Activity 来查询管道运行?特别是,我想在失败的情况下提取错误消息。

初始设置如下,遵循文档发布的 GET 请求:https://docs.microsoft.com/en-us/rest/api/synapse/data-plane/pipeline-run/get-pipeline-run#clouderror

https://i.stack.imgur.com/Ud14y.png

要获取管道的RunId,我只需使用以下代码:activity('Execute Pipeline1').output.pipelineRunId

当我检查 GET 请求中发送的内容时,我看到它确实提取了一个 pipelineRunId,但不是下面调试面板中列出的那个。

https://i.stack.imgur.com/HaSHM.png

我怀疑这是问题所在,但我如何才能获得运行的确切运行的管道运行 ID,如下所示?

编辑

添加我可以查询的管道运行 ID;但我无法查询刚刚运行的管道。

https://i.stack.imgur.com/UcyO4.png

【问题讨论】:

    标签: azure azure-synapse


    【解决方案1】:

    我认为管道 runID 和活动 runID 之间存在混淆。

    为了获得子管道 runID,您必须使用这个动态表达式 - @activity('ExecutePipelineParent').output.pipelineRunId

    根据您共享的屏幕截图,您似乎正在将正确的子管道 runID 传递给网络活动。

    我认为提取管道 runID 没有任何问题。如果您的网络活动失败,那么您将不得不查看与网络活动配置相关的特定错误消息以找出根本原因。

    【讨论】:

    • 感谢您解决这个问题。只要我使用 Synapse 中 Monitor > Pipeline runs 部分中的 Run ID(列),我就可以使用该 Web Activity 成功查询管道运行。看来无论我使用@activity('ExecutePipelineParent').output.pipelineRunId 还是@{pipeline().RunId} 都不会返回任何结果,一个404 错误。
    【解决方案2】:

    您的图片显示您的管道尚未发布。可能是从上次发布的版本中读取 pipelineId 吗? 使用系统变量@{pipeline().RunId} 不是更好吗?

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2021-11-05
      • 2021-08-04
      相关资源
      最近更新 更多