La tâche Boucle "while" permet d'effectuer des appels répétés à une sous-intégration à partir de votre intégration principale jusqu'à ce qu'une condition spécifiée soit remplie.
L'ID de déclencheur d'API et le nom de l'intégration identifient la sous-intégration que vous souhaitez exécuter.
La tâche vous permet également de collecter la réponse de chaque exécution de sous-intégration et de stocker la valeur dans votre intégration actuelle à utiliser dans les tâches en aval. Vous pouvez utiliser l'une des approches suivantes pour recueillir les réponses :
Rassemblez les réponses obtenues à chaque exécution dans une variable de tableau, où chaque élément du tableau contient la réponse obtenue pour une exécution spécifique. Pour rassembler les réponses, configurez la propriété Collect values from sub-integration output(s).
Rassemblez les réponses de toutes les exécutions dans une seule variable. Pour agréger les réponses, configurez la propriété Override values from sub-integration output(s).
Avant de commencer
Assurez-vous d'avoir associé un compte de service géré par l'utilisateur à votre intégration. Si aucun compte de service géré par l'utilisateur n'est configuré pour l'intégration, le compte de service par défaut (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) est utilisé par défaut pour l'authentification.
Assurez-vous que votre compte de service dispose du rôle IAM Demandeur Application Integration. Pour en savoir plus sur l'attribution d'un rôle à un compte de service, consultez la page Gérer l'accès aux comptes de service.
Propriétés de configuration
Le tableau suivant décrit les propriétés de configuration de la tâche Boucle "while".
Property (Propriété)
Type de données
Description
API Trigger ID
Chaîne
ID du déclencheur de la sous-intégration à exécuter.
Cette valeur est disponible dans le champ ID du déclencheur du déclencheur d'API dans la sous-intégration.
Integration name
Chaîne
Nom de la sous-intégration à exécuter.
While loop condition
Non disponible
Condition pour arrêter la boucle. La sous-intégration s'exécute jusqu'à ce que la condition soit satisfaite. Par exemple, $loopMetadata.current_iteration_count$< 10.
Map to sub-integration input(s)
N/A
Valeurs à transmettre de l'intégration actuelle à la sous-intégration.
Les valeurs de cette propriété se présentent sous la forme de paires clé/valeur, où la clé est une variable de l'intégration actuelle et la valeur est la variable d'entrée correspondante dans la sous-intégration. Par exemple, supposons que votre intégration principale possède la variable productID, que vous souhaitez mapper avec la sous-variable d'intégration subIntProductID. Vous devez sélectionner productID dans la liste déroulante Variable d'intégration à mapper et saisir subIntProductID dans le champ Entrée de sous-intégration vers laquelle mapper.
Collect values from sub-integration output(s)
Non disponible
Rassemblez les résultats des exécutions de la sous-intégration.
À chaque exécution de la sous-intégration, vous pouvez stocker le résultat de la sous-intégration dans une variable de tableau de l'intégration actuelle. Saisissez la variable de sortie de la sous-intégration dans le champ Sortie de la sous-intégration à collecter, puis sélectionnez la variable de tableau de l'intégration actuelle dans la liste déroulante Variable d'intégration à collecter. Chaque élément du tableau contient la réponse d'une exécution de sous-intégration particulière. Par exemple, si la variable de tableau est resultsArray, resultsArray[0] contient la réponse de la première exécution et resultsArray[1] contient la réponse de la deuxième exécution.
Override values from sub-integration output(s)
ND
Lisez la variable de sortie d'une exécution de sous-intégration et stockez-la dans une variable de l'intégration actuelle.
Sélectionnez la variable de sortie de la sous-intégration dans la liste déroulante Sortie de la sous-intégration à mapper, puis sélectionnez la variable correspondante de l'intégration actuelle dans la liste déroulante Variable d'intégration à remplacer. Vous pouvez envoyer la variable remplacée dans l'intégration actuelle vers la prochaine exécution de sous-intégration en mappant la variable dans la propriété Mapper à d'autres entrées de sous-intégration. Par conséquent, vous pouvez agréger de manière cumulative les réponses des exécutions de sous-intégration.
Loop metadata
Tableau JSON
La variable de sortie contenant les détails de l'exécution de la sous-intégration s'exécute comme l'ID d'exécution, les messages d'erreur et les valeurs des variables de la sous-intégration transmises lors de l'exécution. Les métadonnées de boucle contiennent des variables, y compris les variables de sortie suivantes : current_iteration_count, sub_integration_execution_ids, failure_location, current_element, iteration_element et failure_message.
Bonnes pratiques
Pour plus d'informations sur les limites d'utilisation qui s'appliquent à la tâche Boucle "while", consultez la section Limites d'utilisation.
Stratégie de traitement des erreurs
Une stratégie de traitement des erreurs d'une tâche spécifie l'action à effectuer si celle-ci échoue en raison d'une erreur temporaire. Pour en savoir plus sur l'utilisation et les différents types de stratégies de traitement des erreurs, consultez la page Stratégies de traitement des erreurs.
Quotas et limites
Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[[["\u003cp\u003eThe While Loop task enables repeated execution of a sub-integration until a specified condition is met, identified by the API Trigger ID and Integration name.\u003c/p\u003e\n"],["\u003cp\u003eResponses from each sub-integration run can be collected and stored, either by collating each run's response into an array or by aggregating all responses into a single variable.\u003c/p\u003e\n"],["\u003cp\u003eThe While Loop task has a maximum limit of 8000 iterations, and the cumulative data collected from sub-integration runs cannot exceed 50 MB.\u003c/p\u003e\n"],["\u003cp\u003eA user-managed service account with the Application Integration Invoker role is required for the integration to run, or it will use the default service account.\u003c/p\u003e\n"],["\u003cp\u003eThe task configuration allows mapping variables between the current integration and the sub-integration, managing loop termination conditions, and collecting or overriding sub-integration outputs.\u003c/p\u003e\n"]]],[],null,["# While Loop task\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nWhile Loop task\n===============\n\nThe **While Loop** task lets you make repeated calls to a sub-integration from\nyour current (main) integration until a specified condition is met.\n\nThe **API Trigger ID** and the **Integration name** identifies the sub-integration you\nwant to run.\n\nThe task also lets you collect the response from each sub-integration run and store the value in your\ncurrent integration for use in downstream tasks. You can use any of the following approach to collect the responses:\n\n- Collate the response of each run in an array variable, where each element of the array has the response from one particular run. To collate the responses, configure the `Collect values from sub-integration output(s)` property.\n- Aggregate the responses of all the runs in a single variable. To aggregate the responses, configure the `Override values from sub-integration output(s)` property.\n\n| **Note** :\n|\n| - The **While Loop** task can run a maximum of 8000 iterations. This constraint holds good even if the configured condition results in an infinte loop.\n| - The cumulative size of the data collected from each sub-integration run cannot exceed `50 MB`. If the size exceeds `50 MB`, the integration fails, and the downstream tasks are not run.\n\nBefore you begin\n----------------\n\n- Ensure that you have [attached a user-managed service account](/application-integration/docs/access-control#add-service-account) to your integration. If your integration does not have user-managed service account configured, then by default the [default service account](/application-integration/docs/access-control#default-service-account) (`service-`\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e`@gcp-sa-integrations.iam.gserviceaccount.com`) is used for authentication.\n- Ensure that your service account has the **Application Integration Invoker** IAM role. For information about granting roles to a service account, see [Manage access to service accounts](/iam/docs/manage-access-service-accounts).\n\nConfiguration properties\n------------------------\n\n\nThe following table describes the configuration properties of the **While Loop** task.\n\nBest practices\n--------------\n\nFor information about the usage limits that apply to the **While Loop** task, see [Usage limits](/application-integration/docs/quotas#usage-limits).\n\nError handling strategy\n-----------------------\n\n\nAn error handling strategy for a task specifies the action to take if the task fails due to a [temporary error](/application-integration/docs/error-handling). For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see [Error handling strategies](/application-integration/docs/error-handling-strategy).\n\nQuotas and limits\n-----------------\n\nFor information about quotas and limits, see [Quotas and limits](/application-integration/docs/quotas).\n\nWhat's next\n-----------\n\n- Learn about [all tasks and triggers](/application-integration/docs/all-triggers-tasks).\n- Learn how to [test and publish an integration](/application-integration/docs/test-publish-integrations).\n\n- Learn about [error handling](/application-integration/docs/error-handling-strategy).\n- Learn about [integration execution logs](/application-integration/docs/introduction-logs)."]]