Power Automate Statuscode 429とは?改善方法は?わかりやすく解説

Power Automateの「429エラー」とは?「ちょっと待って!」の意味とスムーズな改善方法を徹底解説!

 

「Power Automate(パワー・オートメイト)のフローが動いている途中で、『429 Too Many Requests』ってエラーが出たんだけど、これってどういう意味?」「このエラーが出ると、フローが途中で止まっちゃうから困るんだよね。どうすれば直せるのかな?」

こんな風に感じたことはありませんか? Power Automateで業務の自動化を進めていると、時々「429エラー」という特別なメッセージに遭遇することがあります。このエラーが出ると、フローが連携先のサービス(例えばSharePointやOutlook、外部のWebサービスなど)に何かをお願いする「要求」を送りすぎたと判断され、一時的に接続を拒否されてしまいます。これは、まるで交通量の多い道路で、一度にたくさんの車が押し寄せると渋滞が起きてしまうような状況だと考えてみてください。

「429エラー」は、その意味と発生する理由をしっかり理解し、適切な対処法を知っていれば、多くの場合、比較的簡単に解決し、フローを再び安定して稼働させることができます。このエラーは、フロー自体が壊れてしまったわけではありません。サービス側が、一時的に「ちょっと待ってね!」と言っている状態なのです。


 

「429エラー」ってどんな意味?「要求が多すぎます」というサイン

Power Automateで発生する「429エラー」は、HTTPステータスコードの一種で、「Too Many Requests(トゥー・メニー・リクエスト)」と読みます。これは、日本語で言うと「要求が多すぎます」や「リクエスト過多」といった意味になります。

簡単に言えば、Power Automateのフローが、連携先のサービス(例えばSharePoint OnlineのAPI、Outlookのメール送信API、外部のWebサービスのAPIなど)に対して、短期間のうちに、そのサービスが許容できる以上の数の要求を送信してしまった状態を表します。

 

「レート制限」と「スロットリング」という仕組み

この429エラーは、連携先のサービスが、自らのシステムを安定稼働させるために行っている「レート制限(レート・セイゲン)」や「スロットリング(スロットリング)」という仕組みによって返されます。これは、特定の利用者やアプリケーションからの要求が集中しすぎると、サービス全体の性能が低下したり、他の利用者に影響が出たりするのを防ぐための、いわば「交通整理」や「アクセス制限」の機能です。

サービス側は、429エラーを返すことで、「今は少し待ってから、もう一度要求を送ってください」という指示を出しているのです。多くの場合、429エラーの応答には、「Retry-After(リトライ・アフター)」というヘッダーが含まれており、何秒後に再試行すべきかという情報が示されています。

 

Power Automateでの表示

Power Automateのフローの実行履歴では、エラーになったステップをクリックすると、「ステータス コード: 429」という表示とともに、「Too Many Requests」や「Rate limit exceeded」といったメッセージ、あるいは「Throttled by the service.」といったメッセージが表示されることが多いです。


 

「429エラー」はなぜ起きるの?主な原因を考える

429エラーが発生する原因は、フローが連携先のサービスに要求を送りすぎていることにありますが、具体的にその「送りすぎ」が発生する状況はいくつか考えられます。

 

1. フローが多数の繰り返し処理を行っている

これは最も一般的な原因です。特に「Apply to each(各項目に適用)」や「Do until(繰り返す)」といったループアクションの中で、連携先のサービスに対してAPI要求(アクション)を多数実行している場合に発生しやすいです。

具体例

  • SharePointリストに1万件のアイテムがあり、「Apply to each」ループを使って各アイテムに対してSharePointの別のリストを更新したり、Outlookでメールを送信したりするアクションを繰り返す場合、短時間で大量のAPI要求が発行されます。
  • Excelファイルの数千行のデータを読み込み、各行のデータを外部Webサービスに連携する際に、ループ内で何度もAPIを呼び出す場合。

 

2. フローの同時実行数が多い

一つのフローが同時に多数実行されていたり、あるいは同じコネクタを使用する複数のフローが同じサービスに対して、同時に大量の要求を送信していたりする場合も、合計のAPI要求数が急増し、429エラーの原因となることがあります。

 

3. Power Automateのライセンスプランの制限

Power Automateのライセンスプラン(例:無料版、Microsoft 365の付属プラン、有償のPer User Planなど)によって、1日あたりにフローが実行できるAPIリクエストの数に上限が設けられています。フローの実行回数や、API要求が非常に多い場合、このライセンスで許容される上限に達してしまい、429エラーが返されることがあります。

 

