Google is committed to advancing racial equity for Black communities. See how.

Limites de débit de données

Nous voulons que les développeurs créent des expériences utilisateur convaincantes, mais nous voulons également que le service et les appareils Nest soient toujours disponibles pour l'utilisateur. Les produits qui effectuent un grand nombre de demandes au cours d'une période donnée peuvent avoir un impact sur la disponibilité du service et des appareils. La limitation du débit restreint le nombre d'appels d'API pour une période donnée.

Types de limites de taux

Nous avons mis en place deux classes de limites de taux. Les premières limites sont par appareil ou de la structure par heure. Ces limites sont communes à tous les produits Works with Nest et sont destinées à empêcher la surutilisation des appareils. La deuxième classe de limites sont par jeton d'accès. Ces limites sont conçues pour empêcher la surutilisation du service Nest.

Limites par appareil/structure

Chaque écriture dans le modèle de données nécessite que l'appareil se réveille et synchronise l'état. Cela peut avoir un impact sur la durée de vie de la batterie, nous limitons donc le nombre d'écritures sur les appareils et les structures. Nous surveillons également l'état de la batterie de tous les appareils. Si elles descendent en dessous d'un certain seuil, nous rejetterons les demandes d'écriture jusqu'à ce que la batterie soit rechargée.

Limites par jeton d'accès

Chaque jeton d'accès a également une limite de débit associée. L'établissement de connexions au service entraîne une certaine surcharge, nous limitons donc le nombre de connexions qu'un produit peut établir dans une période de temps spécifique.

Pour les appels en streaming REST et REST, chaque jeton d'accès a un nombre limité d'appels. Les limites de débit de données s'appliquent aux appels de lecture/écriture via REST et aux appels de lecture via le streaming REST. Pour éviter les erreurs, nous vous recommandons de limiter les demandes à un appel par minute maximum.

Réponse d'erreur

Lorsque vous utilisez REST , vous recevrez un code de réponse de 429 Trop de demandes.

Gérer les redirections 307

Lors de REST appels, votre produit devra gérer 307 réoriente. Également connue sous le nom de transfert d'URL, une réponse de redirection temporaire 307 fournit une nouvelle URL au navigateur pour soumettre à nouveau une demande.

Lorsqu'une redirection 307 se produit, vous devrez refaire l'appel avec les nouvelles informations d'URL. Lorsque vous faites cela, vous devez mettre en cache l'hôte et le numéro de port à utiliser lors des futurs appels avec cet utilisateur/jeton d'accès. N'oubliez pas que chaque appel compte dans la limite de débit. Considérez comment votre utilisateur interagit avec votre produit. Certains utilisateurs appuieront sur un bouton ou choisiront un paramètre à plusieurs reprises. Par conséquent, si vous effectuez un appel pour chaque action de l'utilisateur, cela peut avoir un impact très rapide sur les limites de débit. Si un utilisateur effectue une série de modifications en succession rapide, vous ne devez effectuer un appel API que pour la dernière valeur (la plus récente).

Pour plus d' informations et un exemple, consultez Comment gérer Redirects .

Après la redirection 307

Si vous utilisez les informations de l'URL de redirection et obtenez une redirection 307 ultérieurement, vous devez suivre cette redirection.

Erreur de connexion

Si vous utilisez les informations d'URL mises en cache et obtenez une erreur de connexion (en raison d'un hôte hors service ou d'un site en panne), vous devez revenir à l'URL de base d'origine.

Modifications de la limite de débit

Au fur et à mesure que nous en apprenons davantage sur les modèles d'utilisation et leur impact sur le service, nous pouvons juger nécessaire de modifier les limites de taux. Nous vous encourageons vivement à concevoir vos produits de manière à utiliser le nombre minimum d'appels requis pour créer une expérience utilisateur convaincante et à traiter les violations de limite de débit de manière appropriée.