[教程]Power automatic高级错误捕获

在这篇文章中, 我将向您展示如何捕获与流运行中的失败有关的重要信息. 这可以包括创建流运行链接的工作流变量, 流的名字, 以及错误信息.

时间阅读: 大约20分钟
用于: 使用Power automation的SharePoint开发者
主要结论: 在本教程中,我将演示如何在流失败时收集重要信息.

在本教程中,我们将使用Office 365 SharePoint Online和 电力自动化.

**点击任何图片查看大图**
步骤1 -创建一个新的流
在电力自动化, 选择“我的流”, 点击“新建流程”下拉菜单, 然后点击“即时云流”:

将流命名为“Error Trapping Example”。, 选择“手动触发流”, 然后点击“创建”按钮:

步骤2 -添加动作
我们将在这个例子中添加两个变量来强制测试一个错误. 点击“+ New step”按钮,搜索“Initialize variable”动作,并添加它:

重命名动作“初始化intNumber变量”, 将实际变量命名为" intNumber ", 然后设置变量类型为“Integer”:

通过单击“+ New step”按钮添加第二个变量, 搜索“初始化变量”动作, 并添加:

重命名动作为“初始化strString变量”, 将实际变量命名为" strString ", 然后设置变量类型为“String”. 将Value设置为您想要的任何文本. 在我的例子中,我将值设置为“lorem ipsum”:

点击“+ New step”按钮,搜索“Scope”动作,然后点击添加它:

重命名Scope动作,就像你重命名上面的动作一样,并重命名为“Try”. 我们使用的是标准的Try-Catch-Finally错误捕获术语:

点击“Add a action”按钮,并使用上面列出的相同步骤添加“Set variable”操作. 将动作重命名为“Set intNumber variable”, 并确保在下拉菜单中选择变量" intNumber ":

将intNumber变量的值设置为“strText”变量. 我们需要这样做,因为您不能直接将整数值设置为一些文本. 这一步将导致我们的流故意失败. 点击Value字段,然后点击Expression按钮:

在表达式生成器中,粘贴以下表达式. 请注意,你的表达生成器可能看起来有点不同:
变量(“strText”)

点击“+ New step”按钮,搜索“Scope”动作,然后点击添加它. 将新的范围动作重命名为“Catch”:

首先点击“Catch”范围的菜单,选择“Configure run after”:

选择“失败”,然后点击“完成”按钮. 确保它是唯一选择的选项:

在“Catch”范围内,点击“Add an action”按钮,添加“Compose”动作:

点击“Inputs”字段,然后点击Expression按钮. 粘贴以下表达式. 请注意,你的表达生成器可能看起来不同:
结果(“试一试”)

点击“Catch”范围内的“Add an action”按钮,并添加“Filter array”动作:

点击“From”字段并选择动态内容按钮. 从compose步骤中选择“Outputs”:

在第一个“选择一个值”字段, 通过单击表达式按钮粘贴下面的表达式. 请注意,表达式生成器窗口可能看起来不同于你:
项目()?(的状态)

保持它为“等于”,并在右侧的“选择值”字段中输入“失败”. 它区分大小写:

点击“Add an action”并选择“Send an email (V2)”操作:

为组织中的“到”字段选择一个电子邮件地址,您希望发送错误电子邮件到那里. 在“工作流失败-”的主题类型中. 直接在主题的课文后面, 点击表达式按钮,粘贴如下表达式:
工作流()['标签'][' 流Display的名字 ']

点击“代码视图”按钮,清除正文内容. 将以下代码粘贴到邮件正文中:


The @{工作流()['标签'][' 流Display的名字 ']} 流 failed.



Flow Run: @{concat('http://us.流.微软.com/manage/environments/”, 工作流()['标签'][' environment的名字 '], “/流/”, 工作流()['标签'][' logicApp的名字 '], ' / / '运行, work流()['run']['name'])}



Error Message: @{concat(body('Filter_array')[0]?['name'], ' - ', body('Filter_array')[0]?(错误的)?['信息'])}



点击“Catch”范围后的“+ New step”按钮, 搜索“Scope”操作, 然后点击添加. 将新的作用域操作重命名为“Finally”:

首先点击“Finally”范围的菜单,选择“Configure run after”:

选择所有选项,然后点击“完成”按钮. “Finally”作用域将运行,而不考虑任何失败或超时. 这是为了让你可以根据它是否失败而做其他行动:

在“Finally”范围内,您可以添加任何其他您认为必要的操作. 我喜欢在流失败的“Catch”范围内设置另一个变量. 然后,我可以使用该变量作为失败或成功终止流. 这里有创造力.

测试完流量后, 你会收到一封电子邮件,告诉你为什么流失败的有用信息,以及流运行的链接,以便进一步分析:

sharepoint快乐!