错误处理可确保 Power Automate 自动工作流的可靠性和稳健性。 实施这些关键策略以快速有效地识别和解决问题。
配置“运行条件”设置
使用运行条件设置可指定在操作失败、超时、跳过或成功时应发生的情况。 对于每个操作,您都可以设置条件,根据前一个操作的结果确定下一步。 此方法允许您创建用于错误处理的替代路径。 例如,如果操作失败,可以配置发送通知或记录错误详情作为下一个操作。
在本例中,当流在更新行步骤失败时,用户会收到一封电子邮件:
您还可以使用 Power Automate 中的 workflow()
函数获取流运行的详细信息,包括当前环境 GUID、流名称、流 GUID 和运行 ID。
workflow()
json 模式如下:
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"location": {
"type": "string"
},
"tags": {
"type": "object",
"properties": {
"flowDisplayName": {
"type": "string"
},
"environmentName": {
"type": "string"
},
"logicAppName": {
"type": "string"
},
"environmentFlowSuspensionReason": {
"type": "string"
},
"state": {
"type": "string"
},
"createdTime": {
"type": "string"
},
"lastModifiedTime": {
"type": "string"
},
"createdBy": {
"type": "string"
},
"triggerType": {
"type": "string"
}
}
},
"run": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
}
}
使用带有 JSON 模式的解析 JSON 操作来解析来自 workflow()
函数的响应。
使用撰写操作创建流运行 URL。 使用此 URL 可直接链接到通知电子邮件中的流运行,或将其存储到记录错误的表中。
在本示例中,以下内容用作撰写操作的输入:
https://make.powerautomate.com/environments@{body('Parse_JSON')?['tags']?['environmentName']}/flows@{body('Parse_JSON')?['tags']?['logicAppName']}/runs@{body('Parse_JSON')?['run']}
注意
请谨慎使用此选项,因为它会导致过多的自定义日志记录和操作数量增加,从而可能对整体性能产生负面影响。 过度使用会导致反模式,即频繁的警报和操作会降低工作流的效率和效果。
将操作分组到作用域中,以便处理错误
将相关操作分组到作用域中,并使用作用域集体处理错误。 您可以使用作用域实现 try-catch 模式来管理错误。 为主要操作创建“Try”作用域,为错误处理创建“Catch”作用域。 如果主作用域发生错误,可以触发错误处理作用域来管理错误。 将“Catch”范围配置为在“Try”范围失败时运行。
使用筛选数组操作来过滤结果函数以获取失败的错误。
您可以使用创建 HTML 表操作从该响应创建 HTML 表格,以发送电子邮件提醒或将详细信息存储在错误日志表中。
执行重试策略
通过实施指数重试策略,您可以有效地管理暂时性故障并增强自动化工作流的可靠性。 流设置中的重试策略设计用于处理瞬时故障,即通常可以通过重试操作来解决的临时问题。
小费
选择指数重试策略是因为它们可以延长重试时间,增加成功完成操作的机会。
暂时性故障是由于网络问题、服务不可用或其他间歇性问题而发生的暂时性错误。 重试策略可在指定时间间隔后再次尝试执行操作,从而帮助管理这些故障。 了解更多信息:处理瞬时故障的建议
指数重试策略从较短的重试间隔开始,逐渐延长重试间隔。 此方法有助于避免频繁重试使系统不堪重负,并为解决问题留出更多时间。
请考虑以下指数重试策略示例:
- 第一次重试可能会在 1 分钟后发生。
- 2 分钟后第二次重试。
- 4 分钟后第三次重试,依此类推。
指数重试策略可提高成功的可能性,而不会对系统造成过大负载。
要配置重试策略:
- 在 Power Automate 中打开流,进入要配置的操作的设置。
- 选择重试策略下的指数选项,并根据需要配置初始间隔和最大重试次数。
- 监视流的性能,并根据需要调整重试设置,以针对特定用例进行优化。
使用终止操作
使用终止操作停止流并设置特定状态(成功、失败或取消)。 当出现错误需要明确停止流时,可添加终止操作。 例如,如果发生严重错误,可以使用终止操作停止流,并将状态设置为“失败”,确保不再执行其他操作。 提供状态和消息以进一步调试流失败的原因。
实施日志记录和通知
实施日志记录和通知以监视和跟踪错误。 使用操作将错误详细信息记录到数据库、SharePoint 列表或其他存储解决方案中。 设置通知,以便在发生错误时提醒相关利益干系人。 例如,如果检测到错误,请记录错误详细信息,并向支持团队发送电子邮件通知,以便立即关注。
您可以使用 Power Automate 和为云端流运行失败创建警报来设置 Application Insights,而不是使用自定义日志。
使用流补救电子邮件
Power Automate 流服务会针对常见或严重故障(如连接中断或限流问题)向流所有者发送电子邮件警报。 电子邮件警报包括详细的错误信息和故障排除提示。