A tarefa Repetição while permite fazer chamadas repetidas para uma subintegração a partir
da integração atual (principal) até que uma condição especificada seja atendida.
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 Override values from sub-integration output(s).
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 repetição while.
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.
While loop condition
N/A
Condição para encerrar o loop. A subintegração é executada até que a condição seja atendida. Por exemplo, $loopMetadata.current_iteration_count$< 10
Map to sub-integration input(s)
N/A
Valores a serem transmitidos 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 a sua integração principal tenha a variável
productID, que você quer associar à
variável de subintegração subIntProductID. Você
seleciona productID na lista suspensa Variável de integração da qual mapear
e insere subIntProductID no campo Entrada de subintegração
para a qual mapear.
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. Insira a
variável de saída da subintegração no campo Saída de subintegração da qual coletar
e selecione 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.
Override values from sub-integration output(s)
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 da subintegração é executada como o
ID de execução, as mensagens de erro e os valores de variável 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 que se aplicam à tarefa While 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 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)."]]