次の方法で共有


堅牢なエラー処理を採用する

エラー処理によって、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() 関数からの応答を解析します。

ワークフロー関数の JSON を解析している画面のスクリーンショット。

コンポーズアクションを使用して、フロー実行 URL を作成します。 この URL を使用して、通知メール内のフロー実行に直接リンクするか、エラーをログに記録するテーブルに保存します。

この例では、コンポーズ アクションの入力として以下を使用します:

https://make.powerautomate.com/environments@{body('Parse_JSON')?['tags']?['environmentName']}/flows@{body('Parse_JSON')?['tags']?['logicAppName']}/runs@{body('Parse_JSON')?['run']}

コンポーズ アクションを使用してフローの実行 URL を作成するスクリーンショット。

注意

このオプションは、カスタムログが過剰になり、アクション数が増加し、全体的なパフォーマンスに悪影響を与える可能性があるため、慎重に使用してください。 使いすぎると、頻繁なアラートとアクションによってワークフローの効率と有効性が低下するアンチパターンにつながる可能性があります。

アクションをエラー処理のスコープにグループ化する

関連するアクションをスコープにグループ化し、スコープを使用してエラーをまとめて処理します。 スコープを使用して try-catch パターンを実装し、エラーを管理できます。 メイン アクションの "Try" スコープと、エラー処理の "Catch" スコープを作成します。 メイン スコープでエラーが発生した場合は、エラー処理スコープをトリガーしてエラーを管理できます。 "Try" スコープが失敗した場合に実行するように "Catch" スコープを構成します。

Try スコープが失敗した場合にのみ実行するように Catch スコープを構成するスクリーンショット。

フィルター配列 アクションを使用して、Result 関数を フィルターして失敗したエラーを取得します。

フィルター配列アクションを使用して、result 関数からの応答を フィルター するスクリーンショット。

HTML テーブルの作成 アクションを使用して、この応答から HTML テーブルを作成し、電子メール アラートを送信したり、エラー ログ テーブルに詳細を保存したりできます。

再試行ポリシーの実装

指数関数的な再試行ポリシーを実装することで、一時的なエラーを効果的に管理し、自動化されたワークフローの信頼性を高めることができます。 フロー設定の再試行ポリシーは一時的なエラー (多くの場合、アクションを再試行することで解決できる一過性の問題) を処理するように設計されています。

チップ

指数関数的な再試行ポリシーを選択すると、時間の経過とともに再試行期間が延長され、アクションが正常に完了する可能性が高まるためです。

一時的なエラーは、ネットワークの問題、サービスの使用不可、またはその他の断続的な問題が原因で発生する一時的なものです。 再試行ポリシーは、指定した間隔の後にアクションを再試行することで、これらのエラーを管理するのに役立ちます。 詳細情報: 一時的なエラーの処理に関する推奨事項

指数型再試行ポリシーは、短い再試行間隔から始まり、再試行間隔を徐々に長くしていきます。 このアプローチにより、頻繁な再試行でシステムが過負荷になるのを回避し、問題が解決するまでの時間を増やすことができます。

指数関数的な再試行ポリシーの例を考えてみます。

  • 最初の再試行は 1 分後に行われる場合があります。
  • 2 分後の 2 回目の再試行。
  • 4 分後に 3 回目の再試行を行います。

指数関数的な再試行ポリシーは、システムに過度の負荷をかけることなく、成功の可能性を高めます。

再試行ポリシーを構成する方法:

  1. Power Automate でフローを開き、構成するアクションの設定に進みます。
  2. 再試行ポリシーで指数オプションを選択し、必要に応じて初期間隔と最大再試行回数を構成します。
  3. フローのパフォーマンスを監視し、必要に応じて再試行設定を調整して、特定のユース ケースに合わせて最適化します。

クラウド フローの再試行ポリシー設定のスクリーンショット。

終了アクションの使用

終了 アクションを使用してフローを停止し、特定の状態 (成功、失敗、またはキャンセル) を設定します。 エラーによってフローを明示的に停止する必要がある場合は、終了アクションを追加します。 たとえば、重大なエラーが発生した場合は、終了 アクションを使用してフローを停止し、ステータスを 「失敗」 に設定して、それ以上のアクションが実行されないようにすることができます。 フローが失敗した理由をさらにデバッグするための状態とメッセージを提供します。

終了アクションを構成するスクリーンショット。

ログと通知の実装

ログと通知を実装して、エラーを監視および追跡します。 アクションを使用して、エラーの詳細をデータベース、SharePoint リスト、またはその他のストレージ ソリューションに記録します。 通知を設定して、エラーが発生したときに関連する関係者に警告します。 たとえば、エラーが検出された場合は、エラーの詳細を記録し、サポート チームに電子メール通知を送信して、すぐに対応できるようにします。

カスタム ロギングを使用する代わりに、Power Automate で Application Insights を設定し、クラウド フロー実行の失敗に対するアラートを作成することができます。

フロー修復メールを使用する

Power Automate フローサービスでは、接続の切断やスロットリングの問題など、一般的または重大なエラーが発生した場合に、フロー所有者に電子メールアラートを送信します。 メールアラートには、詳細なエラー情報とトラブルシューティングのヒントが含まれています。