オーケストレーションでのエラー処理
エラー処理では、オーケストレーションの実行中に段階的に発生する予期しない問題を管理します。フェーズの障害パスを設定して、フェーズエラーが発生したときの復旧アクションを定義し、オーケストレーションが失敗するのではなく正常に完了するようにします。
必要なエディション
| フローオーケストレーションでサポートされるエディションを表示します。 |
全般
オーケストレーションの実行でエラーが発生すると、その状況は [エラー] に設定されます。フェーズ内で発生したエラーの多くは回復可能です。これらのエラーの場合、エラーを修正してオーケストレーションの実行を再開するまで最大 14 日の猶予があります。フェーズ外でエラーが発生すると、オーケストレーションの実行は失敗し、再開できません。「オーケストレーション実行での失敗したオーケストレーションの再開」を参照してください。
再開するには、基盤となるフローまたはエラーを修正し、オーケストレーションの実行を再開する必要があります。このアプローチは、オーケストレーションデザイナーが設計時に設定する障害パスとは異なります。障害パスはエラーを適切に処理し、エンドユーザーに復旧メカニズムまたは手動介入ステップを提供します。
オーケストレーションの実行が失敗すると、Salesforceはオーケストレーションを最後に変更した管理者またはApex例外メールの受信者にエラー メールを送信します。エラーメールには、実行された要素や参照されたステップなど、オーケストレーション実行に関する詳細が表示されます。有効なオーケストレーションの場合、メールには失敗したオーケストレーション実行の詳細を Flow Builder で表示するためのリンクも記載されます。オーケストレーションによってコールされたフローが失敗の原因である場合、受信者はオーケストレーション用とコールされたフロー用の 2 つのエラーメールを受信します。
障害パスでエラーが処理され、正常に完了しても、オーケストレーションからエラー通知は送信されません。ただし、障害発生時に関係者に通知するバックグラウンドステップを障害パスに追加できます。
エラーを管理するには、オーケストレーションのフェーズの障害パスを設定します。フェーズまたはそのステップでエラーが発生した場合は、これらのパスでプロセスの失敗を最小限に抑える代替アクションを定義します。
失敗したオーケストレーションは以前のすべてのレコード変更をロールバックするとは限らないため、本番にリリースする前に Sandbox 環境でオーケストレーションを設計およびデバッグします。
未対応のエラーと状況の変更
オーケストレーションの実行中に問題が発生し、回復メカニズムが存在しない場合、未対応のエラーが発生します。オーケストレーションの場合、フェーズまたはステップでエラーが発生し、そのフェーズに障害パスが設定されていないと、未対応のエラーが発生します。
| 項目 | 条件 | 状況 |
|---|---|---|
| オーケストレーションの実行 | エラーが発生しました | エラー |
| ステージ実行 | オーケストレーション実行レベルのエラーが発生したときにフェーズが進行中だった | 中止 |
| ステージ実行 | エラーの原因となったフェーズまたはフェーズ内のステップ | エラー |
| ステップ実行 | フェーズ内のステップでエラーが発生した | エラー |
| ステップ実行 | エラーが発生する前にフェーズ内のステップが開始されなかった | 未開始 |
| ステップ実行 | エラーが発生したときにフェーズ内のステップが進行中であった | 中止 |
オーケストレーションのエラー処理戦略
オーケストレーションのエラー処理では、ビジネスプロセスが正常に完了または正常に回復するように失敗を管理します。障害パスを使用して、フェーズやステップからエラーを管理します。個別の障害パスを使用して対象を絞ったリカバリを行ったり、一元化された障害パスを使用して包括的なエラー管理を行ったりできます。
障害パスは、オーケストレーションの実行でエラーが発生したときにエンドユーザーが手動で介入できるシナリオで役立ちます。たとえば、エンドポイントが停止しているため、外部インテグレーションまたは API コールが失敗するとします。障害パスには、割り当て先が必要なデータを手動で入力する対話型のステップを含めることができます。
障害パスは空にすることも、決定要素とフェーズ要素を含めることもできます。障害パスの各フェーズには少なくとも 1 つのステップが必要であり、複数のステップを含めることができます。これらのステップには、バックグラウンドステップ、対話型ステップ、またはその両方の組み合わせが含まれます。障害パスでは Go To コネクタもサポートされています。移動コネクタは、同じ障害パス、別の障害パス、またはオーケストレーションのメインパスの別の要素にリンクします。
個々の障害パス。オーケストレーションの各フェーズに個別の障害パスを設定します。これらの個々のパスには、各フェーズに固有のエラーを管理するステップを含む要素とフェーズが含まれます。このアプローチでは、高度にローカライズされたエラー解決が提供されます。たとえば、注文処理オーケストレーションで、在庫検証フェーズで接続タイムアウトによるエラーが発生したとします。障害パスでは、検証ステップを再実行したり、業務に通知を送信したり、手動レビューフェーズに転送したりできます。
一元化された障害パス。統合されたエラー処理メカニズムとして機能する 1 つの中央障害パスを設定します。通常、このアプローチは、オーケストレーションの実行に関連する変数と自動出力を評価する決定要素から開始します。この決定により、エラーが発生した特定のフェーズが特定されます。関連付けられた結果パスの要素は失敗に対応します。各フェーズの障害パスを中央の障害パスの最初の決定要素に接続します。このアプローチでは、包括的なエラー解決が提供されます。
たとえば、顧客のオンボーディングオーケストレーションでは、一元化された障害パスは決定要素から始まります。この決定では、エラーが発生したフェーズを評価し、適切な復旧アクションを決定します。
[Create Customer Account (顧客取引先を作成)] フェーズの状況が [Completed] でない場合、決定結果のパスにはバックグラウンドステップがあるフェーズが含まれます。このステップでは、取引先マネージャーにこの問題を通知します。[プロビジョニングシステム] フェーズの [サービスアクセスを設定] ステップが失敗した場合、決定結果のパスには 2 つのステップを含むフェーズが含まれます。バックグラウンドステップでサポートチケットが作成されます。対話型ステップでは、システム設定を IT チームに割り当てます。IT 部門が設定を完了すると、オーケストレーションはサービスの有効化フェーズに進みます。
エラー処理の制限事項
- オーケストレーション実行レベルのエラー処理を追加することはできません。
- 失敗したオーケストレーション実行のデバッグの詳細は、失敗から 14 日以内にのみ表示できます。
- 終了要素のみが含まれる障害パスでは、オーケストレーションの実行状況を [
Completed] に変更してエラーを処理します。この方法では、エラーを解決せずに抑制します。オーケストレーションの実行状況が [完了] の場合、Salesforce はエラー通知メールを送信しません。ただし、最初にエラーが発生したステップとフェーズは、オーケストレーションの実行状況が [完了] であっても [エラー] 状況のままです。

