Limites relatives aux utilisateurs et au débit

Device Access les projets sont limités par les utilisateurs, la structure et les limites de débit, en fonction de l'environnement et du type d'offre commerciale.

Nous souhaitons que les développeurs créent des expériences utilisateur attrayantes, mais nous voulons également assurer la disponibilité permanente des services et des appareils Nest pour l'utilisateur ; Des intégrations effectuer un grand nombre de requêtes sur une période donnée peut avoir un impact sur le service la disponibilité des appareils. C'est pourquoi l'API SDM applique des limites de débit. La limitation du débit restreint le nombre d'appels d'API pour une période donnée. empêche la surutilisation des ressources.

Limites par environnement

Tous les projets démarrent dans l'environnement   Bac à sable  . Le bac à sable est destiné à l'évaluation de l'API SDM et de son usage personnel, et sont limitées en conséquence. Les environnements avec des bases d'utilisateurs plus importantes, tels que   Développement commercial  , ont des limites différentes.

Limites d'utilisateurs du bac à sable

Un compte de développeur dans le bac à sable est limité à 25 utilisateurs sur cinq des structures dans tous les projets. La limite est de trois projets par compte.

Les structures sont limitées à cinq utilisateurs chacune. La limite maximale sera donc atteinte une fois que les 5 structures ont atteint leur maximum avec 5 utilisateurs chacune. Le compte de développeur (propriétaire du projet) n'est pas comptabilisé dans la limite de cinq utilisateurs pour structure.

À l'inverse, si un projet compte 15 utilisateurs répartis sur 5 structures, des utilisateurs supplémentaires peuvent ne peuvent être ajoutées qu'aux 5 structures existantes, car la limite est de déjà été touchées.

Limites de débit du bac à sable

Le bac à sable est limité en termes de débit à trois niveaux différents. Les limites sont définies sur requêtes par minute (RPM), sauf indication contraire.

Niveau d'API

Les appels d'API sont limités par projet et par utilisateur. Voir l'API Documentation de référence pour en savoir plus sur les méthodes.

Méthode API Limite de débit
devices.executeCommand 10 RPM
devices.get 10 RPM
devices.list 5 RPM
structures.get 5 RPM
structures.list 5 RPM
structures.rooms.get 5 RPM
structures.rooms.list 5 RPM

Niveau commande

Chaque commande de caractéristique (devices.executeCommand) est limitée à 5 RPM par projet, par utilisateur et par appareil.

Cela signifie que si un projet compte deux utilisateurs avec chacun deux appareils (soit quatre appareils au total), la même commande peut être appelée 5 fois par minute pour chacun de ces 4 appareils.

Toutefois, si un projet compte deux utilisateurs avec trois appareils chacun pour six appareils au total, le La même commande ne pouvait pas être appelée cinq fois en une minute pour chacune de ces six appareils. Cela donne 15 RPM pour chaque utilisateur, La limite de débit pour le niveau d'API devices.executeCommand pour l'utilisateur d'un projet est de 10 RPM.

Niveau de l'instance de l'appareil

De plus, les limites au niveau des instances d'appareil sont appliquées à l'ensemble des projets et (devices.executeCommand) pour protéger la batterie de l'appareil. Ces limites sont appliquées au niveau des RPM et du nombre de requêtes par heure (QPH), et ne s'appliquent pas aux méthodes d'API get et list.

Par exemple, supposons que les projets A et B aient tous les deux accès au même appareil A (l'utilisateur a peut-être autorisé deux types des intégrations qui utilisent le même appareil). Si le projet A a envoyé 4 commandes à l'appareil A dans la minute, le projet B ne peut envoyer qu'une seule commande à l'appareil A dans à la même minute avant que la limite de débit au niveau de l'instance d'appareil soit atteinte. À ça les commandes envoyées des deux projets à l'appareil A sont limitées la minute qui a commencé par la première commande vers l’appareil A.

Si un type d'appareil ne figure pas dans la liste ci-dessous, cela signifie qu'il n'a pas de niveau d'instance d'appareil. les limites de débit.

Type d'appareil Limite de débit des instances d'appareil
thermostat 5 RPM ou 100 RPM
CAMÉRA 30 RPM ou 100 RPM
DOORBELL 30 RPM ou 100 RPM

Erreurs

Le ou les codes d'erreur suivants peuvent être renvoyés en rapport avec ce guide:

Message d'erreur RPC Dépannage
Taux limité. RESOURCE_EXHAUSTED Chaque développeur dispose d'un quota qui limite le nombre d'appels qu'il peut effectuer. Si vous dépassez votre quota d'appels, vous recevrez un message de débit limité. Pour résoudre ce problème, renvoyez l'appel une fois le quota expiré.

Consultez la documentation de référence sur les codes d'erreur de l'API pour la liste complète des codes d'erreur de l'API.