Device Access I progetti sono limitati da utenti, struttura e limiti di frequenza, a seconda dell'ambiente e del tipo di offerta commerciale.
Vogliamo che gli sviluppatori creino esperienze utente coinvolgenti, ma vogliamo anche che il servizio e i dispositivi Nest siano sempre disponibili per l'utente. Le integrazioni che fanno un numero elevato di richieste in un determinato periodo di tempo possono influire sulla disponibilità del servizio e dei 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 dell'uso personale e i limiti sono limitati di conseguenza. Gli ambienti con una base di utenti più ampia, come lo sviluppo commerciale , hanno limiti diversi.
Limiti relativi agli utenti della sandbox
Un account sviluppatore nella sandbox è limitato a 25 utenti in 5 strutture in tutti i progetti. Esiste un limite di 3 progetti per account.
Le strutture sono limitate a 5 utenti ciascuna, quindi il limite verrà raggiunto solo quando tutte e 5 le strutture vengono raggiunte, con 5 utenti ciascuna. L'account sviluppatore (proprietario del progetto) non viene conteggiato ai fini del limite di 5 utenti per una struttura.
Al contrario, se un progetto ha 15 utenti su 5 strutture, è possibile aggiungere altri utenti solo alle 5 strutture esistenti, poiché il limite di strutture è già stato raggiunto.
Limiti di frequenza della sandbox
La sandbox è soggetta a una limitazione di frequenza a tre diversi livelli. I limiti sono impostati sulle 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 all'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 trait (devices.executeCommand
) è limitato a 5 QPM per progetto,
per utente e 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 in un 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 in un minuto per ciascuno di questi 6 dispositivi. Ciò comporterà 15 QPM per ogni utente, quando il limite di frequenza a livello di API devices.executeCommand
per l'utente di un progetto è pari a 10 QPM.
A livello di istanza del dispositivo
Inoltre, i limiti a livello di istanze del dispositivo vengono implementati nei progetti e nei comandi (devices.executeCommand
) per la protezione della batteria del dispositivo. Questi limiti
vengono applicati sia a livello di QPM che di query all'ora (QPH) e non si applicano
ai metodi API get
e list
.
Ad esempio, supponiamo 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 nell'arco di un minuto, il progetto B può inviare un solo comando al dispositivo A nello stesso minuto prima che venga raggiunto il limite di frequenza a livello di istanza del dispositivo. A quel punto, i comandi da 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 |
---|---|
TERMOSTATO | 5 QPM o 100 QPH |
FOTOCAMERA | 30 QPM o 100 QPH |
DOORBELL | 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 Limitazione di frequenza. Per risolvere il problema, invia nuovamente la chiamata una volta scaduta la quota. |
Consulta il riferimento ai codici di errore dell'API per un elenco completo dei codici di errore dell'API.