Limites relatives aux utilisateurs et au débit

Les projetsDevice Access sont soumis à des limites d'utilisateur, de structure et 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 que le service et les appareils Nest soient toujours disponibles pour l'utilisateur. Les intégrations qui effectuent un grand nombre de requêtes sur une période donnée peuvent avoir un impact sur la disponibilité des services et 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 et empêche la surutilisation des ressources.

Limites par environnement

Tous les projets commencent dans l'environnement   bac à sable  . La Sandbox est destinée à l'évaluation de l'API SDM et à un usage personnel. Les limites sont donc restreintes en conséquence. Les environnements avec des bases d'utilisateurs plus importantes, comme   Développement commercial  , ont des limites différentes.

Limites d'utilisateurs dans le bac à sable

Un compte de développeur dans le bac à sable est limité à 25 utilisateurs répartis dans 5 structures pour tous les projets. Le nombre de projets par compte est limité à trois.

Les structures sont limitées à cinq utilisateurs chacune. La limite d'utilisateurs ne sera donc atteinte que lorsque les cinq structures seront complètes (cinq utilisateurs chacune). Le compte de développeur (propriétaire du projet) n'est pas comptabilisé dans la limite de cinq utilisateurs pour une structure.

À l'inverse, si un projet compte 15 utilisateurs répartis dans 5 structures, vous ne pourrez ajouter d'autres utilisateurs qu'aux 5 structures existantes, car la limite de structures a déjà été atteinte.

Limites de débit du bac à sable

La sandbox est limitée à trois niveaux différents. Sauf indication contraire, les limites sont définies en requêtes par minute (RPM).

Niveau d'API

Les appels d'API sont limités par projet et par utilisateur. Pour en savoir plus sur les méthodes individuelles, consultez la documentation de référence de l'API.

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 de commande

Chaque commande de caractéristique (devices.executeCommand) est limitée à cinq requêtes par minute par projet, par utilisateur et par appareil.

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

Toutefois, si un projet compte deux utilisateurs avec trois appareils chacun (soit six appareils au total), la même commande ne peut pas être appelée cinq fois par minute pour chacun de ces six appareils. Cela entraînerait 15 requêtes par minute pour chaque utilisateur, alors que la limite de fréquence au niveau de l'API devices.executeCommand pour un utilisateur de projet est de 10 requêtes par minute.

Au niveau de l'instance de l'appareil

De plus, des limites au niveau des instances d'appareils sont implémentées dans les projets et les commandes (devices.executeCommand) pour protéger la batterie des appareils. Ces limites s'appliquent à la fois aux niveaux de requêtes par minute (QPM) et 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 deux accès au même appareil, l'appareil A (l'utilisateur a peut-être autorisé deux intégrations commerciales différentes qui utilisent le même appareil). Si le projet A a envoyé quatre commandes à l'appareil A en une minute, le projet B ne peut envoyer qu'une seule commande à l'appareil A au cours de cette même minute avant d'atteindre la limite de fréquence au niveau de l'instance de l'appareil. À ce moment-là, les commandes des deux projets vers l'appareil A sont limitées jusqu'à la fin de la minute qui a commencé avec la première commande vers l'appareil A.

Si un type d'appareil ne figure pas dans la liste ci-dessous, il n'est pas soumis à des limites de fréquence au niveau de l'instance d'appareil.

Type d'appareil Limite de fréquence des instances d'appareil
THERMOSTAT 5 RPM ou 100 RPH
CAMÉRA 30 RPM ou 100 RPH
SONNETTE 30 RPM ou 100 RPH

Erreurs

Les codes d'erreur suivants peuvent être renvoyés en lien avec ce guide :

Message d'erreur RPC Dépannage
Nombre limité. RESOURCE_EXHAUSTED Chaque développeur dispose d'un quota qui limite le nombre d'appels qu'il peut effectuer. Si vous effectuez plus d'appels que votre quota, le message "Débit limité" s'affiche. 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 obtenir la liste complète des codes d'erreur de l'API.