A tarefa Para Cada loop permite fazer chamadas repetidas para uma subintegração a partir
da integração atual (principal). A tarefa itera na variável de matriz configurada e chama
a subintegração para cada elemento na matriz. O número de vezes
que a subintegração é chamada é igual ao tamanho da variável da matriz.
O ID do gatilho da API e o Nome da integração identificam a subintegração que você quer executar.
A tarefa também permite coletar a resposta de cada execução de subintegração e armazenar o valor na
integração atual para uso em tarefas downstream. É possível usar qualquer uma das abordagens a seguir para coletar as respostas:
Agrupe a resposta de cada execução em uma variável de matriz, em que cada elemento da matriz tem a
resposta de uma execução específica. Para agrupar as respostas, configure
a propriedade Collect values from sub-integration output(s).
Agregue as respostas de todas as execuções em uma única variável. Para agregar as respostas, configure
a propriedade Response parameter override mapping.
Antes de começar
Verifique se você anexou uma conta de serviço gerenciada pelo usuário à integração. Se a integração não tiver uma conta de serviço gerenciada pelo usuário configurada, a conta de serviço padrão (service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) será usada para autenticação por padrão.
Verifique se a conta de serviço tem o papel do IAM Invocador do Application Integration. Para informações sobre como conceder papéis a uma conta de serviço, consulte Gerenciar o acesso a contas de serviço.
Propriedades de configuração
A tabela a seguir descreve as propriedades de configuração da tarefa Para cada loop.
Propriedade
Tipo de dado
Descrição
API Trigger ID
String
ID do acionador da subintegração a ser executada.
Esse valor está disponível no campo ID do acionador do gatilho da API
usado na subintegração.
Integration name
String
Nome da subintegração a ser executada.
List to iterate
Matriz do tipo Booleana, String, Integer, Double ou JSON.
Lista de valores para os quais as subintegrações são executadas. A
subintegração é executada para cada valor na lista, um após o outro.
Para transmitir o valor iterado à subintegração, defina a
propriedade Mapeamento de subintegração do elemento de iteração. Nesta propriedade, especifique
a variável na subintegração à qual o valor iterado precisa ser mapeado.
Iteration element sub-integration mapping
N/A
Variável na subintegração à qual o elemento iterado atual precisa ser atribuído.
Map to additional sub-integration input(s)
N/A
Valores adicionais a serem transferidos da integração atual para a subintegração.
Os valores dessa propriedade estão na forma de pares de chave-valor, em que a chave é uma variável
na integração atual e o valor é a variável de entrada correspondente na
subintegração. Por exemplo, suponha
que sua integração principal tenha a variável productID, que você quer mapear para
a variável de subintegração subIntProductID; você
selecionaria productID na Variável de integração a ser mapeada na
lista suspensa e selecionaria subIntProductID na lista suspensa Entrada de subintegração
a ser mapeada.
Collect values from sub-integration output(s)
N/A
Agrupe os resultados das execuções de subintegração.
Toda vez que a subintegração é executada,
é possível armazenar a saída dela em uma variável de matriz da integração atual.
Selecione a variável de saída da subintegração na lista suspensa Saída de subintegração da qual coletar
e a variável de matriz na integração atual na lista suspensa
Variável de integração na qual coletar. Cada elemento da matriz tem a resposta de uma
execução de subintegração específica. Por exemplo, se a variável da matriz for resultsArray,
resultsArray[0] terá a resposta da primeira execução e resultsArray[1] terá
a resposta da segunda execução.
Response parameter override mapping
N/A
Leia a variável de saída de uma execução de subintegração e armazene-a em uma variável da
integração atual.
Selecione a variável de saída da subintegração na lista suspensa Saída da subintegração da qual mapear
e selecione a variável correspondente na integração atual na lista suspensa
Variável de integração a ser modificada. É possível enviar a variável modificada na integração atual
para a próxima execução de subintegração mapeando a variável na propriedade Mapear para entradas de subintegração
adicionais. Como resultado, você pode agregar cumulativamente as respostas das
execuções de subintegração.
Loop metadata
Matriz JSON
A variável de saída que tem os detalhes de execução das subintegrações, como ID
da execução de subintegração, mensagens de erro e valores de variáveis transmitidos durante a execução. Os metadados de loop contêm variáveis que incluem as seguintes variáveis de saída: current_iteration_count, sub_integration_execution_ids, failure_location, current_element, iteration_element e failure_message.
Práticas recomendadas
Para informações sobre os limites de uso aplicáveis à tarefa Para cada loop, consulte Limites de uso.
Estratégia de solução de erros
A estratégia de solução de erros para uma tarefa especifica a ação a ser realizada se a tarefa falhar
devido a um erro temporário. Para mais informações sobre como usar uma estratégia de tratamento de erros e conhecer os diferentes tipos de estratégias de tratamento de erros, consulte Estratégias de tratamento de erros.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]