Web API が、配列に 20 個を超える項目を含むリクエストを処理できない
ここでは、Adobe Commerce 2.4.3 の配列に 20 個を超える項目が含まれているメッセージを Web API で処理できない問題の解決策を説明します。
影響を受ける製品とバージョン:
- Adobe Commerce(すべてのデプロイメント方法) 2.4.3 および 2.3.7-p1
- Magento Open Source 2.4.3 および 2.3.7-p1
問題
Web API は、配列に 20 個を超える項目を含むメッセージ(例:Stock 更新)を処理できません。
原因:
Adobe Commerce 2.4.3 では、サービス拒否(DoS)攻撃を防ぐために、Magento API に組み込みのレート制限が追加されました。
デフォルトでは、次の組み込みの API レート制限を使用できます。
- エンティティのリストを表す入力を含む REST リクエストは、デフォルトの最大 20 エンティティに制限されます
- ページ分割された結果を許可する REST およびGraphQL クエリは、1 ページにつきデフォルトの最大 300 アイテムに制限される
解決策
REST API リクエストの入力制限を無効にするには、(バージョンに応じて)次のいずれかのパッチを適用します。
互換性のあるAdobe Commerce バージョン
パッチは次の場合に作成されました。
- クラウドインフラストラクチャー上のAdobe Commerce 2.4.3 および 2.3.7-p1
- Adobe Commerce オンプレミス 2.4.3 および 2.3.7-p1
パッチは他のAdobe Commerce バージョンとは互換性がありません。
パッチの適用方法
ダウンロードした .zip
ファイルを解凍し、Adobeが提供する Composer パッチを適用する方法に従ってパッチを適用します。
WARNING
ストアで DoS 攻撃が発生していると思われる場合、Adobeでは、デフォルトの入力制限を低い値に下げて、リクエストできるリソースの数に制限を設けることをお勧めします。 クラスコンストラクター引数を使用すると、プログラムによってデフォルトの制限をカスタマイズできす。
開発者向けドキュメント API セキュリティ/レート制限/最大パラメーター入力に記載されています。
開発者向けドキュメント API セキュリティ/レート制限/最大パラメーター入力に記載されています。
関連資料
開発者向けドキュメントの API セキュリティ/レート制限。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a