Power Automateのエラー処理とリトライ設計の知識マップ(知識グラフ)
type: Dataset
description: Power Automateのクラウドフローは、基盤であるAzure Logic Appsの標準リトライポリシーにより一時的な障害の多くを自動的に吸収しますが、データ起因の失敗・権限や認証の切れ・仕様変更にはリトライが効かず、スコープによるTry-Catch-Finallyパターンで捕まえて通知し、Terminateアクションで実行を失敗として記録する必要があります。既定の失敗通知メールは既知の修正方法がある失敗に限られるため当てにできず、失敗の放置はフローの自動無効化や中断につながります。復旧の要となる再送信は処理を最初からやり直すため、処理済みフラグやupsert、トリガー条件による冪等な設計と、必要なら同時実行制御による直列化を組み合わせて、二重実行に強いフローにしておくことが実務上の要点です。

クラウドフロー
type: Concept
definition: Power Automateにおいて、クラウド上で動作しトリガーによって自動実行されるフロー(自動化フロー・スケジュールフロー・インスタントフロー)の総称。
alternative label: Cloud Flow
uses: Azure Logic Apps

標準リトライポリシー
type: Concept
definition: アクション(またはトリガー)の要求がタイムアウトするか408・429・5xx応答で失敗したときに、指数バックオフ等で自動的に再試行するPower Automateの既定の仕組み。
alternative label: retry policy
alternative label: リトライポリシー
mitigates: 一時的な障害
not recommended for: データ起因の失敗
not recommended for: 権限・認証切れによる失敗
not recommended for: 仕様変更起因の失敗

Azure Logic Apps
type: Concept
definition: Power Automateのクラウドフローが基盤とする、Azureのワークフロー自動化サービス。
alternative label: Logic Apps

一時的な障害
type: Concept
definition: 接続先の瞬断・メンテナンス、スロットリング(429)、サーバーエラー(5xx)など、標準リトライで解決することが多い失敗の分類。

データ起因の失敗
type: Concept
definition: 想定外の空値・形式や参照先に存在しないIDなど、リトライしても直らない失敗の分類。

権限・認証切れによる失敗
type: Concept
definition: 接続の期限切れ、パスワード変更、担当者の退職・アカウント無効化など、再認証が必要でリトライでは直らない失敗の分類。
may cause: フローの自動無効化(14日ルール)

仕様変更起因の失敗
type: Concept
definition: SharePoint列名の変更や接続先APIのバージョン変更など、フローの修正が必要でリトライでは直らない失敗の分類。

スコープによるTry-Catch-Finallyパターン
type: Concept
definition: Tryスコープの失敗を実行条件の構成でCatchスコープに分岐させ、Finallyで後片付けを行う、Power Automateのエラー処理の定石。
alternative label: Try-Catch-Finally
recommended for: データ起因の失敗
recommended for: 権限・認証切れによる失敗
uses: 実行条件の構成(run after)
uses: Terminateアクション

実行条件の構成(run after)
type: Concept
definition: 各アクション(またはスコープ)が、直前のアクションの成功・失敗・スキップ・タイムアウトのどの状態で実行されるかを設定するPower Automateの機能。
alternative label: run after

Terminateアクション
type: Concept
definition: フロー実行全体を指定した状態(Failed等)で即座に終了させるPower Automateのアクション。

フローの自動無効化(14日ルール)
type: Concept
definition: トリガーやアクションが失敗し続ける、またはスロットリングされ続けるフローが14日で自動的にオフにされる仕組み。
verified by: フローの実行履歴

フローの中断(suspended)状態
type: Concept
definition: DLPポリシー違反や繰り返しの失敗によって、フローが動作を止められる状態。
alternative label: suspended

データ損失防止(DLP)ポリシー
type: Concept
definition: コネクタを業務データ専用・業務データ利用不可・ブロックに分類し、異なる分類のコネクタを同じフロー内で組み合わせられないようにするPower Platformのガバナンス機構。
alternative label: DLPポリシー
may cause: フローの中断(suspended)状態

クラウドフローの失敗通知
type: Concept
definition: 既知の直し方がある原因と判定された場合に限り実行単位のアラートが所有者・共同所有者へ送られる、Power Automate標準の失敗通知の仕組み。
alternative label: 失敗アラート
not recommended for: データ起因の失敗

フローの実行履歴
type: Concept
definition: クラウドフローの各実行の成否や詳細を確認できる画面で、既定では28日間しか表示されない。
alternative label: 実行履歴

