Quotas et limites

Cloud IoT Core impose des limites à l'attribution et à l'utilisation des ressources, et applique des quotas appropriés pour chaque projet. Les règles spécifiques varient en fonction de la disponibilité des ressources, du profil de l'utilisateur, de l'historique d'utilisation du service et d'autres facteurs. Elles peuvent en outre être modifiées sans préavis.

Limites

Dans cette section, vous trouverez la liste des quotas pour Cloud IoT Core répartis en trois catégories : projet/appareil/télémétrie, débit et durée.

Limites associées aux projets, aux appareils et à la télémétrie

Quota Limite Augmentation possible
Appareils par projet et par région Pas de limite, mais la valeur définie par défaut est 100 000 Oui
Registres d'appareils par projet et par région 100 Oui
Appareils liés à une passerelle 10 000 Non
Appareils rattachés à une passerelle 1 000 Non
Passerelles liées à un appareil 10 Non
Longueur de l'ID de l'appareil 256 octets Non
Longueur de l'ID du registre d'appareils 256 octets Non
Métadonnées de l'appareil 500 paires clé/valeur Non
Clé de métadonnées de l'appareil 128 caractères Non
Valeur des métadonnées de l'appareil 32 Ko Non
Taille combinée des paires de métadonnées clé/valeur 256 Ko Non
Identifiants par appareil 3 Non
Versions de configuration par appareil 10 Non
Données de configuration de l'appareil 64 Ko Non
Taille maximale de la pagination pour une requête "list" 500 Non
Charge utile de l'état de l'appareil 64 Ko Non
Configurations de notification pour les événements de télémétrie 10 Non
Charge utile de l'événement de télémétrie 256 Ko Non
Connexions MQTT par appareil 1 Non
Connexions MQTT ouvertes, par projet et par région 10 000 Oui
Connexions d'appareil HTTP actives (dans les 5 dernières minutes), par projet et par région 10 000 Oui

Limites de débit

Quota Limite Augmentation possible
Publications de télémétrie d'appareil HTTP par appareil 6 000 par minute Non
Publications de télémétrie d'appareil par projet Pas de limite, mais la valeur définie par défaut est 60 000 par minute Oui
Débit depuis l'appareil vers le cloud, par appareil 512 Ko par seconde Non
Débit depuis le cloud vers l'appareil, par appareil 512 Ko par seconde Non
Mises à jour de configuration par appareil 1 par seconde Non
Mises à jour d'attributs par appareil 1 par seconde Non
Mises à jour d'attributs par registre 1 par seconde Non
Appels de lecture de l'API de gestion des appareils par projet 30 000 par minute Oui
Appels de création et de suppression de l'API de gestion des appareils par projet 3 000 par minute Non
Appels de mise à jour de l'API de gestion des appareils par projet
(voir l'exception à la ligne suivante)
3 000 par minute Oui
Appels modifyCloudToDeviceConfig de l'API de gestion des appareils par projet 6 000 par minute Oui
Messages entrants MQTT par seconde et par connexion 100 par seconde Non
Connexions MQTT d'appareil par appareil 1 par seconde Non
Connexions MQTT d'appareil et requêtes HTTP par projet 60 000 par minute Non
Mises à jour d'état par appareil 1 par seconde* Non
Mises à jour d'état par projet 6 000 par minute* Non
Nombre d'événements enregistrés par projet 1 000 par seconde Oui
Taille des événements enregistrés par projet 1 Mo par seconde (chaque entrée de journal est d'environ 1 Ko) Oui
Commandes par registre 1 000 par seconde Oui
Commandes par projet 1 000 par seconde Oui
Abonnements MQTT associés au sujet des commandes par connexion d'appareil 1 par seconde Non

* Pour en savoir plus, consultez la page Obtenir l'état de l'appareil.

Limites de durée

Quota Limite Augmentation possible
Variation d'horloge de l'autorisation JWT 10 minutes Non
Durée de vie JWT (exp moins iat ne peut pas dépasser la limite) 24 heures Non
Durée d'inactivité MQTT (sans pulsation ni message) 20 minutes Non
Durée de connexion MQTT 24 heures** Non
Délai avant expiration de la commande 60 secondes Non
Répétition des tentatives d'exécution de la commande 60 secondes Non

** Les connexions peuvent être réinitialisées de manière occasionnelle (par exemple, pour le redémarrage d'un serveur).

Application des quotas

Les conséquences du dépassement d'un quota sont différentes pour les projets et les ressources, par exemple pour les registres et les appareils :

  • Si le projet dépasse le quota, il est bloqué jusqu'à ce que l'utilisation soit de nouveau inférieure à la limite. Dans de rares cas, une période d'application du quota peut se poursuivre même si votre utilisation ne dépasse plus la limite autorisée. Si vous ne dépassez plus les quotas, mais que votre projet continue d'être bloqué, attendez un peu et réessayez.
  • Si l'appareil qui utilise le pont MQTT dépasse le quota, il est déconnecté.
  • Si l'appareil qui utilise le pont HTTP dépasse le quota, il reçoit une réponse RESOURCE_EXHAUSTED.

Par exemple, si vous essayez de mettre à jour la configuration d'un appareil plusieurs fois par seconde via le pont MQTT, Cloud IoT Core déconnecte l'appareil. Pour résoudre le problème, assurez-vous de ne pas publier plus d'une configuration d'appareil par seconde (idéalement, une toutes les 10 secondes), puis reconnectez l'appareil. Pour en savoir plus, consultez la page Configurer des appareils.

Augmentation des quotas

Par défaut, les limites sont définies sur leur valeur maximale. Pour demander une augmentation d'un quota au-delà de la valeur maximale, procédez comme suit :

  1. Dans la section API et services de Google Cloud Console, sélectionnez le quota à modifier.

  2. Cliquez sur Modifier les quotas.

  3. Renseignez les champs du volet Modifier les quotas, puis cliquez sur Suivant.

  4. Cliquez sur Demander un quota supérieur, remplissez le formulaire de demande de quota, puis envoyez-le.

Si vous voulez augmenter un quota, mais qu'il n'est pas affiché dans Cloud Console, remplissez le formulaire de demande de quota.

Requêtes HTTP compressées

Comme indiqué sur la page Compresser des requêtes HTTP, un appareil peut envoyer des données compressées avec GZIP à Cloud IoT Core via le pont HTTP.

Les limites pour les charges utiles d'événements de télémétrie et les charges utiles d'états d'appareils sont calculées à partir de la taille non compressée de chaque requête.

Par exemple, si un appareil envoie une charge utile d'événement de télémétrie compressée correspondant à 10 Ko, mais que la charge utile initiale avant la compression était de 257 Ko, la requête échoue, car la charge utile d'événement de télémétrie est supérieure à la limite de 256 Ko.