Skip to main content
スロットリングは、クライアントが特定の API に設定された API リクエスト レート制限を超えようとしたときに発生します。 PlayFab は、すべてのタイトルにわたるリソースへの公平なアクセスを実施するためにスロットリング制限を適用しています。

PlayFab のスロットリングについて理解する

PlayFab は固定ウィンドウ レート制限アルゴリズムを使用しています。 PlayFab に対して行われる各 API リクエストは「キー」に変換されます。このキーの値は、API リクエスト ヘッダーと API リクエスト ボディの内容に依存します。個々の API 呼び出しは、それに対応するキーのカウントを増加させます。 特定のキーが設定された期間 (レート制限) 内に許可されているよりも多くの API リクエストを行った場合、そのキーを使用したそれ以降のリクエストはスロットリングされます。

PlayFab が特定の API リクエストのキーを決定する方法

タイトル全体の API レート制限

キー はタイトル ID です。

名前空間全体の API レート制限

キー は名前空間 ID です。

エンティティ単位の API レート制限

  • 認証されない/匿名の API (例: LoginWith[Platform] API) の場合、キー はクライアントの IP アドレスです。
  • 認証済み API の場合: キーはリクエスト ヘッダーとリクエスト ボディに依存します (これらは API の呼び出し元エンティティとターゲット エンティティの決定に使用されます)。
    • API の呼び出し元エンティティは、X-Authorization トークンに紐付いたエンティティです。
    • API のターゲット エンティティはリクエスト ボディで定義され、API ごとに異なります。どのエンティティが対象になっているかを判断するには、特定の API のリクエスト ボディを確認します。たとえば、GetUserData API はリクエスト ボディで PlayFabId を使用して別のエンティティを指定することをサポートしています。
    • API のボディにターゲット エンティティが指定されていない場合、キー は呼び出し元エンティティのエンティティ ID です。
    • API のボディにターゲット エンティティが指定されている場合:
      • 呼び出し元エンティティが MasterPlayerAccount、TitlePlayerAccount、Character エンティティ タイプのいずれかである (例: API がそれらのエンティティ タイプに関連付けられた X-Authorization トークンで認証された) 場合、キー は呼び出し元エンティティの ID です。
      • 呼び出し元エンティティが上記のエンティティ タイプのいずれでもない場合、キー はターゲット エンティティの ID になります。
エンティティ単位の API レート制限ロジックの例をいくつか示します:
  1. IP アドレス 23.192.228.80 のクライアントが Client/LoginWith[Platform] API を呼び出します。API リクエストのキーは 23.192.228.80 です。
  2. クライアントが Client/LinkCustomID を呼び出し、マスター プレイヤー アカウント ID 408C36ADC841C0CD に対応する X-Authorization トークンを提供します。API のリクエスト ボディには他のエンティティ ID に関する記述はありません。API リクエストのキーは 408C36ADC841C0CD です。
  3. クライアントが Client/GetUserPublisherData を呼び出し、マスター プレイヤー アカウント ID D5491A06D715E817 に対応する X-Authorization トークンを提供します。リクエスト ボディでクライアントはマスター プレイヤー アカウント 25254A5AC4AEBA55 の値を指定します (例: リクエスト ボディに PlayFabId:25254A5AC4AEBA55 がある)。ここでの呼び出し元エンティティはマスター プレイヤー アカウントであるため、API リクエストのキーは D5491A06D715E817 です。
  4. クライアントが Client/GetUserPublisherData を呼び出し、タイトル ID 123 に対応する X-Authorization トークンを提供します。リクエスト ボディでクライアントはマスター プレイヤー アカウント 25254A5AC4AEBA55 の値を指定します (例: リクエスト ボディに PlayFabId:25254A5AC4AEBA55 がある)。ここでの呼び出し元エンティティはタイトルであるため、API リクエストのキーは 25254A5AC4AEBA55 です。

ターゲット エンティティ スロットリングの利点

ターゲット エンティティ スロットリングは、対象となるエンティティの種類に基づいて特定の操作に制限を適用する仕組みです。これらの制限はシステムの安定性を維持し、乱用を防止するのに役立ち、ユーザーには次のようなメリットがあります:
  • プレイヤー単位の一貫した制限: タイトルをスケールアップしても個々のプレイヤーの制限には影響しません。プレイヤー数に基づく容量制限を心配することなく、タイトルはプレイヤー ベースをスケール アウトできます。
  • 均一なプレイヤー スロットリング: タイトル上でアクティブなユーザー数に関係なく、プレイヤーは同じスロットリング制限を体験します。これにより、開発者は小規模なユーザー ベースであってもスロットリングの問題を早期に検出できます。
  • サービスの安定性: スロットリングにより、1 人のプレイヤーのトラフィックが PlayFab のサービスや複数のタイトルで共有される特定のデータ プレーン パーティションを圧倒したり、悪影響を及ぼしたりするのを防ぎます。

関連項目

最終更新日 2026年8月13日