Quotas et limites

Workflows utilise des quotas et des limites système pour maintenir une allocation équitable des ressources, éviter les surcharges de service et vous aider à gérer l'utilisation des ressources.

Les quotas et les limites du système sont similaires, mais diffèrent sur les points suivants :

  • Les quotas ont des valeurs par défaut, mais vous pouvez généralement demander des ajustements.
  • Les limites système sont des valeurs fixes qui ne peuvent pas être modifiées.

Google Cloud utilise des quotas pour garantir l'équité et réduire les pics d'utilisation et de disponibilité des ressources. Un quota limite la quantité d'une ressourceGoogle Cloud que votre projet Google Cloud peut utiliser. Les quotas s'appliquent à différents types de ressources, y compris les composants matériels, logiciels et réseau. Par exemple, ils peuvent limiter le nombre d'appels d'API à un service, le nombre d'équilibreurs de charge utilisés simultanément par votre projet ou le nombre de projets que vous pouvez créer. Ils protègent la communauté des utilisateurs deGoogle Cloud en empêchant la surcharge des services. Les quotas vous aident également à gérer vos propres ressources Google Cloud .

Le système Cloud Quotas permet d'effectuer les opérations suivantes :

Dans la plupart des cas, lorsque vous tentez d'utiliser une ressource plus que son quota ne le permet, le système bloque l'accès à la ressource et la tâche que vous essayez d'effectuer échoue.

Les quotas s'appliquent généralement au niveau du projet Google Cloud . Votre utilisation d'une ressource dans un projet n'affecte pas votre quota disponible dans un autre projet. Dans un projet Google Cloud , les quotas sont partagés entre toutes les applications et adresses IP.

Pour en savoir plus, consultez la présentation des quotas Cloud.

Des limites système s'appliquent également aux ressources Workflows. Elles ne peuvent pas être modifiées.

Quotas

Workflows applique les quotas suivants pour chaque projet Google Cloud. Vous pouvez augmenter ou diminuer ces quotas :

Quota Description Valeur
Nombre total de workflows Nombre maximal de workflows que vous pouvez déployer par projet 10 000
Exécutions simultanées

Nombre maximal d'exécutions de workflows actives par région et par projet. Les exécutions simultanées sont des exécutions qui ont démarré et qui ne sont pas encore terminées ou qui ont échoué, y compris celles qui sont en attente de rappels ou qui sont en veille.

Une fois le quota atteint, et avec le backlog d'exécution activé par défaut (à quelques exceptions près), les exécutions sont créées à l'état QUEUED. Si le backlog d'exécution est désactivé ou si le quota d'exécutions en backlog est atteint, les nouvelles exécutions échouent avec un code d'état HTTP 429 Too many requests. Pour en savoir plus, consultez Gérer le backlog d'exécution.

10 000
Exécutions en attente Nombre maximal d'exécutions de workflow en attente par région et par projet.

Pour en savoir plus, consultez Gérer le backlog d'exécution.

100 000
Requêtes API Workflow Nombre maximal de requêtes API (create, update, list, get, delete) provenant de tous les workflows de votre projet (par minute et par emplacement) 1 200
Requêtes Get API Execution Nombre maximal de requêtes d'exécutions de workflow get pour tous les workflows de votre projet (par minute et par emplacement) 6 000
Requêtes List API Execution Nombre maximal de requêtes d'exécutions de workflow list pour tous les workflows de votre projet (par minute et par emplacement) 1 200
Requêtes d'écriture API Execution Nombre maximal de requêtes d'exécution de workflow create et cancel (y compris les exécutions déclenchées par Eventarc) pour tous les workflows de votre projet (par minute et par emplacement).

Si les exécutions déclenchées par Eventarc dépassent ce maximum, les événements sont relancés conformément à la règle de nouvelle tentative d'Eventarc.

6 000
Requêtes d'obtention des entrées d'étape de l'API Execution Nombre maximal de requêtes vers get, une entrée d'étape d'une exécution de workflow (par minute et par emplacement) 6 000
Requêtes de l'API Execution pour lister les entrées d'étapes Nombre maximal de requêtes d'entrées d'étape list à partir d'une exécution de workflow (par minute et par emplacement) 1 200
Requêtes d'exportation de données de l'API Execution Nombre maximal de requêtes adressées à export data à partir d'une exécution de workflow (par minute et par emplacement) 10
Requêtes HTTP vers des points de terminaison de rappel Nombre maximal de requêtes API SendHttpCallback effectuées sur les ressources d'exécution de tous les workflows de votre projet (par minute et par emplacement) 1 500
Requêtes de rappel de liste de l'API Execution Nombre maximal de requêtes adressées aux rappels list à partir d'une exécution de workflow (par minute et par emplacement) 300

Demandes d'augmentation de quota

Pour augmenter ou réduire les quotas, utilisez la console Google Cloud . Pour plus d'informations, consultez la page Demander un quota supérieur.

Surveiller l'utilisation des quotas