再送信(Resubmit)
type: Concept
definition: 実行履歴から失敗した実行を選び、同じトリガーデータでフローを最初から実行し直す操作。
requires: フローの実行履歴

冪等な設計
type: Concept
definition: 同じ入力で何度実行しても結果が同じになるよう、処理済みフラグやupsert、トリガー条件などを組み合わせるフローの設計。
alternative label: idempotent design
recommended for: 再送信(Resubmit)
uses: upsert(あれば更新、なければ作成)
uses: トリガー条件(Trigger Conditions)

upsert(あれば更新、なければ作成)
type: Concept
definition: 一意になるキーで既存行を検索し、ヒットすれば更新、なければ作成する分岐にする設計パターン。
alternative label: upsert

トリガー条件(Trigger Conditions)
type: Concept
definition: `@`で始まる式でトリガーの起動条件を絞り込み、条件を満たさないイベントではフローの実行自体を発生させないPower Automateの設定。
alternative label: Trigger Conditions
alternative label: トリガー条件(trigger conditions)
prevents: 自己トリガーによる多重起動

自己トリガーによる多重起動
type: Concept
definition: フローが自分自身の書き戻しによって再びトリガーされ、意図せず多重に起動してしまう現象。
alternative label: フローの自己トリガーによる無限ループ
alternative label: 自己トリガーループ

同時実行制御(concurrency control)
type: Concept
definition: トリガー設定で並列実行数(並列度)を1〜100で指定できる、Power Automateの機能。一度オンにすると元に戻せない。
alternative label: Concurrency Control
mitigates: フロー実行間のダーティリード

フロー実行間のダーティリード
type: Concept
definition: 台帳の同じ行を複数のフロー実行が同時に読み書きし、古い値を読んで上書きしてしまう不整合。
alternative label: dirty read

subject: クラウドフロー
predicate: uses
object: Azure Logic Apps
description: Power Automateのクラウドフローの基盤はAzure Logic Appsであり、リトライポリシーや実行条件の構成などのエラー処理機構はこの基盤の仕様に従う
evidence: error-exception-handling
verified at: 2026-08-01
certainty: established

subject: クラウドフロー
predicate: uses
object: 標準リトライポリシー
description: クラウドフローのアクションの場合、最初から既定のリトライポリシーが組み込まれている。トリガーの失敗にはこの既定リトライは適用されず、フロー自体が起動しないまま終わる。
evidence: error-exception-handling
verified at: 2026-08-01
certainty: context-dependent

subject: 標準リトライポリシー
predicate: mitigates
object: 一時的な障害
description: 標準リトライは、要求がタイムアウトするか408・429・5xx応答で失敗したときに指数バックオフで再試行し、接続先の瞬断やスロットリングなど一時的な障害の多くを自動的に解消する
evidence: error-exception-handling
verified at: 2026-08-01
certainty: established

subject: 標準リトライポリシー
predicate: notRecommendedFor
object: データ起因の失敗
description: 400や404のようなデータ・設定起因のエラーは何度リトライしても同じ結果になるため、標準リトライを対処として当てにすべきではない
evidence: error-exception-handling
verified at: 2026-08-01
certainty: established

subject: 標準リトライポリシー
predicate: notRecommendedFor
object: 権限・認証切れによる失敗
description: 認証エラーや接続切れはリトライでは解決せず、再認証というフロー外の操作が必要になる
evidence: error-exception-handling
verified at: 2026-08-01
certainty: established

subject: 標準リトライポリシー
predicate: notRecommendedFor
object: 仕様変更起因の失敗
description: SharePoint列名の変更や接続先APIのバージョン変更のような仕様変更起因の失敗は、フローの修正が必要でリトライでは直らない
evidence: reducing-risk
verified at: 2026-08-01
certainty: established

subject: スコープによるTry-Catch-Finallyパターン
predicate: recommendedFor
object: データ起因の失敗
description: 本記事は、想定外の入力など直らないデータ起因の失敗をスコープによるTry-Catchで捕まえて通知する対処を推奨する
evidence: error-handling
verified at: 2026-08-01
certainty: established

subject: スコープによるTry-Catch-Finallyパターン
predicate: recommendedFor
object: 権限・認証切れによる失敗
description: 権限・認証切れの失敗もTry-Catchで検知し、通知につなげることが推奨される
evidence: error-handling
verified at: 2026-08-01
certainty: established

