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.