limitについて紹介します。概要エンドポイント毎、ユーザー(ゲストユーザーの場合はIP)毎にレート制限ウィンドウ(秒)あたりの、最大リクエスト数を設定できます。レート制限ウィンドウは60秒で固定の値になっています。ログイン済みユーザーの場合ログイン済みユーザーの場合、制限をかけるためのkeyはエンドポイントとリクエストメソッドとユーザーIDを含めた文字列のハッシュ値になります。同じIPアドレスからのリクエストもユーザーごとに区別できます。未ログインユーザーの場合、制限をかけるためのkeyはエンドポイントとリクエストメソッドとIPアドレスを含めた文字列のハッシュ値になります。この時、最大リクエスト数には、1IPアドレス当たりの想定人数をかけた値が利用されます。1IPアドレス当たりの想定人数は、デフォルトでは5人/ipとなっています。1IPアドレス当たりの想定人数は、環境変数を用いてエンドポイントとメソッドごとにカスタマイズできます。デフォルトの設定エンドポイントにはデフォルトで下の表の制限がかけられています。初期値がカスタマイズされているエンドポイントその他、制限が必要なエンドポイントには以下の設定ファイルによって、デフォルトでカスタマイズされた初期値が制限として設定されています。制限のカスタマイズデフォルトの制限を上書きして、カスタイマイズするためには環境変数を用いて設定します。環境変数で設定する項目は以下の4つです。下のように環境変数を設定できます。1IPアドレス当たりの想定人数リクエストメソッドの以外の設定は任意です。設定されていない場合、そのエンドポイントに対するすべてのメソッドに対して制限がかけられます。1IPアドレス当たりの想定人数は、設定されていない場合はデフォルト値の5が設定されます。[key]の部分は任意の文字列です。同じエンドポイントに対して制限が設定されていた場合、[key]の部分をin-placeアルゴリズム(JavaScriptのsort()メソッド)でソートしたときに、後に来るkeyの設定を優先します。API_RATE_LIMIT_010_FOO_ENDPOINT=/_api/v3/fooAPI_RATE_LIMIT_010_FOO_METHODS=GET,POSTAPI_RATE_LIMIT_010_FOO_MAX_REQUESTS=10API_RATE_LIMIT_010_FOO_USERS_PER_IP=2このように環境変数を設定すると、以下のように制限が適用されます。POSTのリクエストを60秒間に11回以上送ると11回目以降はエラーが発生しリクエストを送ることができなくなります。60秒が経過すると、再びリクエストを送ることができるようになります。POSTのリクエストを同一IPアドレスから21回以上送ると、21回目以降はエラーが発生しリクエストを送ることができなくなります。60秒が経過すると、再びリクエストを送ることができるようになります。上のような、可変的なエンドポイントの制限は正規表現と環境変数を用いて制限をカスタマイズできます。