Device Access projekty są ograniczone przez limity użytkowników, struktury i liczby żądań, w zależności od środowiska i typu oferty handlowej.
Chcemy, aby deweloperzy zapewniali użytkownikom atrakcyjne wrażenia, ale zależy nam też na tym, usługi i urządzenia Nest, aby były zawsze dostępne dla użytkownika; Integracje, które duża liczba żądań w określonym czasie może wpłynąć na usługę dostępności urządzeń, więc interfejs SDM API stosuje limity liczby żądań. Ograniczenie liczby żądań ogranicza liczbę wywołań interfejsu API w danym okresie oraz zapobiega nadmiernemu wykorzystaniu zasobów.
Limity według środowiska
Wszystkie projekty zaczynają się w środowisku Piaskownicy . Piaskownica przeznaczone do oceny interfejsu SDM API i użytku osobistego oraz są odpowiednio ograniczone. Środowiska z większymi bazami użytkowników, takimi jak Rozwój komercyjny ma inne ograniczenia.
Limity użytkowników w trybie piaskownicy
Konto dewelopera w trybie piaskownicy jest ograniczone do 25 użytkowników w 5 struktury we wszystkich projektach. Obowiązuje limit 3 projektów na konto.
Każda struktura jest ograniczona do 5 użytkowników, więc zostanie osiągnięty limit użytkowników po osiągnięciu limitu wszystkich 5 struktur, z których każdy może mieć 5 użytkowników. Konto dewelopera (która jest właścicielem projektu) nie wliczają się do limitu 5 użytkowników do jego struktury.
Jeśli w projekcie jest 15 użytkowników w ponad 5 obiektach, dodatkowi użytkownicy mogą należy dodać tylko do 5 istniejących budowli, ponieważ limit zabudowań użytkownik skontaktował się z Tobą.
Limity liczby żądań piaskownicy
Częstotliwość korzystania z piaskownicy jest ograniczona na 3 różnych poziomach. Limity są ustawione na: zapytań na minutę (QPM), chyba że zaznaczono inaczej.
Poziom API
Liczba wywołań interfejsu API jest ograniczona w projekcie i na użytkownika. Zapoznaj się z interfejsem API Więcej informacji o osobie fizycznej znajdziesz w opisie. .
Metoda interfejsu API | Limit 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 trait (devices.executeCommand
) jest ograniczone do 5 QPM na projekt,
na użytkownika na urządzenie.
Oznacza to, że jeśli w projekcie jest 2 użytkowników, z których każde ma po 2 urządzenia (łącznie 4 urządzenia), to samo polecenie może być wywoływane 5 razy na minutę w przypadku każdego z tych 4 urządzeń.
Jeśli jednak projekt obejmuje 2 użytkowników, po 3 urządzenia, na 6 urządzeń łącznie, wartość
to samo polecenie nie może być wywoływane 5 razy na minutę w przypadku żadnej z tych 6 rzeczy
urządzenia. Da to wynik 15 QPM na każdego użytkownika, jeśli
devices.executeCommand
Ograniczenie liczby żądań na poziomie interfejsu API dla użytkownika projektu wynosi 10 QPM.
Poziom instancji urządzenia
Dodatkowo limity na poziomie instancji urządzenia są wdrożone w projektach
(devices.executeCommand
) w celu ochrony baterii urządzenia. Te ograniczenia
są stosowane zarówno na poziomie QPM, jak i zapytań na godzinę (QPH) i nie mają zastosowania
do metod interfejsu API get
i list
.
Załóżmy na przykład, że Projekt A i Projekt B mają dostęp do tego samego Urządzenie A (być może użytkownik autoryzował dwie różne reklamy na tym samym urządzeniu). Jeśli Projekt A wysłał 4 polecenia do Z urządzenia A w ciągu minuty projekt B może wysłać tylko 1 polecenie do urządzenia A w ciągu minuty w tej samej minucie przed osiągnięciem limitu częstotliwości na poziomie instancji urządzenia. Na tym polecenia z obu projektów do Urządzenia A są ograniczane do końca w minutie, która rozpoczęła się pierwszym poleceniem wysłanym na Urządzenie A.
Jeśli typu urządzenia nie ma na liście poniżej, oznacza to, że nie ma poziomu instancji urządzenia. ograniczeń liczby żądań.
Typ urządzenia | Limit szybkości instancji na urządzeniu |
---|---|
TERMOSTAT | 5 QPM lub 100 QPH |
APARAT | 30 QPM lub 100 QPH |
DOORBELL | 30 QPM lub 100 QPH |
Błędy
W związku z tym przewodnikiem mogą zostać zwrócone następujące kody błędów:
Komunikat o błędzie | RPC | Rozwiązywanie problemów |
---|---|---|
Udostępnianie certyfikatów ograniczone. | RESOURCE_EXHAUSTED |
Każdy programista ma limit liczby wywołań, które może wykonać. Jeśli wykonasz więcej połączeń niż wynosi limit, otrzymasz wiadomość z ograniczeniem liczby żądań. Aby rozwiązać ten problem, prześlij połączenie ponownie po wygaśnięciu limitu. |
Zapoznaj się z informacjami na temat kodu błędu interfejsu API w przypadku: pełną listę kodów błędów interfejsu API.