Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: Azure Logic Apps (Consumption + Standard)
Para armazenar e passar valores no seu fluxo de trabalho, crie variáveis. As variáveis suportam valores inteiros, float, booleanos, string, arrays e objetos.
Por exemplo, as variáveis podem ajudá-lo a controlar o número de vezes que um loop é executado. Para iterar sobre um array ou verificar se um array contém um item específico, use uma variável para referenciar o índice de cada elemento do array.
Depois de criar uma variável, escolha uma tarefa:
- Criar uma variável
- Obtenha o valor de uma variável
- Incrementar uma variável
- Reduzir uma variável
- Alterar o valor de uma variável
- Adicionar a uma string ou variável de array
- Exemplo: Contar anexos de email com um loop
Pré-requisitos
Uma conta do Azure e uma subscrição. Crie uma conta Azure gratuita.
O fluxo de trabalho da app lógica onde queres criar a variável, incluindo um gatilho que inicia o fluxo de trabalho.
Antes de poderes adicionar ações para criar e trabalhar com variáveis, o teu fluxo de trabalho deve começar com um gatilho como primeiro passo.
Este guia utiliza o portal Azure, mas pode usar o Visual Studio Code e a correspondente extensão Azure Logic Apps para construir fluxos de trabalho de Logic App:
- Fluxos de trabalho de utilização: Visual Studio Code
- Fluxos de trabalho padrão: Visual Studio Code
Considerações para trabalhar com variáveis
Por defeito, para cada ciclo, as iterações executam-se em paralelo. Para garantir que as variáveis num ciclo produzem resultados previsíveis, execute o ciclo sequencialmente.
As variáveis existem e são globais apenas dentro do fluxo de trabalho que as cria.
As variáveis persistem entre iterações do ciclo apenas nesse fluxo de trabalho.
Referenciar uma variável pelo seu nome, não pelo nome da ação que criou a variável, que é a forma habitual de referenciar as saídas de uma ação.
Inicializar variável
Para criar uma variável, adicione a ação Inicializar variável ao seu fluxo de trabalho. Só podes declarar variáveis ao nível global do fluxo de trabalho, não em escopos, condições e ciclos.
No portal do Azure, abra o fluxo de trabalho do aplicativo lógico no designer.
No designer, adicione a ação chamada variável Inicialize seguindo os passos gerais baseados no tipo de fluxo de trabalho:
Forneça as seguintes informações sobre sua variável:
Propriedade Necessário Valor Descrição Nome Sim < nome-variável> O nome da variável. Tipo Sim < tipo-variável> O tipo de dado para a variável. Valor Não < valor inicial> O valor inicial para a sua variável.
Dica: Embora opcional, defina o valor como uma prática recomendada para que você sempre saiba o valor inicial da variável.Para criar mais de uma variável de cada vez, selecione Adicionar uma variável.
Por exemplo, esta ação Inicializar variável contém o nome da variável, o tipo de dado e o valor inicial:
Continue a adicionar as ações desejadas para o seu cenário. Quando tiver terminado, na barra de ferramentas do estruturador, selecione Guardar.
Se mudar do designer para a vista de código, o exemplo seguinte mostra como a ação Inicializar variável aparece na definição do seu fluxo de trabalho, que está em formato JavaScript Object Notation (JSON):
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
}
Os exemplos a seguir mostram outros tipos de variáveis:
Variável booleana
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myBooleanVariable",
"type": "boolean",
"value": false
}
]
},
"runAfter": {}
}
},
Variável de flutuação
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
Variável de cadeia
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myStringVariable",
"type": "string",
"value": "lorem ipsum"
}
]
},
"runAfter": {}
}
},
Variável de objeto
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "MyObjectVariable",
"type": "object",
"value": {
"ProductItem": {
"Name": "myProductName",
"ProductID": "000000"
}
}
}
]
},
"runAfter": {}
}
},
Matriz com números inteiros
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": [1, 2, 3]
}
]
},
"runAfter": {}
}
},
Array com strings
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": ["red", "orange", "yellow"]
}
]
},
"runAfter": {}
}
},
Obter o valor de uma variável
Para recuperar ou referenciar o conteúdo de uma variável, use a variables() função no designer de workflow e no editor de code view. Quando referencia uma variável, use o nome da variável como token, não o nome da ação, que é a forma habitual de referenciar as saídas de uma ação.
Por exemplo, a expressão a seguir obtém os itens da variável de matriz que você cria neste guia usando a variables() função. A string() função retorna o conteúdo da variável em formato de cadeia de caracteres: "1, 2, 3, red".
@{string(variables('myArrayVariable'))}
Incrementar a variável
Para aumentar ou incrementar uma variável por um valor constante específico, adicione a ação Variável de incremento ao seu fluxo de trabalho. Esta ação funciona apenas com variáveis de números inteiros e flutuantes.
No designer, adicione a ação denominada Increment variable seguindo os passos gerais consoante o tipo de fluxo de trabalho:
Forneça as seguintes informações para esta ação:
Propriedade Necessário Valor Descrição Nome Sim < nome-variável> O nome para a variável a incrementar. Valor Não < valor de incremento> O valor a usar para incrementar a variável. O valor predefinido é 1.
Dica: Embora opcional, defina esse valor como uma prática recomendada para que você sempre saiba o valor específico para incrementar sua variável.O exemplo a seguir mostra os valores de exemplo para essa ação:
Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.
Se você alternar do designer para a visualização de código, o exemplo a seguir mostra como a ação Variável de incremento aparece na definição do fluxo de trabalho, que está no formato JSON:
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Exemplo: Contar anexos de email com um loop
Neste exemplo, inicializa um contador a zero, incrementa o contador uma vez por cada anexo de email e devolve o total de anexos.
No portal do Azure, crie seu recurso de aplicativo lógico com um fluxo de trabalho em branco. Adicione um acionador que verifica novos e-mails e quaisquer anexos.
Este exemplo utiliza o gatilho Office 365 Outlook chamado Quando chega um novo email. Configure este gatilho para disparar apenas quando o email tiver anexos. No entanto, pode utilizar qualquer conector que verifique novos e-mails com anexos, como o conector do Outlook.com.
No gatilho, selecione Sim para as seguintes propriedades para verificar anexos e passar esses anexos para o seu fluxo de trabalho:
- Apenas com anexo
- Incluir Anexos
Adicione a ação Inicializar variável para criar uma variável inteira chamada Contagem que começa em 0.
No editor, adicione a ação com o nome Para cada seguindo os passos gerais com base no tipo de fluxo de trabalho:
No ciclo, siga estes passos:
- Selecione na caixa com o nome Selecionar uma Saída dos Passos Anteriores para ver as opções de entrada.
- Selecione o ícone de relâmpago para visualizar a lista de conteúdo dinâmico.
- Na lista, em Quando chegar um novo e-mail, selecione Anexos.
A propriedade Attachments passa uma matriz que contém os anexos de email da saída do gatilho para o loop para que seu fluxo de trabalho seja iterado.
No ciclo Para cada, selecione Adicionar uma ação.
No designer, adicione a ação denominada Increment variable seguindo os passos gerais consoante o tipo de fluxo de trabalho:
Nota
Certifique-se de que a ação da variável Incremento apareça dentro do loop. Se a ação aparecer fora do loop, arraste-a para o loop.
Na ação Incrementar variável, na lista Nome, selecione a variável Contagem. Defina a propriedade Value como 1.
Sob o ciclo, adicione qualquer ação que lhe envie o número de anexos. Na ação, inclua o valor da variável Count, por exemplo:
Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.
Testar o fluxo de trabalho
Para acionar manualmente seu fluxo de trabalho, na barra de ferramentas do designer, selecione Executar>Executar para executar manualmente seu fluxo de trabalho.
Envie um e-mail com um ou mais anexos para a conta de e-mail que você usou neste exemplo.
Esta etapa dispara o gatilho de fluxo de trabalho, que cria e executa uma instância de fluxo de trabalho. Como resultado, o fluxo de trabalho envia uma mensagem ou e-mail que mostra o número de anexos no e-mail que você enviou.
Se mudar do estruturador para a vista de código, o exemplo seguinte mostra como o ciclo Para cada aparece juntamente com a ação Incrementar variável na definição do seu fluxo de trabalho, que está em formato JSON:
"actions": {
"For_each": {
"type": "Foreach",
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
"foreach": "@triggerBody()?['Attachments']",
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Diminuir variável
Para diminuir ou decrementar uma variável num determinado valor constante, siga os passos para incrementar uma variável, com a exceção de adicionar a ação Decrement variable ao seu fluxo de trabalho. Esta ação funciona apenas com variáveis de números inteiros e flutuantes.
A tabela a seguir descreve as informações para a ação da variável Decrement:
| Propriedade | Necessário | Valor | Descrição |
|---|---|---|---|
| Nome | Sim | < nome-variável> | O nome para a variável a diminuir |
| Valor | Não | < valor decrementado> | O valor utilizado para diminuir a variável. O valor predefinido é um. Dica: embora opcional, defina este valor como uma melhor prática para que saiba sempre o valor específico para diminuir a sua variável. |
Se você alternar do designer para a visualização de código, o exemplo a seguir mostra como a ação da variável Decrement aparece na definição do fluxo de trabalho, que está no formato JSON:
"actions": {
"Decrement_variable": {
"type": "DecrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Definir variável
Para atribuir um valor diferente a uma variável existente, siga as etapas para incrementar uma variável com as seguintes exceções:
Em vez disso, localiza e seleciona a ação Definir variável.
Forneça as seguintes informações para esta ação:
Propriedade Necessário Valor Descrição Nome Sim < nome-variável> O nome da variável a alterar. Valor Sim < novo-valor> O valor a que pretende atribuir a variável. Certifique-se de que tanto a variável como o novo valor têm o mesmo tipo de dado. O valor é necessário porque esta ação não tem um valor predefinido. Nota
A menos que você esteja incrementando ou diminuindo variáveis, alterar variáveis dentro de loops pode criar resultados inesperados porque os loops são executados em paralelo ou simultaneamente, por padrão. Para esses casos, tente configurar seu loop para ser executado sequencialmente. Por exemplo, quando você quiser fazer referência ao valor da variável dentro do loop e esperar o mesmo valor no início e no final dessa instância de loop, siga estas etapas para alterar a forma como o loop é executado:
Selecione o loop para visualizar o painel de informações e, em seguida, selecione Configurações.
Na seção Geral , em Controle de simultaneidade, altere a configuração de Desativado para Ativado.
Arraste o controle deslizante Grau de paralelismo para 1.
Se mudares do designer para a vista de código, o exemplo seguinte mostra como a ação Set da variável aparece na definição do teu workflow, que está em formato JSON, e altera o Count valor atual da variável para outro valor:
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "Count",
"type": "Integer",
"value": 0
} ]
},
"runAfter": {}
},
"Set_variable": {
"type": "SetVariable",
"inputs": {
"name": "Count",
"value": 100
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Acrescentar à variável
Para variáveis que armazenam cadeias ou matrizes, pode inserir ou anexar o valor de uma variável como o último item nessas cadeias ou matrizes. Siga os passos para incrementar uma variável com as seguintes exceções:
Localize e selecione uma destas ações com base no fato de sua variável ser uma cadeia de caracteres ou uma matriz:
- Acrescentar a variável de cadeia de caracteres
- Anexar a variável de matriz
Forneça o valor a anexar como o último item na cadeia ou matriz.
Propriedade Necessário Valor Descrição Nome Sim < nome-variável> O nome da variável a alterar. Valor Sim < adicionar valor> O valor que queres acrescentar, que pode ter qualquer tipo.
Se mudar do estruturador para a vista de código, o exemplo seguinte mostra como a ação Anexar à variável de matriz aparece na definição do fluxo de trabalho, que está em formato JSON.
O exemplo a seguir cria uma variável de matriz e adiciona outro valor como o último item na matriz. O resultado é uma variável atualizada que contém esta matriz: [1,2,3,"red"].
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [ {
"name": "myArrayVariable",
"type": "Array",
"value": [1, 2, 3]
} ]
},
"runAfter": {}
},
"Append_to_array_variable": {
"type": "AppendToArrayVariable",
"inputs": {
"name": "myArrayVariable",
"value": "red"
},
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},