subject: スコープによるTry-Catch-Finallyパターン
predicate: uses
object: 実行条件の構成(run after)
description: スコープによるTry-Catch-Finallyパターンは、各スコープの実行条件の構成(run after)を成功以外の状態に変更することで成り立つ
evidence: error-exception-handling
verified at: 2026-08-01
certainty: established

subject: スコープによるTry-Catch-Finallyパターン
predicate: uses
object: Terminateアクション
description: Catch-Finallyパターンでは、Finallyの後片付けを終えたあとTerminateアクションで実行を状態Failedとして終了させ、失敗を実行履歴に残す
evidence: error-handling
verified at: 2026-08-01
certainty: established

subject: 権限・認証切れによる失敗
predicate: mayCause
object: フローの自動無効化(14日ルール)
description: トリガーやアクションが認証切れなどで失敗し続けるフローは14日で自動的にオフにされる
evidence: limits-and-config
verified at: 2026-08-01
certainty: established

subject: 権限・認証切れによる失敗
predicate: mayCause
object: フローの中断(suspended)状態
description: 繰り返しの失敗により、フローがDLPポリシー違反時と同様に中断(suspended)状態になっていることがある
evidence: fix-connection-failures
verified at: 2026-08-01
certainty: context-dependent

subject: データ損失防止(DLP)ポリシー
predicate: mayCause
object: フローの中断(suspended)状態
description: DLPポリシーの変更は予告なく即座に適用され、違反したフローを中断(suspended)状態にする
evidence: wp-data-loss-prevention
verified at: 2026-08-01
certainty: established

subject: クラウドフローの失敗通知
predicate: notRecommendedFor
object: データ起因の失敗
description: 実行単位の失敗アラートは接続切れやスロットリングなど「既知の修正方法がある失敗」の場合に限られ、一般的なデータ起因のアクション失敗では送られないため、検知手段として当てにできない
evidence: understand-flow-failure-notifications
verified at: 2026-08-01
certainty: established

subject: フローの自動無効化(14日ルール)
predicate: verifiedBy
object: フローの実行履歴
description: フローが失敗を放置されて自動無効化に近づいていないかは、実行履歴の定期確認で確認できる
evidence: missing-runs-or-triggers-history-for-a-flow
verified at: 2026-08-01
certainty: established

subject: 再送信(Resubmit)
predicate: requires
object: フローの実行履歴
description: 再送信は実行履歴の画面から対象の失敗した実行を開いて選ぶ操作であり、実行履歴を前提とする
evidence: fix-flow-failures
verified at: 2026-08-01
certainty: established

subject: 冪等な設計
predicate: recommendedFor
object: 再送信(Resubmit)
description: 再送信はフローを最初から実行し直すため、途中まで成功していた処理も再度実行される。二重に実行されても壊れないよう、冪等な設計を組み込んでおくことが本記事の推奨である
evidence: fix-flow-failures
verified at: 2026-08-01
certainty: established

subject: 冪等な設計
predicate: uses
object: upsert(あれば更新、なければ作成)
description: 冪等な設計は、無条件の「作成」ではなく一意キーで検索してあれば更新・なければ作成するupsertの形にすることで実現する
evidence: error-handling
verified at: 2026-08-01
certainty: established

subject: 冪等な設計
predicate: uses
object: トリガー条件(Trigger Conditions)
description: 冪等な設計は、トリガー条件で自己トリガーなど不要な起動そのものを止めることも含む
evidence: customize-triggers
verified at: 2026-08-01
certainty: established

subject: トリガー条件(Trigger Conditions)
predicate: prevents
object: 自己トリガーによる多重起動
description: トリガー条件は、フローが自分自身の書き戻しで再起動するような多重起動を、実行自体を発生させないことで防ぐ
evidence: customize-triggers
verified at: 2026-08-01
certainty: established

subject: 冪等な設計
predicate: uses
object: 同時実行制御(concurrency control)
description: 処理済みフラグやupsertだけでは同時に発生する重複トリガーへの原子的な保護にならないため、並行起動があり得るフローでは同時実行制御で並列度を1にして直列化することを併用する
evidence: optimize-power-automate-triggers
verified at: 2026-08-01
certainty: context-dependent

subject: 同時実行制御(concurrency control)
predicate: mitigates
object: フロー実行間のダーティリード
description: 同時実行制御で並列度を1にして直列化すると、複数の実行が台帳の同じ行を同時に読み書きして起きるダーティリードを防げる
evidence: optimize-power-automate-triggers
verified at: 2026-08-01
certainty: established