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

Limiti velocità dati Data

Vogliamo che gli sviluppatori creino esperienze utente avvincenti, ma vogliamo anche che il servizio e i dispositivi Nest siano sempre disponibili per l'utente. I prodotti che effettuano un numero elevato di richieste in un determinato periodo di tempo possono influire sulla disponibilità del servizio e del dispositivo, pertanto applichiamo limiti tariffari. La limitazione della velocità limita il numero di chiamate API per un determinato periodo di tempo.

Tipi di limiti di tasso

Abbiamo implementato due classi di limiti tariffari. I primi limiti sono per dispositivo o struttura all'ora. Questi limiti sono condivisi tra tutti i prodotti Works with Nest e hanno lo scopo di prevenire l'uso eccessivo dei dispositivi. La seconda classe di limiti si intendono per token di accesso. Questi limiti sono progettati per prevenire un utilizzo eccessivo del servizio Nest.

Limiti per dispositivo/struttura

Ogni scrittura nel modello dati richiede che il dispositivo si riattivi e sincronizzi lo stato. Ciò può influire sulla durata della batteria, quindi limitiamo il numero di scritture su dispositivi e strutture. Monitoriamo anche lo stato della batteria di tutti i dispositivi. Se scendono al di sotto di una certa soglia, rifiuteremo le richieste di scrittura fino a quando la batteria non si sarà ricaricata.

Limiti per token di accesso

Ogni token di accesso ha anche un limite di velocità associato. Stabilire connessioni al servizio comporta un sovraccarico, quindi limitiamo il numero di connessioni che un prodotto può effettuare in un periodo di tempo specifico.

Per le chiamate in streaming REST e REST, ogni token di accesso ha un numero limitato di chiamate. I limiti di velocità dei dati si applicano alle chiamate di lettura/scrittura tramite REST e alle chiamate di lettura tramite streaming REST. Per evitare errori, ti consigliamo di limitare le richieste a una chiamata al minuto, al massimo.

Risposta di errore

Quando si utilizza REST si riceverà un codice di risposta di 429 Troppo molte richieste.

Gestire i reindirizzamenti 307

Quando si effettuano REST chiamate, il prodotto avrà bisogno di gestire 307 reindirizzamenti. Conosciuto anche come inoltro URL, una risposta Reindirizzamento temporaneo 307 fornisce un nuovo URL per il browser per inviare nuovamente una richiesta.

Quando si verifica un reindirizzamento 307, dovrai effettuare nuovamente la chiamata con le nuove informazioni sull'URL. Quando si esegue questa operazione, è necessario memorizzare nella cache l'host e il numero di porta da utilizzare nelle chiamate future con quell'utente/token di accesso. Ricorda, ogni chiamata conta per il limite di velocità. Considera come il tuo utente interagisce con il tuo prodotto. Alcuni utenti premeranno un pulsante o sceglieranno ripetutamente un'impostazione, quindi se effettui una chiamata per ogni azione dell'utente, può influire sui limiti di frequenza molto rapidamente. Se un utente effettua una serie di modifiche in rapida successione, dovresti effettuare una chiamata API solo per l'ultimo valore (il più recente).

Per ulteriori informazioni e un esempio, vedere Come gestire Redirect .

Dopo il reindirizzamento 307

Se stai utilizzando le informazioni sull'URL di reindirizzamento e ottieni un reindirizzamento 307 in un secondo momento, dovresti seguire quel reindirizzamento.

Errore di connessione

Se stai utilizzando le informazioni dell'URL memorizzato nella cache e ricevi un errore di connessione (dovuto a host fuori servizio o sito inattivo), dovresti ripristinare l'URL di base originale.

Modifiche al limite di tariffa

Man mano che apprendiamo di più sui modelli di utilizzo e sul loro impatto sul servizio, potrebbe essere necessario modificare i limiti di tariffa. Ti consigliamo vivamente di creare i tuoi prodotti per utilizzare il numero minimo di chiamate richiesto per creare un'esperienza utente avvincente e per affrontare adeguatamente le violazioni dei limiti di frequenza.