Limity liczby kont użytkowników i częstotliwości

Device Access projekty są ograniczone przez limity użytkowników, struktury i liczby żądań w zależności od środowiska i rodzaju oferty komercyjnej.

Zależy nam na tym, aby deweloperzy tworzyli atrakcyjne usługi, ale chcemy też, aby usługa i urządzenia Nest były zawsze dostępne dla użytkownika. Integracje, które w danym okresie wysyłają dużą liczbę żądań, mogą wpływać na dostępność usługi i urządzenia, dlatego interfejs SDM API stosuje limity szybkości. Ograniczanie liczby wywołań interfejsu API w danym okresie zapobiega nadmiernemu wykorzystaniu zasobów.

Limity według środowiska

Wszystkie projekty zaczynają się w środowisku   Sandbox  . Piaskownica jest przeznaczona do oceny interfejsu SDM API i użytku osobistego, a limity są odpowiednio ograniczone. Środowiska z większą liczbą użytkowników, takie jak   Commercial Development  , mają inne limity.

Limity użytkowników w piaskownicy

Konto dewelopera w piaskownicy jest ograniczone do 25 użytkowników w 5 strukturach we wszystkich projektach. Na koncie można mieć maksymalnie 3 projekty.

Każda struktura może obejmować maksymalnie 5 użytkowników, więc limit użytkowników zostanie osiągnięty dopiero wtedy, gdy wszystkie 5 struktur będzie zawierać po 5 użytkowników. Konto dewelopera (które jest właścicielem projektu) nie wlicza się do limitu 5 użytkowników w przypadku struktury.

Jeśli projekt ma 15 użytkowników w 5 strukturach, dodatkowych użytkowników można dodać tylko do tych 5 struktur, ponieważ limit struktur został już osiągnięty.

Limity szybkości w piaskownicy

W przypadku piaskownicy obowiązują 3 poziomy ograniczeń częstotliwości. O ile nie wskazano inaczej, limity są ustawione na zapytania na minutę (QPM).

Poziom API

Wywołania interfejsu API są ograniczone na projekt i na użytkownika. Więcej informacji o poszczególnych metodach znajdziesz w dokumentacji interfejsu API.

Metoda interfejsu API Ograniczenie liczby żądań
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

Poziom polecenia

Każde polecenie cechy (devices.executeCommand) jest ograniczone do 5 zapytań na minutę na projekt, użytkownika i urządzenie.

Oznacza to, że jeśli projekt ma 2 użytkowników, z których każdy ma 2 urządzenia (łącznie 4 urządzenia), tę samą komendę można wywołać 5 razy w ciągu minuty na każdym z tych 4 urządzeń.

Jeśli jednak projekt ma 2 użytkowników z 3 urządzeniami każdy, co daje łącznie 6 urządzeń, tego samego polecenia nie można wywołać 5 razy w ciągu minuty na każdym z tych 6 urządzeń. W takim przypadku każdy użytkownik będzie miał 15 zapytań na minutę, a devices.executeCommandlimit zapytań na minutę na poziomie interfejsu API dla użytkownika projektu wynosi 10.

Na poziomie instancji urządzenia

Dodatkowo w projektach i poleceniach (devices.executeCommand) obowiązują limity na poziomie instancji urządzenia, które chronią baterię urządzenia. Te limity są stosowane zarówno na poziomie zapytań na minutę, jak i zapytań na godzinę i nie dotyczą metod API getlist.

Załóżmy na przykład, że projekt A i projekt B mają dostęp do tego samego urządzenia A (być może użytkownik autoryzował 2 różne integracje komercyjne, które korzystają z tego samego urządzenia). Jeśli w ciągu minuty Projekt A wysłał do Urządzenia A 4 polecenia, Projekt B może w tej samej minucie wysłać do Urządzenia A tylko 1 polecenie, zanim zostanie osiągnięty limit szybkości na poziomie instancji urządzenia. W tym momencie polecenia z obu projektów do urządzenia A są ograniczane do końca minuty, która rozpoczęła się od pierwszego polecenia do urządzenia A.

Jeśli typu urządzenia nie ma na liście poniżej, nie ma on limitów szybkości na poziomie instancji urządzenia.

Typ urządzenia Limit szybkości instancji urządzenia
THERMOSTAT 5 QPM lub 100 QPH
APARAT 30 QPM lub 100 QPH
DZWONEK 30 QPM lub 100 QPH

Błędy

W związku z tym przewodnikiem mogą zostać zwrócone te kody błędów:

Komunikat o błędzie RPC Rozwiązywanie problemów
Ograniczona liczba żądań. RESOURCE_EXHAUSTED Każdy deweloper ma limit określający liczbę wywołań, które może wykonać. Jeśli wykonasz więcej połączeń niż wynosi Twój limit, zobaczysz komunikat o ograniczeniu liczby połączeń. Aby rozwiązać ten problem, prześlij wywołanie ponownie po wygaśnięciu limitu.

Pełną listę kodów błędów interfejsu API znajdziesz w dokumentacji kodów błędów interfejsu API.