Consulte os conetores suportados para a solução Application Integration.
Tarefa de ciclo For Each
A tarefa For Each Loop permite-lhe fazer chamadas repetidas a uma subintegração a partir da sua integração atual (principal). A tarefa itera a 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 à dimensão da variável de matriz.
O ID do acionador da API e o nome da integração identificam a subintegração que quer executar.
A tarefa também permite recolher a resposta de cada execução de subintegração e armazenar o valor na sua integração atual para utilização em tarefas posteriores. Pode usar qualquer uma das seguintes abordagens para recolher as respostas:
- Recolha a resposta de cada execução numa variável de matriz, em que cada elemento da matriz tem a resposta de uma execução específica. Para reunir as respostas, configure a propriedade
Collect values from sub-integration output(s). - Agregue as respostas de todas as execuções numa única variável. Para agregar as respostas, configure a propriedade
Response parameter override mapping.
Antes de começar
- Certifique-se de que anexou uma conta de serviço gerida pelo utilizador à sua integração. Se a sua integração não tiver uma conta de serviço gerida pelo utilizador configurada, é utilizada por predefinição a conta de serviço predefinida (
service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) para autenticação. - Certifique-se de que a sua conta de serviço tem a função do IAM Application Integration Invoker. Para obter informações sobre a atribuição de funções a uma conta de serviço, consulte o artigo Faça a gestão do acesso às contas de serviço.
Propriedades de configuração
A tabela seguinte descreve as propriedades de configuração da tarefa For Each Loop.
| Propriedade | Tipo de dados | Descrição |
API Trigger ID
|
String | ID do acionador da subintegração a executar.
Este valor está disponível no campo ID do acionador da API Trigger na subintegração. |
Integration name |
String | Nome da subintegração a executar. |
List to iterate
|
Uma matriz do tipo booleano, string, inteiro, duplo ou JSON. | Lista de valores para os quais a subintegração deve ser executada. A subintegração
é executada para cada valor na lista, um após o outro.
Pode transmitir o valor iterado para a subintegração definindo a propriedade Mapeamento da subintegração do elemento de iteração. Nesta propriedade, especifique a variável na subintegração à qual o valor iterado tem de ser mapeado. |
Iteration element sub-integration mapping |
N/A | Variável na subintegração à qual o elemento iterado atual tem de ser atribuído. |
Map to additional sub-integration input(s)
|
N/A | Valores adicionais a transmitir da integração atual para a subintegração.
Os valores desta propriedade estão no formato 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, suponhamos que a sua integração principal tem a variável |
Collect values from sub-integration output(s)
|
N/A | Recolha os resultados das execuções da subintegração.
Sempre que a subintegração é executada,
pode armazenar a saída da subintegração numa variável de matriz da integração atual.
Selecione a variável de saída da subintegração no menu pendente Saída da subintegração a recolher de
e a variável de matriz na integração atual no menu pendente
Variável de integração a recolher em. Cada elemento da matriz tem a resposta de uma execução de subintegração específica. Por exemplo, se a variável de matriz for |
Response parameter override mapping
|
N/A | Leia a variável de saída de uma execução de subintegração e armazene-a numa variável da integração atual.
Selecione a variável de saída da subintegração no menu pendente Saída da subintegração a partir da qual mapear e selecione a variável correspondente na integração atual no menu pendente Variável de integração a substituir. Pode enviar a variável substituída na integração atual para a próxima execução da subintegração mapeando a variável na propriedade Mapear para entradas de subintegração adicionais. Como resultado, 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 o ID de execução da subintegração, as mensagens de erro e os valores das variáveis transmitidos durante a execução. Os metadados do ciclo contêm variáveis, incluindo as seguintes variáveis de saída: current_iteration_count, sub_integration_execution_ids, failure_location, current_element, iteration_element e failure_message.
|
Exemplos
As secções seguintes fornecem exemplos detalhados de como configurar e usar a tarefa For Each Loop para cenários específicos. Estes exemplos ilustram os passos de configuração para diferentes exemplos de utilização:
- Iterar e transmitir cada elemento
- Recolha resultados da subintegração
- Agregue resultados com substituição de respostas
- Transmita entradas adicionais
Iterar e transmitir cada elemento
Suponha que tem uma integração principal com uma variável de matriz denominada productIds que contém valores como ["P1", "P2", "P3"]. Para chamar uma subintegração denominada GetProductDetails para cada ID do produto, configure a tarefa Ciclo para cada da seguinte forma:
- Defina Lista a iterar como
productIds. - Defina o mapeamento de subintegração do elemento de iteração para mapear o elemento atual de
productIdspara uma variável emGetProductDetails, por exemplo,subIntProductId.
Cada execução de GetProductDetails recebe, em seguida, um ID do produto de productIds.
Recolha resultados de subintegrações
Tal como no exemplo anterior, suponha que GetProductDetails devolve um objeto JSON numa variável de saída denominada productInfo.
Para recolher todas as saídas productInfo de cada execução de subintegração e armazená-las como elementos numa variável de matriz na integração principal:
- Configure a opção Recolher valores das saídas de subintegração.
- Selecione
productInfoem Sub-integration output to collect from (Resultado da subintegração a partir do qual recolher). - Selecione uma variável de matriz na integração principal, por exemplo,
allProductDetails, em Variável de integração a recolher.
Após a conclusão do ciclo, allProductDetails é uma matriz em que cada elemento é o JSON productInfo de uma execução de subintegração.
Agregue resultados com substituição de respostas
Suponha que tem uma integração principal que chama uma subintegração (por exemplo, GetProductDetails) para cada item numa lista e quer calcular o preço total de todos os itens. Para somar um valor numérico devolvido por cada execução de subintegração:
- Certifique-se de que a subintegração devolve um valor numa variável de saída
itemPrice. - Inicialize a variável
totalPricepara0na integração principal. - Configure o Mapeamento de substituição de parâmetros de resposta:
- Mapeie
itemPrice(da subintegração) paratotalPrice(na integração principal).
- Mapeie
- Na secção Mapear para entradas de subintegração adicionais:
- Mapeie
totalPrice(da integração principal) a uma variável de entrada na subintegração, por exemplo,currentTotal.
- Mapeie
- Na lógica da subintegração, adicione o preço do artigo atual ao
currentTotalrecebido da integração principal. Em seguida, devolve esta nova soma na variável de saída denominadaitemPrice. Este processo cria uma agregação cumulativa.
Transmita entradas adicionais
Se a sua subintegração GetProductDetails precisar de um código currency da integração principal:
- Na secção Mapear para entradas de subintegração adicionais:
- Mapeie a variável de integração principal
currencyCodeà variável de entrada de subintegraçãosubIntCurrency.
- Mapeie a variável de integração principal
- Este
currencyCodeé transmitido a todas as execuções da subintegração.
Explore os seguintes exemplos de integrações para ver guias práticos passo a passo e exemplos executáveis dos conceitos abordados nas secções anteriores:
- Invocar uma subintegração através de uma tarefa de ciclo For Each
- Exemplo de integração de comércio eletrónico
Práticas recomendadas
Para informações sobre os limites de utilização aplicáveis à tarefa For Each Loop, consulte Limites de utilização.
Estratégia de processamento de erros
Uma estratégia de processamento de erros para uma tarefa especifica a ação a realizar se a tarefa falhar devido a um erro temporário. Para obter informações sobre como usar uma estratégia de processamento de erros e conhecer os diferentes tipos de estratégias de processamento de erros, consulte o artigo Estratégias de processamento de erros.
Quotas e limites
Para informações sobre quotas e limites, consulte o artigo Quotas e limites.
O que se segue?
- Saiba mais sobre todas as tarefas e acionadores.
- Saiba como testar e publicar uma integração.
- Saiba mais acerca do processamento de erros.
- Saiba mais sobre os registos de execução da integração.