L'attività Per ogni loop ti consente di effettuare chiamate ripetute a una sottointegrazione dalla tua integrazione (principale) corrente. L'attività esegue l'iterazione della variabile array configurata e chiama la sottointegrazione per ogni elemento dell'array. Il numero di volte
in cui viene chiamata la sottointegrazione è uguale alle dimensioni della variabile array.
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à Response parameter override mapping.
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à Per ogni ciclo.
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.
List to iterate
Un array di tipo Boolean, String, Integer, Double o JSON.
Elenco di valori per i quali deve essere eseguita la sottointegrazione. L'integrazione secondaria viene eseguita per ogni valore dell'elenco, uno dopo l'altro.
Puoi passare il valore iterato alla sottointegrazione impostando la proprietà
Mappatura della sottointegrazione dell'elemento di iterazione. In questa proprietà, specifica la variabile nella sottointegrazione a cui deve essere mappato il valore iterato.
Iteration element sub-integration mapping
N/D
Variabile nella sottointegrazione a cui deve essere assegnato l'elemento iterato corrente.
Map to additional sub-integration input(s)
N/D
Valori aggiuntivi 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 la tua integrazione principale abbia la variabile productID, che vuoi mappare alla variabile di sottointegrazione subIntProductID. Dovresti selezionare productID dal menu a discesa Variabile di integrazione da cui eseguire la mappatura e subIntProductID nel menu a discesa Input 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.
Seleziona la variabile di output della sottointegrazione dal menu a discesa Output della sottointegrazione da cui raccogliere e 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.
Response parameter override mapping
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 sottointegrazioni, 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à Per ogni 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 For Each Loop task allows repeated execution of a sub-integration for each element within an array variable, where the number of iterations equals the array's size.\u003c/p\u003e\n"],["\u003cp\u003eSub-integrations are identified by their API Trigger ID and Integration name, and the task provides mechanisms to collect and utilize responses from each sub-integration run, including collating into an array or aggregating into a single variable.\u003c/p\u003e\n"],["\u003cp\u003eThe For Each Loop task has limits, including a maximum of 8000 iterations and a cumulative data collection size limit of 50 MB across all sub-integration runs.\u003c/p\u003e\n"],["\u003cp\u003eFailure of any sub-integration run within the For Each Loop task results in the failure of the entire task, though this can be mitigated through the use of an Execution strategy in the Join configuration.\u003c/p\u003e\n"],["\u003cp\u003eProper setup requires ensuring a user-managed service account is attached to the integration, with the service account having the necessary Application Integration Invoker IAM role.\u003c/p\u003e\n"]]],[],null,["# For Each Loop task\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nFor Each Loop task\n==================\n\nThe **For Each Loop** task lets you make repeated calls to a sub-integration from\nyour current (main) integration. The task iterates over the configured array variable and calls\nthe sub-integration for each element in the array. The number of times\nthe sub-integration is called is equal to the size of the array variable.\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 `Response parameter override mapping` property.\n\n| **Note** :\n|\n| - A **For Each Loop** task can run a maximum of 8000 iterations.\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| - If an integration in the **For Each Loop** task fails, then the entire task fails, and the downstream tasks are not run. To prevent failure of the entire integration you can specify an **Execution strategy** for the task in its *Join configuration pane* . See [Join](/application-integration/docs/forks-joins#join) for more details.\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 **For Each Loop** task.\n\nBest practices\n--------------\n\nFor information about the usage limits that apply to the **For Each 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)."]]