このガイドでは、Data Manager API を使用する際の制限と割り当てについて説明します。
プロジェクトの上限
Data Manager API を使用するには、Google Cloud プロジェクトが必要です。Google Cloud プロジェクトは、API リクエストの認証に使用する OAuth クライアントと認証情報を提供します。
Data Manager API は、各 Google Cloud プロジェクトにレート上限を適用します。上限は、サービスとオペレーション タイプ(読み取りと変更)ごとに設定されます。
| サービス | オペレーション | 1 日あたりのリクエスト数 | 1 分あたりのリクエスト数 |
|---|---|---|---|
IngestionService |
変更(書き込み) | 100,000 | 300 |
IngestionService |
読み取り | 100,000 | 300 |
| その他のすべてのサービスを組み合わせたもの | 変更(書き込み) | 50,000 | 300 |
| その他のすべてのサービスを組み合わせたもの | 読み取り | 50,000 | 300 |
上限を超えるリクエストは、エラー RESOURCE_EXHAUSTED と HTTP ステータス 429 Too Many Requests で拒否されます。
アプリを制御し、レート制限を緩和するには、リクエスト数を積極的に減らし、クライアント側から QPS をスロットリングします。また、Google Cloud コンソールで割り当てアラートとモニタリングを設定して、アプリケーションが上限に達する前に通知を受け取ることもできます。
割り当て名
各上限は、Google Cloud の割り当て上限名と指標に対応します。リクエストが上限を超えると、Data Manager API は metadata.quota_limit の ErrorInfo 標準詳細ペイロードで割り当て上限名を返します。
| 割り当て上限名 | サービス | オペレーション | ウィンドウ | 上限 |
|---|---|---|---|---|
IngestionMutateRequestsPerDayPerProject |
IngestionService |
アクション | 日 | 100,000 |
IngestionMutateRequestsPerMinutePerProject |
IngestionService |
アクション | 分 | 300 |
IngestionReadRequestsPerDayPerProject |
IngestionService |
読み取り | 日 | 100,000 |
IngestionReadRequestsPerMinutePerProject |
IngestionService |
読み取り | 分 | 300 |
ManagementMutateRequestsPerDayPerProject |
その他のすべてのサービス | アクション | 日 | 50,000 |
ManagementMutateRequestsPerMinutePerProject |
その他のすべてのサービス | アクション | 分 | 300 |
ManagementReadRequestsPerDayPerProject |
その他のすべてのサービス | 読み取り | 日 | 50,000 |
ManagementReadRequestsPerMinutePerProject |
その他のすべてのサービス | 読み取り | 分 | 300 |
ErrorInfo ペイロードの metadata.quota_limit を調べて、1 日あたりの上限エラーと 1 分あたりの上限エラーを区別し、一時停止してバックオフで再試行するか、1 日あたりの割り当てがリセットされるまで一時停止するかを判断します。詳細については、割り当てとレート制限のエラーをご覧ください。
リクエストに関する上限
特定のリクエストの上限は次のとおりです。
IngestAudienceMembersRequestとRemoveAudienceMembersRequest:audience_membersリスト内の 10,000 個のAudienceMemberリソースAudienceMemberのUserDataに 10 個のユーザー識別子destinationsリスト内の 10 個のDestinationリソース
RemoveAllAudienceMembersRequest:destinationsリスト内の 10 個のDestinationリソース
-
eventsリスト内の 2,000 個のEventリソースEventのUserDataに 10 個のユーザー識別子destinationsリスト内の 10 個のDestinationリソース