如何使用最少数量的 Web 活动在 ADF 管道中发送通知?

问题描述 投票:0回答:1

我正在使用 Web Activity 发送 MS Teams 中运行的管道的通知。我的要求是使用最少数量的Web活动来降低成本。同时,如果任何活动失败,我希望收到通知。请记住上述要求,提出理想的连接。

enter image description here

我想使用尽可能少的活动来发送通知。我尝试仅使用一项 Web 活动进行连接,但失败了。

azure azure-data-factory cloud etl
1个回答
0
投票

这将是一项复杂的任务,涉及大量活动来为管道中的任何活动失败发送消息。

您可以使用执行管道活动来满足此要求。但这需要另一个父管道。删除 Web 活动并将所有所需的活动放入管道中,然后从另一个管道(父管道)调用该管道。

在这里,每当子管道中的任何活动失败时,执行管道活动都会失败,并且它包含有关错误消息和活动名称的信息。

请按照以下演示进行操作以更好地理解:

例如,我在子管道中进行了一些设置变量活动并故意生成错误。

enter image description here

现在,在父管道中,使用执行管道活动调用此管道,并确保选中等待完成复选框。

执行管道完成后,我添加了一个带有变量

Chat_message
的设置变量活动。这是获取聊天消息的表达式。

@if(equals(activity('Execute Pipeline1').status,'Succeeded'),'The pipeline succeeded',concat('The pipeline failed. The activity name is : ',substring(activity('Execute Pipeline1').error.message, add(indexOf(activity('Execute Pipeline1').error.message,'target'),7), sub(sub(indexOf(activity('Execute Pipeline1').error.message,'failed'),1),add(indexOf(activity('Execute Pipeline1').error.message,'target'),7))),' and the Error message is : ',split(activity('Execute Pipeline1').Error.message,'failed: ')[1]))

enter image description here

当子管道的任何活动失败时,整个管道都会失败,父管道中的执行管道活动也会失败。

现在,完成此活动后,上述表达式将检查管道是失败还是成功,并根据状态给出消息。

**子管道失败时的消息:**

enter image description here

**管道成功时的消息:**

enter image description here

当您想要将此消息发送给您的团队时,将父管道中设置的变量活动替换为您的 Web 活动,并在聊天消息的位置添加上述表达式。无论管道失败还是成功,它都仅使用单个 Web 活动来发送消息。

© www.soinside.com 2019 - 2024. All rights reserved.