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

Device Access projekty są ograniczone przez limity użytkowników, struktur 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   Piaskownica  . Piaskownica jest przeznaczona do oceny interfejsu SDM API i użytku osobistego, a limity są odpowiednio ograniczone. Środowiska z większą bazą użytkowników, takie jak   Komercyjne środowisko deweloperskie  , 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 piaskownicy

W przypadku piaskownicy obowiązują 3 poziomy ograniczenia liczby żądań. Limity są ustawione na zapytania na minutę (QPM), o ile nie wskazano inaczej.

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 których każdy ma 3 urządzenia (czyli łą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 osiągnie 15 zapytań na minutę, a devices.executeCommand limit zapytań na minutę na poziomie interfejsu API dla użytkownika projektu wynosi 10.

Poziom instancji urządzenia

Dodatkowo w przypadku ochrony baterii urządzenia w projektach i poleceniach (devices.executeCommand) obowiązują limity na poziomie instancji urządzenia. Te limity są stosowane na poziomie zapytań na minutę (QPM) i zapytań na godzinę (QPH) i nie dotyczą metod interfejsu 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 projekt A wysłał w ciągu minuty 4 polecenia do urządzenia A, 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 liczby żądań na poziomie instancji urządzenia.

Typ urządzenia Limit szybkości instancji urządzenia
TERMOSTAT 5 QPM lub 100 QPH
APARAT 30 zapytań na minutę lub 100 zapytań na godzinę
DOORBELL 30 zapytań na minutę lub 100 zapytań na godzinę

Błędy

W związku z tym przewodnikiem mogą być zwracane 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ż dopuszcza limit, zobaczysz komunikat „Rate limited”. 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.