API に AWS API Gateway リクエスト検証機能を使用しています。詳細については、こちらのドキュメントをご覧ください。API をデプロイするために、サーバーレス フレームワークを使用しています。以下は、 serverless.yml のスニペットです。
resources:
Resources:
ParameterRequestValidator:
Type: AWS::ApiGateway::RequestValidator
Properties:
Name: ParameterRequestValidator
RestApiId:
Ref: ApiGatewayRestApi
ValidateRequestBody: true
ValidateRequestParameters: false
エンドポイントはラムダ関数によってサポートされており、次のように定義されています。
functions:
configs-create:
handler: src.handlers.configs.create.handler
events:
- http:
path: /configs
method: post
cors: true
reqValidatorName: ParameterRequestValidator
request:
schema:
application/json: ${file(src/handlers/schemas/config_create.json)}
現在、REST メソッドごとに 5 つのエンドポイント (POST、GET ID、GET All、PUT、PATCH) を持つ 8 つのエンティティがあります。これらのうち、リクエストバリデーターはメソッド POST、PUT、および PATCH にアタッチされています。したがって、リクエストバリデーターを使用するエンドポイントは合計 24 です。
サーバーレス デプロイを実行すると、次のエラー メッセージが表示されます。
Serverless Error ---------------------------------------
An error occurred: ApiGatewayMethodMeasurementDashlocationsIdVarPutValidator - Maximum number of Request Validators for this API has been reached. (Service: AmazonApiGateway; Status Code: 429; Error Code: LimitExceededException; Request ID: xxxx; Proxy: null).
クォータのドキュメントページには、リクエスト バリデーターの数に関する特定の制限については言及されていません。また、メソッドを増やしたいと考えているのですが、リクエストバリデーターを使った24個の関数で既に限界に達しているようです。
この制限を回避し、サーバーレス デプロイ コマンドが失敗しないようにするにはどうすればよいですか? また、許可されているリクエストバリデータの数を知っている人はいますか?
助けていただければ幸いです。前もって感謝します!