Vous pouvez interroger et surveiller les métriques d'utilisation des quotas. Pour obtenir un exemple, consultez Surveiller les métriques de quota, qui montre comment interroger le quota d'allocation total consommé pour Workflows. Pour plus d'informations sur la surveillance des métriques d'utilisation des quotas, consultez la page Représenter graphiquement et surveiller les métriques de quota.

Limites d'étapes

Workflows applique les limites d'étapes suivantes pour chaque workflow. Vous ne pouvez pas demander de modifier les limites suivantes :

Limite Description Valeur
Attributions par étape Nombre maximal d'attributions pouvant être effectuées en une seule étape 50
Conditions par contacteur Nombre maximal de conditions pouvant être évaluées dans un seul bloc switch 50
Profondeur maximale de la pile d'appel Nombre maximal de niveaux de fonctions d'appel (par exemple, lorsqu'un sous-workflow s'appelle lui-même ou appelle un autre sous-workflow, ou lorsque des appels de fonction de bibliothèque standard appellent à leur tour d'autres fonctions) 20
Étapes minimales Nombre minimal d'étapes dans un workflow 1
Nombre maximal de pas Nombre maximal d'étapes pouvant être effectuées dans une seule exécution de workflow

Pour en savoir plus sur ce qui est considéré comme une étape, consultez Optimiser l'utilisation.

100 000

Limites des étapes parallèles

Workflows applique les limites suivantes lors de l'utilisation d'étapes parallèles. Vous ne pouvez pas demander de modifier les limites suivantes :

Limite Description Valeur
Branches par étape Nombre maximal de branches acceptées dans une étape parallèle 10
Parallèle Profondeur maximale d'imbrication des étapes parallèles 2
Branches et itérations simultanées

Nombre maximal de branches et d'itérations pouvant s'exécuter simultanément dans une même exécution de workflow avant que d'autres branches et itérations ne soient automatiquement mises en file d'attente pour attendre la fin d'un ou de plusieurs threads en cours d'exécution.

Il n'y a pas de limite au nombre total de threads, mais toutes les autres limites s'appliquent.

20
Exceptions non interceptées dans une étape parallèle Nombre maximal d'exceptions non gérées pouvant être générées lors de l'exécution du workflow (au total) 100

Limites de ressources

Les limites d'utilisation suivantes s'appliquent à Workflows. Vous ne pouvez pas demander de modification de ces limites :

Limite Description Valeur
Taille du code source Taille maximale du fichier YAML ou JSON qui définit votre workflow 128 Ko
Taille d'une réponse Taille maximale d'une réponse HTTP (si elle est enregistrée dans une variable, la limite de mémoire pour les variables s'applique) 2 Mo
Expiration du délai de la requête HTTP

Durée maximale configurable pour une seule requête HTTP. Une requête qui dépasse son délai avant expiration échoue avec une erreur TimeoutError :

  • Pour les étapes de requête HTTP (http.get, http.post, http.request et autres appels http.*), la valeur par défaut de timeout est de 300 secondes (5 minutes). Vous pouvez configurer un timeout jusqu'à 1 800 secondes (30 minutes). Si vous définissez timeout sur une valeur supérieure à 1 800 secondes,une erreur ValueError est générée.
  • Pour les appels de connecteur, la valeur par défaut de connector_params.timeout est de 1 800 secondes (30 minutes). Si vous configurez un connector_params.timeout plus long pour les nouvelles tentatives ou l'interrogation des opérations de longue durée (jusqu'à un an), chaque requête HTTP individuelle est limitée à 1 800 secondes.
1 800 secondes (30 minutes)
Longueur de l'expression Nombre maximal de caractères dans une seule expression 400 caractères
Taille des données Taille maximale cumulée des variables, des arguments et des événements : 512 Ko
  • Quantité maximale de mémoire que vous pouvez utiliser pour toutes les variables que vous définissez dans une seule exécution d'un workflow donné
  • Taille maximale des arguments que vous pouvez transmettre lors de la création d'une exécution de workflow
  • Taille maximale de la charge utile Eventarc que vous pouvez transmettre lors du déclenchement d'une exécution de workflow avec des événements
Longueur maximale de la chaîne en octets avec encodage UTF-8 256 Ko
Variables d'environnement Taille maximale d'une chaîne de définition de variable d'environnement définie par l'utilisateur (KEY=value) ; vous pouvez définir jusqu'à 20 variables. 4 Kio
Durée de l'exécution Durée maximale (de l'heure de début à l'heure de fin) d'une exécution de workflow. Tout workflow qui dépasse cette limite se termine par une erreur de délai avant expiration. 1 an
Conservation des exécutions Durée de conservation maximale (après la fin de l'exécution d'un workflow) de l'historique et des résultats d'une exécution 90 jours
Fenêtre de déduplication Fenêtre de déduplication permettant d'assurer un traitement de type "exactement une fois" lors du déclenchement d'une exécution de workflow avec des événements 24 heures