Google is committed to advancing racial equity for Black communities. See how.

Datenratenbegrenzungen

Wir möchten, dass Entwickler ansprechende Nutzererlebnisse schaffen, aber wir möchten auch, dass der Nest-Dienst und die Geräte für den Nutzer immer verfügbar sind. Produkte, die in einem bestimmten Zeitraum eine große Anzahl von Anfragen stellen, können sich auf die Verfügbarkeit von Diensten und Geräten auswirken, daher wenden wir Ratenbegrenzungen an. Die Ratenbegrenzung beschränkt die Anzahl der API-Aufrufe für einen bestimmten Zeitraum.

Arten von Ratenbegrenzungen

Wir haben zwei Klassen von Ratenlimits implementiert. Die ersten Grenzen sind pro Gerät oder Struktur pro Stunde. Diese Beschränkungen gelten für alle Works with Nest-Produkte und sollen eine Übernutzung der Geräte verhindern. Die zweite Klasse von Grenzen sind pro Zugriffstoken. Diese Beschränkungen sollen eine Übernutzung des Nest-Dienstes verhindern.

Beschränkungen pro Gerät/Struktur

Jeder Schreibvorgang in das Datenmodell erfordert, dass das Gerät aufwacht und den Zustand synchronisiert. Dies kann sich auf die Akkulaufzeit auswirken, daher begrenzen wir die Anzahl der Schreibvorgänge auf Geräte und Strukturen. Wir überwachen auch den Batteriezustand aller Geräte. Sinken sie unter einen bestimmten Schwellenwert, lehnen wir Schreibanfragen ab, bis der Akku wieder aufgeladen ist.

Limits pro Zugriffstoken

Jedes Zugriffstoken hat auch eine zugehörige Ratenbegrenzung. Das Herstellen von Verbindungen zum Dienst verursacht einen gewissen Overhead, daher begrenzen wir die Anzahl der Verbindungen, die ein Produkt in einem bestimmten Zeitraum herstellen kann.

Bei REST- und REST-Streaming-Aufrufen hat jedes Zugriffstoken eine begrenzte Anzahl von Aufrufen. Datenratenbegrenzungen gelten für Lese-/Schreibaufrufe über REST und für Leseaufrufe über REST-Streaming. Um Fehler zu vermeiden, empfehlen wir Ihnen, Anfragen auf maximal einen Anruf pro Minute zu beschränken.

Fehlerreaktion

Bei der Verwendung von REST erhalten Sie eine Antwort - Code von 429 zu viele Anfragen erhalten.

Umgang mit 307 Weiterleitungen

Bei der Herstellung von REST Anrufen, muss Ihr Produkt 307 Umleitungen zu handhaben . Auch als URL-Weiterleitung bekannt, stellt eine 307-Antwort für temporäre Umleitung eine neue URL für den Browser bereit, um eine Anfrage erneut zu senden.

Wenn eine 307-Weiterleitung auftritt, müssen Sie den Aufruf mit den neuen URL-Informationen erneut durchführen. Wenn Sie dies tun, sollten Sie die Host- und Portnummer für die Verwendung in zukünftigen Anrufen mit diesem Benutzer-/Zugriffstoken zwischenspeichern. Denken Sie daran, dass jeder Anruf auf das Tariflimit angerechnet wird. Überlegen Sie, wie Ihr Benutzer mit Ihrem Produkt interagiert. Einige Benutzer drücken wiederholt eine Taste oder wählen eine Einstellung aus. Wenn Sie also für jede Benutzeraktion einen Anruf tätigen, kann sich dies sehr schnell auf die Ratenbegrenzungen auswirken. Wenn ein Benutzer eine Reihe von Änderungen in schneller Folge vornimmt, sollten Sie nur einen API-Aufruf für den letzten (aktuellsten) Wert durchführen.

Weitere Informationen und ein Beispiel finden Sie Wie Redirects Griff .

Nach 307 Weiterleitung

Wenn Sie die Umleitungs-URL-Informationen verwenden und zu einem späteren Zeitpunkt eine 307-Umleitung erhalten, sollten Sie dieser Umleitung folgen.

Verbindungsfehler

Wenn Sie die zwischengespeicherten URL-Informationen verwenden und einen Verbindungsfehler erhalten (aufgrund von Hostausfall oder Ausfall der Site), sollten Sie zur ursprünglichen Basis-URL zurückkehren.

Änderungen des Ratenlimits

Wenn wir mehr über Nutzungsmuster und deren Auswirkungen auf den Dienst erfahren, kann es sein, dass wir die Tarifgrenzen ändern müssen. Wir empfehlen Ihnen dringend, Ihre Produkte so zu entwickeln, dass die Mindestanzahl von Anrufen verwendet wird, die für eine überzeugende Nutzererfahrung erforderlich ist, und angemessen mit Verstößen gegen Tariflimits umzugehen.