ADVERTISEMENT

【Power Automate】接続参照でつまずく時の実行履歴から原因を読む方法

【Power Automate】接続参照でつまずく時の実行履歴から原因を読む方法
🛡️ 超解決

Power Automateでフローを作成する際、接続参照は外部サービスとの連携に欠かせない要素です。しかし、接続参照が正しく設定されていないと、フロー実行時にエラーが発生し、原因特定に苦労することがあります。実行履歴にはエラーの詳細が記録されており、それを解釈できれば問題の早期解決が可能です。本記事では、接続参照に関するエラーが発生したときに、実行履歴から原因を読み解く具体的な方法を解説します。特に、エラーメッセージに隠された手がかりを見逃さないためのポイントも紹介します。

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

  • 最初に見る場所: フロー実行履歴の「エラー」または「失敗」ステップの詳細ペイン
  • 切り分けの軸: 接続参照の設定ミス(ID不整合、権限不足)か、接続自体の認証期限切れか、API側の問題か
  • 注意点: 接続参照は環境間で共有されるため、開発・テスト・本番で正しくリンクされているか確認が必要。安易に接続参照を削除すると他のフローに影響する可能性がある

ADVERTISEMENT

Power Automateにおける接続参照の仕組み

接続参照(Connection Reference)は、Power Automateで外部サービス(SharePoint、Outlook、SQL Serverなど)にアクセスするための接続情報を一元管理する仕組みです。フロー内で直接コネクタを指定する代わりに、接続参照を介することで、接続情報を環境間で容易に切り替えられます。例えば、開発環境ではテスト用の接続を、本番環境では本番用の接続を同じフローで利用できます。Power Platform環境ごとに接続参照を用意しておき、ソリューションとしてエクスポート・インポートする際に自動的にマッピングされる仕組みが用意されていますが、このマッピングが失敗するとエラーが発生します。

接続参照は、フロー内で「接続参照」という名前の変数として保持され、各アクションがその参照を利用して実際の接続を解決します。したがって、フローの実行時には、接続参照IDをもとに対象の環境内の接続インスタンスが検索されます。この検索に失敗したり、権限が不足したりすると、実行履歴にエラーが記録されます。

実行履歴の基本構造と見方

Power Automateの実行履歴は、フローが実行されるたびに記録され、最大28日間保持されます。フローの詳細画面で「実行履歴」タブを開くと、各実行の開始時刻、状態(成功・失敗)、継続時間などが一覧表示されます。失敗した実行をクリックすると、実行の詳細が表示され、各アクションのステータス(成功・失敗・スキップ)を確認できます。

エラーが発生したアクションを選択し、「エラー」タブを開くと、エラーメッセージとエラーコードが表示されます。接続参照関連のエラーでは、以下のようなメッセージがよく見られます。

  • 「Connection reference not found.」 – 指定された接続参照が存在しない、または削除された
  • 「Access denied.」 – 接続参照に対するアクセス権がない
  • 「The connection is invalid or expired.」 – 接続の認証トークンが期限切れ
  • 「Connection reference ‘xxx’ is missing.」 – ソリューションインポート時にマッピングが不足

エラーメッセージの横にある「コピー」ボタンで詳細をクリップボードにコピーすると、後で管理者と共有する際に便利です。

接続参照エラーが発生する代表的な原因

1. 接続参照のID不一致

フロー内で使用している接続参照のIDが、実際の環境に存在する接続参照のIDと一致していない場合に発生します。これは、フローを別の環境にインポートした際に、接続参照が自動的にマッピングされなかったケースでよく起こります。例えば、開発環境で作成したフローを本番環境にソリューションとしてインポートしたとき、接続参照のマッピングが手動で行われず、古いIDのまま残っていると、実行時に「Connection reference not found」エラーになります。

2. 接続自体の認証期限切れ

接続参照が指している実際の接続(例:Outlook接続)の認証トークンが期限切れになっていると、フロー実行時に認証エラーが発生します。これは、パスワード変更やMicrosoft 365の認証ポリシー変更によって引き起こされます。エラーメッセージには「AADSTS7000222」などのAzure ADエラーコードが含まれることがあります。

3. アクセス権限の不足

フローを実行するアカウント(またはサービスプリンシパル)が、接続参照に対して必要な権限を持っていない場合もエラーになります。特に、共有接続参照を使用している場合、所有者が権限を適切に設定しているか確認が必要です。実行履歴には「Forbidden」や「AccessDenied」といったエラーコードが表示されます。

実行履歴を使ったトラブルシューティング手順

