ADVERTISEMENT

【Power Automate】ソリューション内フローで困った時の実行履歴から原因を読む方法

【Power Automate】ソリューション内フローで困った時の実行履歴から原因を読む方法
🛡️ 超解決

Power Automateのソリューション内フローが突然エラーで止まってしまい、どこを見れば原因がわかるのか迷った経験はありませんか。フローが他のソリューションコンポーネントと連携している場合、エラーの影響範囲が広がる前に素早く対処する必要があります。実行履歴には各アクションの成功・失敗やエラーメッセージが記録されており、これを正しく読めば原因の切り分けが可能です。本記事では、ソリューション内フローの実行履歴を開く手順から、エラーの種類ごとの読み解き方、管理者に確認すべきポイントまでを実務的に解説します。

【要点】この記事で確認すること

  • 最初に見る場所: フローの「実行履歴」タブ内の該当実行をクリックした後の「詳細」ペイン、特に「アクション」タブのエラーステップと出力メッセージ。
  • 切り分けの軸: エラーの種類(HTTPエラー、式エラー、権限エラー、スロットリングエラー)と、それが発生したアクション、および直前のアクションの出力を確認する。
  • 注意点: ソリューション内フローは環境全体のソリューションに依存するため、実行履歴だけでなくソリューションの変更履歴やコネクタの設定も管理者と連携しながら確認する必要がある。

ADVERTISEMENT

ソリューション内フローの実行履歴を開くまでの手順

まずは実行履歴にアクセスする方法を確認します。ソリューション内フローは、通常のフローと同じようにPower Automateポータルから開くことができますが、ソリューションに含まれている場合はソリューション経由でもアクセスできます。

  1. Power Automateポータル(make.powerautomate.com)にサインインし、左側のナビゲーションから「ソリューション」を選択します。
  2. 目的のソリューションを開き、一覧から対象のフローをクリックします。フローが表示されない場合は、上部のフィルターで「クラウドフロー」を選択してください。
  3. フローの詳細画面が開いたら、上部メニューの「実行履歴」タブをクリックします。ここに過去の実行一覧が表示されます。
  4. 確認したい実行の行をクリックすると、右側に「詳細」ペインが表示されます。ここで全体的なステータス(成功・失敗・キャンセル)や実行時間が確認できます。
  5. さらに詳しく原因を調べるには、「詳細」ペインの「アクション」タブを開きます。各アクションの入力と出力、エラーメッセージが表示されるので、エラーが発生したアクションを特定します。

ソリューション内フローは通常のフローと実行履歴の保存場所は同じですが、ソリューションのバージョン管理が有効な場合は、実行履歴とソリューションのバージョンが関連づけられている点に注意してください。これは後述のトラブルシューティングで重要な手掛かりになります。

実行履歴の画面構成と見るべき項目

実行履歴の詳細ペインには、いくつかのタブがあります。それぞれのタブが示す情報を理解することで、原因の特定がスムーズになります。

「詳細」タブの基本情報

実行の開始日時、終了日時、ステータス、トリガーの種類が表示されます。「再送信」ボタンから同じ入力を用いてフローを再実行することも可能です。ステータスが「失敗」の場合、このタブにエラーコード(例:InvalidTemplate)が表示されることがあります。

「アクション」タブの詳細なログ

フロー内の各アクションが時系列に並び、各アクションの「入力」「出力」を展開して確認できます。エラーが発生したアクションには赤いアイコンとエラーメッセージが表示されます。特に「出力」の「body」や「statusCode」の値が原因を特定する鍵になります。

「生の入力」と「生の出力」の使い方

「アクション」タブの各アクションには「生の入力」と「生の出力」を表示するリンクがあります。これらはJSON形式で、式の評価結果やコネクタからの実際のレスポンスを確認するのに役立ちます。特に動的な値が期待通りに渡っていない場合、この生データを比較することで問題点が浮かび上がります。

エラーの種類と原因の特定方法

実行履歴に表示されるエラーはいくつかのパターンに分類できます。それぞれの特徴と読み解き方を押さえておきましょう。

エラーの種類 症状(実行履歴での表示) 主な原因と確認すべき箇所
HTTPエラー(4xx/5xx) アクションの出力に「statusCode: 400」などが表示され、エラーメッセージにAPIの詳細が含まれる。 接続先のサービス側の問題、認証トークンの期限切れ、リクエストパラメータの誤り。アクションの「出力」のbodyを確認。
式エラー(InvalidTemplate) アクションの「エラー」に「式の評価に失敗しました」と表示され、詳細に関数名や引数が示される。 式の中のnull参照、型不一致、存在しないプロパティへのアクセス。式をコピーして別途テストする。
権限エラー(AccessDenied) アクションが「アクセスが拒否されました」で失敗し、コネクタの参照が表示される。 フローを実行するユーザー(所有者)または接続参照の権限不足。管理者にロール割り当てを依頼。
スロットリングエラー(429) アクションの出力に「statusCode: 429」と「Retry-After」ヘッダーが含まれる。 APIの呼び出し制限超過。循環参照や大量のループが原因の場合がある。フローの設計を見直す必要がある。

上記の表を参考に、エラーメッセージに含まれる具体的な文字列を検索することで、対応方法を素早く見つけられます。ただし、ソリューション内フローでは、環境全体のデータ損失防止(DLP)ポリシーやコネクタの使用制限が原因となるケースもあります。その場合は管理者によるポリシー変更が必要です。

よくあるエラーパターンとその対応例

