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
Quotas | 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 associés à une passerelle | 10 000 | Non |
Appareils attaché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
Quotas | 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 | Oui |
Mises à jour d'état par appareil | 1 par seconde* | Non |
Mises à jour d'état par projet | 6 000 par minute* | Oui |
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
Quotas | 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 :
Dans la section API et services de Google Cloud Console, sélectionnez le quota à modifier.
Cliquez sur Modifier les quotas.
Renseignez les champs du volet Modifier les quotas, puis cliquez sur Suivant.
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'apparaît pas dans la console, remplissez le formulaire de demande de quota.
Requêtes HTTP compressées
Comme indiqué sur la page Utiliser le pont 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.