エラー処理によって、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" スコープを作成します。 メイン スコープでエラーが発生した場合は、エラー処理スコープをトリガーしてエラーを管理できます。 "Try" スコープが失敗した場合に実行するように "Catch" スコープを構成します。
フィルター配列 アクションを使用して、Result 関数を フィルターして失敗したエラーを取得します。
HTML テーブルの作成 アクションを使用して、この応答から HTML テーブルを作成し、電子メール アラートを送信したり、エラー ログ テーブルに詳細を保存したりできます。
再試行ポリシーの実装
指数関数的な再試行ポリシーを実装することで、一時的なエラーを効果的に管理し、自動化されたワークフローの信頼性を高めることができます。 フロー設定の再試行ポリシーは一時的なエラー (多くの場合、アクションを再試行することで解決できる一過性の問題) を処理するように設計されています。
チップ
指数関数的な再試行ポリシーを選択すると、時間の経過とともに再試行期間が延長され、アクションが正常に完了する可能性が高まるためです。
一時的なエラーは、ネットワークの問題、サービスの使用不可、またはその他の断続的な問題が原因で発生する一時的なものです。 再試行ポリシーは、指定した間隔の後にアクションを再試行することで、これらのエラーを管理するのに役立ちます。 詳細情報: 一時的なエラーの処理に関する推奨事項
指数型再試行ポリシーは、短い再試行間隔から始まり、再試行間隔を徐々に長くしていきます。 このアプローチにより、頻繁な再試行でシステムが過負荷になるのを回避し、問題が解決するまでの時間を増やすことができます。
指数関数的な再試行ポリシーの例を考えてみます。
- 最初の再試行は 1 分後に行われる場合があります。
- 2 分後の 2 回目の再試行。
- 4 分後に 3 回目の再試行を行います。
指数関数的な再試行ポリシーは、システムに過度の負荷をかけることなく、成功の可能性を高めます。
再試行ポリシーを構成する方法:
- Power Automate でフローを開き、構成するアクションの設定に進みます。
- 再試行ポリシーで指数オプションを選択し、必要に応じて初期間隔と最大再試行回数を構成します。
- フローのパフォーマンスを監視し、必要に応じて再試行設定を調整して、特定のユース ケースに合わせて最適化します。
終了アクションの使用
終了 アクションを使用してフローを停止し、特定の状態 (成功、失敗、またはキャンセル) を設定します。 エラーによってフローを明示的に停止する必要がある場合は、終了アクションを追加します。 たとえば、重大なエラーが発生した場合は、終了 アクションを使用してフローを停止し、ステータスを 「失敗」 に設定して、それ以上のアクションが実行されないようにすることができます。 フローが失敗した理由をさらにデバッグするための状態とメッセージを提供します。
ログと通知の実装
ログと通知を実装して、エラーを監視および追跡します。 アクションを使用して、エラーの詳細をデータベース、SharePoint リスト、またはその他のストレージ ソリューションに記録します。 通知を設定して、エラーが発生したときに関連する関係者に警告します。 たとえば、エラーが検出された場合は、エラーの詳細を記録し、サポート チームに電子メール通知を送信して、すぐに対応できるようにします。
カスタム ロギングを使用する代わりに、Power Automate で Application Insights を設定し、クラウド フロー実行の失敗に対するアラートを作成することができます。
フロー修復メールを使用する
Power Automate フローサービスでは、接続の切断やスロットリングの問題など、一般的または重大なエラーが発生した場合に、フロー所有者に電子メールアラートを送信します。 メールアラートには、詳細なエラー情報とトラブルシューティングのヒントが含まれています。