L'attività While Loop consente di effettuare chiamate ripetute a una sottointegrazione dalla tua integrazione corrente (principale) fino a quando non viene soddisfatta una condizione specificata.
L'ID trigger API e il nome dell'integrazione identificano la sottointegrazione che vuoi eseguire.
L'attività ti consente inoltre di raccogliere la risposta di ogni esecuzione della sottointegrazione e di memorizzare il valore nell'integrazione corrente per utilizzarlo nelle attività a valle. Per raccogliere le risposte, puoi utilizzare uno dei seguenti approcci:
Riunisci la risposta di ogni esecuzione in una variabile array, in cui ogni elemento dell'array contiene la risposta di una determinata esecuzione. Per raccogliere le risposte, configura la proprietà Collect values from sub-integration output(s).
Aggregare le risposte di tutte le esecuzioni in un'unica variabile. Per aggregare le risposte, configura la proprietà Override values from sub-integration output(s).
Prima di iniziare
Assicurati di aver allegato un account di servizio gestito dall'utente all'integrazione. Se per l'integrazione non è configurato un account di servizio gestito dall'utente, per impostazione predefinita viene utilizzato l'account di servizio predefinito (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) per l'autenticazione.
Assicurati che il tuo account di servizio abbia il ruolo IAM Application Integration Invoker. Per informazioni sulla concessione di ruoli a un account di servizio, vedi Gestire l'accesso agli account di servizio.
Proprietà di configurazione
La tabella seguente descrive le proprietà di configurazione dell'attività While Loop.
Proprietà
Tipo di dati
Descrizione
API Trigger ID
Stringa
ID attivatore della sottointegrazione da eseguire.
Questo valore è disponibile nel campo ID trigger dell'API trigger
nella sottointegrazione.
Integration name
Stringa
Nome della sottointegrazione da eseguire.
While loop condition
N/D
Condizione per terminare il loop. L'integrazione secondaria viene eseguita fino a quando la condizione non è soddisfatta. Ad esempio, $loopMetadata.current_iteration_count$< 10.
Map to sub-integration input(s)
N/D
Valori da passare dall'integrazione corrente alla sottointegrazione.
I valori di questa proprietà sono sotto forma di coppie chiave-valore, in cui la chiave è una variabile
nell'integrazione corrente e il valore è la variabile di input corrispondente nella
sottointegrazione. Ad esempio, supponiamo che l'integrazione principale abbia la variabile productID
che vuoi mappare alla variabile di sottointegrazione subIntProductID. Seleziona productID dal menu a discesa Variabile di integrazione da cui eseguire la mappatura
e inserisci subIntProductID nel campo Inserisci variabile di sottointegrazione.
Collect values from sub-integration output(s)
N/D
Riunisci i risultati delle esecuzioni delle sottointegrazioni.
Ogni volta che viene eseguita la sottointegrazione,
puoi memorizzare l'output della sottointegrazione in una variabile array dell'integrazione corrente. Inserisci la variabile di output della sottointegrazione nel campo Output della sottointegrazione da cui raccogliere e seleziona la variabile array nell'integrazione corrente dal menu a discesa Variabile di integrazione in cui raccogliere. Ogni elemento dell'array contiene la risposta di una
determinata esecuzione della sottointegrazione. Ad esempio, se la variabile array è resultsArray,
resultsArray[0] contiene la risposta della prima esecuzione e resultsArray[1] contiene
la risposta della seconda esecuzione.
Override values from sub-integration output(s)
N/D
Leggi la variabile di output di un'esecuzione di una sottointegrazione e memorizzala in una variabile dell'integrazione corrente.
Seleziona la variabile di output della sottointegrazione dal menu a discesa Output della sottointegrazione da cui eseguire la mappatura e la variabile corrispondente nell'integrazione corrente dal menu a discesa Variabile di integrazione da sostituire. Puoi inviare la variabile sostituita nell'integrazione corrente
all'esecuzione della sottointegrazione successiva mappando la variabile nella proprietà Mappa agli input aggiuntivi della sottointegrazione. Di conseguenza, puoi aggregare in modo cumulativo le risposte delle esecuzioni delle sottointegrazioni.
Loop metadata
Array JSON
La variabile di output che contiene i dettagli di esecuzione delle esecuzioni della sottointegrazione, ad esempio
l'ID esecuzione della sottointegrazione, i messaggi di errore e i valori delle variabili trasmessi durante l'esecuzione. I metadati del loop contengono variabili, tra cui le seguenti variabili di output: current_iteration_count, sub_integration_execution_ids, failure_location, current_element, iteration_element e failure_message.
Best practice
Per informazioni sui limiti di utilizzo che si applicano all'attività While Loop, consulta Limiti di utilizzo.
Strategia di gestione degli errori
Una strategia di gestione degli errori per un'attività specifica l'azione da intraprendere se l'attività non va a buon fine a causa di un errore temporaneo. Per informazioni su come utilizzare una strategia di gestione degli errori e sui diversi tipi di strategie di gestione degli errori, consulta Strategie di gestione degli errori.
Quote e limiti
Per informazioni su quote e limiti, consulta Quote e limiti.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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)."]]