4. 連携先のサービス固有の制限

SharePoint Online、Outlook、Salesforce、特定のWebサービスなど、連携先のサービス自体が、それぞれ異なる独自のAPI制限(スロットリングポリシー)を設けています。Power Automateのライセンス上限に達していなくても、連携先のサービスが設定しているより厳しい制限に達してしまうと、429エラーが返されます。例えば、SharePoint Onlineは、短時間でのファイル操作やリストアイテムへのアクセスに特定の制限を設けています。

 

5. フロー設計の非効率性

不要なAPI要求を繰り返している場合も、429エラーの原因となります。例えば、ループの中で毎回同じデータを取得し直したり、必要のない情報を頻繁に問い合わせたりするような非効率な設計になっている場合です。


 

「429エラー」の具体的な修復・改善方法:フローを安定させるための戦略

429エラーは、フローが要求を送りすぎていることが原因であるため、フローの設計を見直すことや、要求の送信方法を調整することで解決することがほとんどです。

対策1:フローに「再試行ポリシー」を設定する(最も手軽で効果的)

これは、429エラーのような「一時的な問題」でアクションが失敗した場合に、自動でそのアクションを何回かやり直させる設定です。多くの429エラーは一過性のものであるため、この設定で自動的に回復することが非常に多いです。

  1. フローを編集モードで開きます。ウェブブラウザでPower Automateポータル(https://www.google.com/search?q=make.powerautomate.com)にアクセスし、エラーが出たフローを編集モードで開きます。
  2. 429エラーが出ているアクションを選択し、「設定」を開きます。フローデザイナーで、429エラーが発生しているアクション(例: 「HTTP要求を送信します」「SharePointのアイテムを更新します」など)をクリックします。そのアクションボックスの右上にある「…」(三点リーダー)をクリックし、「設定」を選択してください。
  3. 「再試行ポリシー」を設定します。「設定」パネルの中に「再試行ポリシー」という項目があるはずです。ここを展開し、「既定」を選択するか、または「カスタム」を選択して、再試行回数と間隔を自分で設定します。
    • 「既定」: 通常、4回、遅延間隔が指数関数的に増加する(3秒、6秒、12秒…)設定が適用されます。多くの429エラーにはこれで十分です。
    • 「カスタム」: 必要に応じて「カウント」(再試行する回数、例: 5回)と「間隔」(何秒おきにやり直すか、例: 10秒)を調整できます。間隔は固定でも、指数関数的バックオフ(徐々に間隔を長くする)でも設定可能です。
  4. 設定を保存し、フローをテストします。設定を保存し、フローを再度テスト実行してみてください。

 

対策2:アクション間に「遅延」を入れる(要求の速度を落とす)

ループ処理などで、API要求が連続して短時間に発生している場合に特に有効です。アクションの間に意図的に「待機時間」を入れることで、要求の速度を落とし、サービスの負荷を軽減します。

  1. 連続するAPI要求の間に「新しいステップ」を追加します。例えば、「Apply to each」ループの中で、API要求を行うアクション(例: 「Salesforceレコードの更新」)のすぐ後に「新しいステップ」を追加します。
  2. 「遅延」アクションを追加し、待機時間を設定します。検索ボックスに「遅延」と入力し、「遅延」(Delay)アクションを選択します。このアクションの「カウント」(待機時間)と「単位」(秒、分、時間など)を設定します。
    • 推奨:まずは1〜5秒程度の短い遅延から試してみてください。連携先のAPI制限が厳しい場合は、より長い遅延が必要になることもあります。
    • 具体例: ループ内で各アイテムを処理するごとに「遅延 5秒」を入れることで、短時間のAPI呼び出し集中を避けることができます。

 

対策3:並列処理を制御する(ループ内の同時実行数を減らす)

「Apply to each」ループは、既定では可能な限り並列で(同時に)処理を進めようとします。これにより、一瞬で大量のAPI要求が送信され、429エラーにつながることがあります。並列処理の数を制限することで、API要求の集中を避けることができます。

  1. 「Apply to each」アクションの設定を開きます。フローデザイナーで「Apply to each」アクションをクリックします。
  2. 「設定」を開き、「コンカレンシー制御」を有効にします。アクションの右上にある「…」(三点リーダー)をクリックし、「設定」を選択してください。「設定」パネルの中に「コンカレンシー制御」(並列処理)という項目があるはずです。これを「オン」に切り替えます。
  3. 「並列度の最大限度」を設定します。「並列度の最大限度」というスライダーが表示されますので、同時実行されるアイテムの数を制限する値を設定します。(例: 10、20など)。
    • 推奨: 多くのAPIでは、同時実行数を1〜5程度に絞るだけで、429エラーが大幅に減少することがあります。まずは低い値から試してみてください。
    • 具体例: 100件のデータを処理するループで「並列度を5」に設定すると、一度に最大5件ずつ処理を進めるようになります。

 

対策4:API呼び出しを最適化する(フロー設計の見直し)

フロー設計そのものを見直すことで、不必要なAPI要求を減らし、429エラーの発生を根本から抑制します。

  1. フィルタークエリを最大限に活用する:SharePointの「アイテムを取得」やExcelの「表に行を一覧表示」などのアクションには、通常「フィルタークエリ」(ODataフィルター)のオプションがあります。必要なデータだけを抽出元で事前に絞り込むことで、Power Automateが受け取り、処理するデータ量を減らし、後続のAPI呼び出しの回数を削減できます。

    具体例: SharePointリストから全てのアイテムを取得してからフィルターするのではなく、「Status eq ‘完了’」のように、トリガーの段階で条件を絞り込んで必要なアイテムだけを取得する。

  2. ループ内の冗長なAPI呼び出しを避ける:「Apply to each」ループの中で、毎回同じデータを取得するアクションを繰り返していないか確認します。もしそうであれば、ループに入る前に一度だけそのデータを取得し、変数(Variables)に格納してから、ループ内でその変数を参照するように変更します。これにより、API呼び出しの回数を大幅に削減できます。
  3. バッチ処理が可能なAPIを利用する:連携先のサービスが、複数の操作を一つのAPI要求で実行できる「バッチAPI」を提供している場合、それを活用することで、個別のAPI呼び出しの回数を減らし、効率を向上させることができます。これは、特に「HTTP要求を送信します」アクションを使用する際に検討するべきです。

 

対策5:ライセンスプランのアップグレードを検討する

上記のようなフロー設計の最適化を行ってもなお、継続的に429エラーが発生する場合、あなたのPower AutomateライセンスプランのAPIリクエスト上限が、ビジネスの要件に対して不足している可能性があります。

  1. 現在のライセンスのAPI制限を確認する:Power Automateのライセンスプランごとに、1日あたりのAPIリクエスト数には上限があります。マイクロソフトの公式ドキュメントで、あなたが現在契約しているMicrosoft 365のプランやPower Automateの有償プランが、どの程度のAPIリクエストを許容しているかを確認しましょう。
  2. より上位のライセンスプランを検討する:もしAPIリクエスト数が不足している場合は、より上位のPower Automateライセンス(例: Power Automate Premium、Power Automate Process Miningなど)へのアップグレードを検討してください。これにより、利用可能なAPIリクエスト数が増加し、429エラーの発生頻度を減らすことができます。

 

対策6:エラー通知と監視を設定する(問題の早期発見)

429エラーを完全に防ぐことが難しい場合でも、エラーが発生したことを早期に発見し、対処するための仕組みを構築することが重要です。

  1. エラーハンドリングを導入する:フローに「スコープ」と「構成:実行条件」を組み合わせたエラーハンドリングを導入し、429エラーが発生した場合に、自動でTeams通知やメール通知が飛ぶように設定します。これにより、問題発生を早期に検知し、迅速に対応できます。通知には、エラーコード、エラーメッセージ、フローの実行URLなどの詳細を含めると、トラブルシューティングがスムーズになります。
  2. Power Automate Analyticsを活用する:Power Platform管理者であれば、Power Platform管理センターの「Power Automate Analytics」機能を使って、環境全体のフローの失敗傾向や、429エラーの発生頻度を俯瞰的に確認できます。これにより、特定のコネクタやアクションでエラーが頻発していないか、といったマクロな視点での問題を発見できます。

 

「429エラー」は「交通整理」のサイン!適切な対策でフローを安定させよう!

Power Automateで「429エラー」が発生した場合、それはフローが連携先のサービスに要求を送りすぎていることを示しており、サービス側がシステム保護のためにアクセスを一時的に制限している状態です。これは、フローの「交通整理」が必要であるというサインです。

エラーの修正には、「再試行ポリシー」の設定で一時的なエラーを吸収し、「遅延」アクションや「並列処理の制御」でAPI要求の速度を調整することが最も重要です。さらに、フロー設計を見直し、API呼び出しを最適化することで、429エラーの発生を根本から抑制できます。