I progettiDevice Access sono limitati da limiti di utenti, strutture e tariffe, 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 è prevista per la valutazione dell'API SDM e per l'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 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 3 progetti per account.
Le strutture sono limitate a 5 utenti ciascuna, pertanto il limite di utenti verrà raggiunto solo quando tutte e 5 le strutture avranno raggiunto il numero massimo di 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 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 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 di tratto (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ò corrisponde a 15 QPM per ogni utente, quando il
devices.executeCommand
limite di frequenza a livello di API per l'utente di un progetto è 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 entro 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 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 |
---|---|
TERMOSTATO | 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 Tariffa limitata. 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.