ユーザーとレート制限

Device Access プロジェクトは、環境と商用サービスのタイプに応じて、ユーザー、構造、レートの上限によって制限されます。

デベロッパーの皆様には魅力的なユーザー エクスペリエンスを創出していただきたいと考えていますが、同時に、ユーザーが Nest サービスとデバイスを常に利用できるようにしたいとも考えています。一定期間内に大量のリクエストを行うインテグレーションは、サービスとデバイスの可用性に影響を与える可能性があるため、SDM API にはレート制限が適用されます。レート制限は、一定期間内の API 呼び出しの数を制限し、リソースの過剰な使用を防ぎます。

環境ごとの上限

すべてのプロジェクトは、  サンドボックス  環境で開始されます。サンドボックスは SDM API の評価と個人使用を目的としており、制限はそれに応じて制限されます。  Commercial Development   など、ユーザーベースが大きい環境では、制限が異なります。

サンドボックスのユーザー上限

サンドボックスのデベロッパー アカウントは、すべてのプロジェクトの 5 つの構造にわたって 25 人のユーザーに制限されます。アカウントあたりのプロジェクト数の上限は 3 つです。

構造はそれぞれ 5 人のユーザーに制限されているため、5 つの構造すべてがそれぞれ 5 人のユーザーで上限に達した場合にのみ、ユーザーの上限に達します。デベロッパー アカウント(プロジェクトの所有者)は、ストラクチャーのユーザー上限 5 人にはカウントされません。

逆に、プロジェクトに 5 つのストラクチャに 15 人のユーザーがいる場合、ストラクチャの上限に達しているため、追加のユーザーは既存の 5 つのストラクチャにのみ追加できます。

サンドボックスのレート上限

サンドボックスは 3 つの異なるレベルでレート制限されています。特に明記されていない限り、上限は 1 分あたりのクエリ数(QPM)で設定されます。

API レベル

API 呼び出しは、プロジェクトごと、ユーザーごとに制限されます。個々のメソッドの詳細については、API リファレンスをご覧ください。

API メソッド レート制限
devices.executeCommand 10 QPM
devices.get 10 QPM
devices.list 5 QPM
structures.get 5 QPM
structures.list 5 QPM
structures.rooms.get 5 QPM
structures.rooms.list 5 QPM

コマンドレベル

各トレイト コマンド(devices.executeCommand)は、プロジェクト、ユーザー、デバイスごとに 5 QPM に制限されています。

つまり、プロジェクトに 2 人のユーザーがいて、それぞれが 2 台のデバイス(合計 4 台のデバイス)を使用している場合、同じコマンドを 1 分間に 5 回、4 台のデバイスそれぞれに対して呼び出すことができます。

ただし、プロジェクトに 2 人のユーザーがいて、それぞれ 3 台のデバイス(合計 6 台)がある場合、同じコマンドを 6 台のデバイスそれぞれに対して 1 分間に 5 回呼び出すことはできません。プロジェクトのユーザーの devices.executeCommand API レベルのレート制限が 10 QPM の場合、各ユーザーの QPM は 15 になります。

デバイス インスタンス レベル

また、デバイスのバッテリー保護のために、デバイス インスタンス レベルの上限がプロジェクトとコマンド(devices.executeCommand)全体に実装されています。これらの上限は QPM と 1 時間あたりのクエリ数(QPH)の両方のレベルで適用され、getlist の API メソッドには適用されません。

たとえば、プロジェクト A とプロジェクト B の両方が同じデバイス(デバイス A)にアクセスできるとします(ユーザーが同じデバイスを使用する 2 つの異なる商用インテグレーションを承認したなど)。プロジェクト A が 1 分以内にデバイス A に 4 つのコマンドを送信した場合、デバイス インスタンス レベルのレート制限に達するまで、プロジェクト B は同じ 1 分間にデバイス A に 1 つのコマンドしか送信できません。その時点で、デバイス A への両方のプロジェクトからのコマンドは、デバイス A への最初のコマンドで始まった 1 分間の終わりまでスロットリングされます。

デバイスタイプが以下に記載されていない場合、デバイス インスタンス レベルのレート制限はありません。

デバイスの種類 デバイス インスタンスのレート上限
サーモスタット 5 QPM または 100 QPH
カメラ 30 QPM または 100 QPH
DOORBELL 30 QPM または 100 QPH

エラー

このガイドに関連して、次のエラーコードが返されることがあります。

エラー メッセージ RPC トラブルシューティング
レート制限されています。 RESOURCE_EXHAUSTED 各デベロッパーには、呼び出し数を制限する割り当てがあります。割り当てを超える呼び出しを行うと、「レート制限」というメッセージが表示されます。この問題を解決するには、割り当てが期限切れになったら呼び出しを再送信します。

API エラーコードの一覧については、API エラーコード リファレンスをご覧ください。