429 エラー (スループット制限) とはなにか
従量課金制 Logic Apps ではスループット (時間あたりの処理量) が制限されています。
こちらのスループットが Logic Apps の基準値を超えた際に 429 というエラーが発生します。
ロジック アプリのワークフローで調整が発生すると、”HTTP 429 要求が多すぎます” エラーが返されます。これは、一定時間にわたって要求数が送信先の処理速度を超えた場合に発生します。
回避策としては、そもそものスループットを減らすか、Logic Apps におけるスループットの上限値を増やすという選択肢を取ることで問題は解決します。
429 エラーの回避策について
シングルテナント (Standard) プランに変更する
そもそも 429 エラーについては、マルチテナントだからこそ過剰にリソースを食い潰されたらまずい、従量課金制 Logic Apps で発生するエラーになっています。
実際、Logic Apps の制約と構成において、Standard では殆どスループットが制限されていません。
そのため、後述する別の回避策を採用できない場合は本回避策を採用してください。
コンカレンシー制御を実施する
『10 万回 / 5 分』が Logic Apps のスループット制限なら、同時実行数の制御を行って、5 分あたりの実行数を 10 万回以下に抑えてあげれば良いのです。
設定方法については、下記の公式情報をご参照ください。
こんにちは。Azure Integration サポート チームの髙橋です。 トリガーに設定可能なコンカレンシー制御と最…
Azure Logic Apps でのワークフロー定義言語トリガーとアクションの種類のスキーマ リファレンス ガイド。…
当回避策のデメリットとしては実行数が減ることによる処理速度の低下でしょうか。
処理速度の低下を許容できない場合、別の回避策を採用する必要があります。
また、トリガーにコンカレンシー制御を設定する場合、コンカレンシー制御は後から無効化することが出来ないため、最大実行数が『無制限』から『100』まで減るので注意してください。
高スループット モードの有効化
先ほど 5 分あたりの実行数を 10 万回以内に抑える必要があるとお話しましたが、従量課金制 Logic Apps には上限値を『30 万回 / 5 分』まで引き上げる “高スループット” というモードがあります。
設定方法としては単純で [従量課金制 Logic Apps] – [設定] – [ワークフロー設定] – [ランタイムオプション – 高スループット] をオンにすれば良いだけです。
先ほどのコンカレンシー制御と違って、こちらは後から無効化できます。
一応、本機能は Preview 版であるようですが、問題が生じた際も Microsoft への技術的なお問い合わせも多分恐らく可能かな?とは思ってます。
公式ドキュメントの内容を見ても、特に何も記載されていないので。。。
私の感覚としては、下記ページに記載のない Preview 機能はサポートされる認識ですね。
Bing URL Preview API、Visual Search API、サービス データの使用、および GDPR …
その他の回避策について
公式ドキュメントにはこれ以外に下記 2 つの方法が記載されています。
- トリガーの配列のデバッチつまり “分割” 動作を無効にします。
- アクションを複数の小さなワークフローにリファクタリングします。
ご紹介した方法以外もご検討されたい方は、下記の公式ドキュメントをご参照いただければと。
Azure Logic Apps で、調整の問題、または "HTTP 429 要求が多すぎます" エラーを回避する方法。…