ここでは、実行履歴のエラー詳細から原因を絞り込む具体的な手順を説明します。以下のステップに沿って確認してください。

  1. Power Automateポータル(https://make.powerautomate.com)にサインインし、該当フローを開きます。左側のメニューから「実行履歴」を選択します。
  2. 失敗した実行(アイコンが赤いバツ)をクリックして詳細を開きます。各アクションの一覧が表示されるので、赤く表示されたアクションをクリックします。
  3. 開いたアクションの詳細画面で「エラー」タブを選択します。エラーメッセージとエラーコード、そして「additional properties」セクションがあれば、そこに接続参照のIDが含まれている場合があります。
  4. エラーメッセージに「connection reference」という単語が含まれている場合、フローの設定を編集します。フローの編集画面で「接続参照」タブ(またはアクション内の接続設定)を開き、各参照のIDが実際に環境内に存在するか確認します。IDは「/providers/Microsoft.PowerApps/apis/shared_xxx/…」のような形式です。
  5. 接続参照が存在する場合、その接続参照が指す実際の接続(コネクタ)の状態を確認します。Power Automateの左メニュー「データ」→「接続」で、該当する接続を探し、「最終更新」や「状態」が有効かどうか確認します。期限切れの場合は「編集」から再認証します。
  6. 接続も有効な場合は、接続参照の権限設定を確認します。接続参照のプロパティ画面(「データ」→「接続参照」)で「共有」を開き、フロー所有者や実行アカウントが「編集者」または「ユーザー」として追加されているか確認します。不足していれば追加します。
  7. 上記のいずれでも解決しない場合、フローをソリューションとしてエクスポートし、JSONファイル内の「connectionReferences」セクションを直接確認します。古い接続参照IDがハードコードされていないか、またマッピングが正しいかを検証します。修正後は再度インポートしてテストします。

これらの手順により、ほとんどの接続参照エラーは原因を特定できます。それでも解決しない場合は、管理者に連携設定を確認してもらいましょう。

失敗パターンとその対処法(比較表)

実際に遭遇しやすい失敗パターンと、その対処法を表にまとめました。自分が直面している状況と照らし合わせてください。

エラーパターン よくある原因 確認すべき実行履歴の内容 対処法
Connection reference not found 接続参照IDが存在しない、または削除された エラーメッセージに参照IDが含まれる 正しい接続参照IDに修正するか、新しい接続参照を作成してマッピングし直す
The connection is invalid (AADSTS7000222) 接続の認証期限切れ、パスワード変更 エラーコード: InvalidAuthenticationToken 該当コネクタの設定画面で接続を編集し、再ログインする
Access denied (Forbidden) 接続参照に対する権限不足 エラーコード: Forbidden 接続参照の共有設定で該当ユーザーに編集権限を付与する
Connection reference mismatch after import 環境インポート後の自動マッピング失敗 エラーメッセージに「existing connection reference」と表示 フロー設定の接続参照タブで、各参照を手動で正しい接続にリンクし直す

管理者に確認すべき設定

個人で対処できない場合、管理者に以下の項目を確認してもらう必要があります。特に、組織全体のPower Platform環境やデータ損失防止(DLP)ポリシーが影響しているケースがあります。

  • 環境の接続参照一覧: Power Platform管理センターで、該当環境に正しい接続参照が存在するか、また削除されていないか確認してもらう。ソリューション内の接続参照が「未解決」になっていないかもチェック。
  • DLPポリシー: フローで使用するコネクタがビジネスデータグループに分類されているか、またはブロックされていないか。特に「HTTP」や「カスタムコネクタ」を使用している場合は注意。
  • サービスプリンシパルの権限: フローをサービスプリンシパル(アプリ登録)で実行している場合、そのプリンシパルに接続参照の使用権限があるか。また、Azure ADで適切なAPIアクセス許可が付与されているか。
  • テナント間の接続: 複数テナントにまたがる接続参照を使用している場合、対応しているか。ゲストユーザーやB2Bコラボレーションの設定が必要なことがあります。
  • Power Automateのライセンス: 一部のコネクタやプレミアム機能には適切なライセンス(Per flowやPer user)が必要です。ライセンス不足がエラーの原因になることもあります。

管理者に依頼する際は、実行履歴のエラー詳細(スクリーンショットやエラーコード)を添えて伝えるとスムーズです。また、接続参照のIDが分かれば、そのIDも伝えることで調査が容易になります。

よくある質問(FAQ)

Q: 実行履歴にエラーが表示されないのですが、どうすればよいですか?

フローがトリガーされていない可能性があります。まず、フローのトリガー条件を確認し、テスト実行を行ってください。また、実行履歴のフィルターで「すべての実行」を選択すると、過去の実行も表示されることがあります。フィルターが「成功」のみになっていないか確認しましょう。

Q: 接続参照を修正したのに、同じエラーが続きます。

修正が反映されていない可能性があります。フローを保存した後、一度無効化して再度有効化すると、キャッシュがクリアされることがあります。それでも解決しない場合は、フローを新規作成し直すか、ソリューションから再インポートすることを検討してください。また、接続参照の変更がすべてのアクションに適用されているか確認します。

Q: 接続参照のIDが間違っているのですが、どこで確認できますか?

フローの編集画面で、各アクションの設定に「接続参照」の項目があります。その横に表示されるID(例: “shared_opportunity_…” )が接続参照のIDです。また、Power Platform管理センターの「接続参照」一覧でも確認できます。IDは環境ごとに一意ですので、コピーして比較すると確実です。

Q: 接続参照を削除してしまいました。元に戻せますか?

接続参照を削除すると、それを参照しているすべてのフローがエラーになります。削除後に同じIDで再作成することはできません(IDは自動生成のため)。そのため、新しい接続参照を作成し、各フローの接続参照を新しいものに変更する必要があります。削除前に必ずバックアップを取るか、影響範囲を確認してください。

まとめ

接続参照のエラーは、実行履歴のエラーメッセージを正しく読むことで多くの場合原因を特定できます。重要なのは、エラーコードやメッセージに含まれるキーワードから、接続参照自体の問題か、接続の認証問題か、権限の問題かを切り分けることです。本記事で紹介した手順と比較表を参考に、効率的にトラブルシューティングを行ってください。また、管理者と連携して環境設定を見直すことで、再発防止につなげることができます。日頃から接続参照の管理状態を定期的に確認し、ソリューションのインポート時にはマッピングを慎重に行う習慣をつけるとよいでしょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT