I progettiDevice Access sono limitati in base a utente, struttura e limiti di frequenza, a seconda dell'ambiente e del tipo di offerta commerciale.
Vogliamo che gli sviluppatori creino esperienze utente coinvolgenti, ma anche che il servizio e i dispositivi Nest siano sempre disponibili per l'utente. Le integrazioni che effettuano un numero elevato di richieste in un determinato periodo di tempo possono influire sulla disponibilità di servizi e dispositivi, pertanto l'API SDM applica limiti di frequenza. La limitazione della frequenza limita il numero di chiamate API per un determinato periodo di tempo e impedisce l'utilizzo eccessivo delle risorse.
Limiti per ambiente
Tutti i progetti iniziano nell'ambiente Sandbox . La sandbox è destinata alla valutazione dell'API SDM e all'uso personale e i limiti sono di conseguenza ristretti. Gli ambienti con basi di utenti più ampie, come Sviluppo commerciale , hanno limiti diversi.
Limiti per gli utenti della sandbox
Un account sviluppatore nella sandbox è limitato a 25 utenti in 5 strutture in tutti i progetti. Esiste un limite di tre progetti per account.
Le strutture sono limitate a 5 utenti ciascuna, quindi il limite di utenti verrà raggiunto solo quando tutte e 5 le strutture avranno raggiunto il limite di 5 utenti ciascuna. L'account sviluppatore (proprietario del progetto) non rientra nel limite di 5 utenti per una struttura.
Al contrario, se un progetto ha 15 utenti in 5 strutture, gli utenti aggiuntivi possono essere aggiunti solo alle 5 strutture esistenti, poiché il limite di strutture è già stato raggiunto.
Limiti di frequenza della sandbox
Il sandbox è limitato a tre diversi livelli. I limiti sono impostati su query al minuto (QPM), se non diversamente indicato.
Livello API
Le chiamate API sono limitate per progetto e per utente. Per ulteriori informazioni sui singoli metodi, consulta il riferimento API.
Metodo API | Limite di frequenza |
---|---|
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 |
Livello di comando
Ogni comando di tratto (devices.executeCommand
) è limitato a 5 QPM per progetto,
per utente, per dispositivo.
Ciò significa che se un progetto ha 2 utenti con 2 dispositivi ciascuno (4 dispositivi in totale), lo stesso comando può essere chiamato 5 volte al minuto per ciascuno di questi 4 dispositivi.
Tuttavia, se un progetto ha 2 utenti con 3 dispositivi ciascuno per un totale di 6 dispositivi, lo stesso comando non può essere chiamato 5 volte al minuto per ciascuno di questi 6 dispositivi. Ciò comporterebbe 15 QPM per ogni utente, quando il
limite di frequenza a livello di API devices.executeCommand
per l'utente di un progetto è di 10 QPM.
Livello di istanza del dispositivo
Inoltre, i limiti a livello di istanza del dispositivo vengono implementati in tutti i progetti e
i comandi (devices.executeCommand
) per la protezione della batteria del dispositivo. Questi limiti
vengono applicati sia a livello di QPM sia di query all'ora (QPH) e non si applicano
ai metodi API get
e list
.
Supponiamo, ad esempio, che il progetto A e il progetto B abbiano entrambi accesso allo stesso dispositivo, il dispositivo A (forse l'utente ha autorizzato due diverse integrazioni commerciali che utilizzano lo stesso dispositivo). Se il progetto A ha inviato 4 comandi al dispositivo A entro un minuto, il progetto B può inviare solo 1 comando al dispositivo A nello stesso minuto prima di raggiungere il limite di frequenza a livello di istanza del dispositivo. A quel punto, i comandi di entrambi i progetti al dispositivo A vengono limitati fino alla fine del minuto iniziato con il primo comando al dispositivo A.
Se un tipo di dispositivo non è elencato di seguito, non ha limiti di frequenza a livello di istanza del dispositivo.
Tipo di dispositivo | Limite di frequenza delle istanze del dispositivo |
---|---|
THERMOSTAT | 5 QPM o 100 QPH |
FOTOCAMERA | 30 QPM o 100 QPH |
CAMPANELLO | 30 QPM o 100 QPH |
Errori
In relazione a questa guida, potrebbero essere restituiti i seguenti codici di errore:
Messaggio di errore | RPC | Risoluzione dei problemi |
---|---|---|
Numero certificati limitato. | RESOURCE_EXHAUSTED |
Ogni sviluppatore ha una quota che limita il numero di chiamate che può effettuare. Se effettui più chiamate rispetto alla tua quota, riceverai il messaggio Limite di frequenza raggiunto. Per risolvere il problema, invia nuovamente la chiamata una volta scaduta la quota. |
Consulta i riferimenti ai codici di errore dell'API per l'elenco completo dei codici di errore dell'API.