実際の現場でよく遭遇するエラーパターンをいくつか紹介します。これらは実行履歴の読み方の練習としても有効です。

パターン1: 「BadRequest」が表示され、SharePointのリストアイテムが取得できない

実行履歴のアクション「アイテムの取得」で「BadRequest」と出た場合、指定したリスト名やサイトアドレスが誤っている可能性が高いです。アクションの「入力」を確認し、リスト名が動的に構成されている場合は、式の結果を「生の入力」でチェックしてください。よくあるのは、リスト名のスペルミスや、リストが存在しないサイトを参照しているケースです。

パターン2: 「Forbidden」が表示され、HTTPアクションが失敗する

ソリューション内フローでカスタムコネクタやHTTPアクションを使っている場合、認証に使用しているAzure ADアプリの権限が不足している可能性があります。実行履歴のアクション出力に「Forbidden」または「401 Unauthorized」が含まれていたら、接続参照の認証情報を確認し、必要に応じて管理者にAzure ADアプリのAPIアクセス許可を追加してもらってください。

パターン3: 「ExpressionEvaluationFailed」が頻発する

式エラーが特定のアクションで繰り返し発生する場合、テーブルや配列の処理でnull値が混入していることが考えられます。例えば、apply_to_eachの中で「items(‘Apply_to_each’)?[‘Property’]」と書いているときに、一部のアイテムにそのプロパティがないとエラーになります。実行履歴の該当アクションの「入力」で、ループの各アイテムの構造を確認し、式に「?」オプショナルアクセサを追加するなどの対処を行ってください。

管理者に確認すべきポイント

ソリューション内フローは、個人のフローと異なり組織全体の設定に依存する部分が多くあります。実行履歴の情報だけでは解決できない場合、以下の項目を管理者に確認しましょう。

  1. データ損失防止(DLP)ポリシー:フローで使用しているコネクタがポリシーでブロックされていないか。実行履歴にポリシーに関するエラーは直接表示されませんが、特定のコネクタだけが失敗する場合はDLPを疑います。
  2. 環境の容量制限:実行履歴に「QuotaExceeded」というエラーが含まれる場合、API要求数やフロー実行数の制限に達している可能性があります。管理者に環境の割り当てを確認してもらってください。
  3. ソリューションのバージョン管理:ソリューションに追加されたフローは、公開プロセスを経て運用されます。実行履歴に記録されるフローのバージョンが、ソリューションの最新バージョンと一致しているか確認してください。古いバージョンが実行されている場合、変更内容が反映されていないことがあります。
  4. コネクタの接続参照:ソリューション内フローでは接続参照を使用することが推奨されます。実行履歴に「接続がありません」というエラーが出た場合、接続参照が正しく設定されているか、または参照先の接続が有効かを管理者に確認します。

実行履歴を活用したトラブルシューティングの流れ

ここまでの知識を踏まえて、実際にトラブルシューティングを行う際の流れを整理します。

  1. 実行履歴から失敗した実行を選択し、最初のエラーアクションを特定します。複数のアクションがエラーになる場合、最初のエラーが後続に影響していることが多いです。
  2. エラーメッセージを読んで種類を判別します。上記の表を参考に、HTTPエラー・式エラー・権限エラー・スロットリングエラーのどれに該当するか判断します。
  3. 該当アクションの「入力」と「出力」を展開し、期待値と実際の値を比較します。特に動的な値が含まれる場所は、生の入力を確認してください。
  4. 必要に応じてフローを編集し、修正を加えます。ソリューション内フローの場合は、変更後ソリューションを公開しないと他のユーザーに反映されない点に注意します。
  5. 修正後、テスト実行を行い、実行履歴で再度確認します。同じエラーが再現しないか、新しいエラーが発生していないかをチェックします。

この手順を踏むことで、多くの原因は特定できるはずです。それでも解決しない場合は、Power Automateのサポートコミュニティや管理者にエラーメッセージのスクリーンショットを添えて問い合わせるとスムーズです。

よくある質問(FAQ)

Q1. 実行履歴にエラーが表示されないのにフローが動いていないように見えるのですが。
フローがトリガーされていない可能性があります。トリガーの条件やスケジュール設定を確認してください。実行履歴にトリガーレコード自体が存在しない場合は、トリガーが発火していない証拠です。また、ソリューション内フローでは、フロー自体が無効になっていないかも確認しましょう。

Q2. 「アクション」タブにエラーの詳細が表示されず、ステータスだけ「失敗」と出る場合の対処法は?
まれにUIの表示バグで詳細が読み込めないことがあります。その場合は、該当実行の「再送信」をクリックして同じ入力を再実行してみてください。再実行後も同じ現象なら、ブラウザのキャッシュをクリアするか、別のブラウザで試してください。それでも解決しない場合は、Power Automateのサポートに問い合わせる必要があります。

Q3. ソリューション内フローと通常のフローで実行履歴の見方は変わりますか?
基本的なUIは同じですが、ソリューション内フローでは「ソリューション」メニューからアクセスする点と、バージョン情報が関連づけられている点が異なります。また、実行履歴の保持期間は環境の設定に依存しますが、通常のフローと変わりません。

まとめ

ソリューション内フローの実行履歴を正しく読むことで、エラーの原因を効率的に特定できます。最初に実行履歴を開き、エラーが発生したアクションとその出力に注目してください。エラーの種類を判別し、表を参考にして適切な対応を行えば、多くの問題は解決します。管理者に確認すべきポイントも事前に整理しておくことで、問い合わせがスムーズになります。フローの安定運用のために、実行履歴を日々のメンテナンスに活用してください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT