Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Para armazenar e passar valores no seu fluxo de trabalho, crie variáveis. Variáveis suportam valores inteiros, float, booleanos, string, array e objetos.
Por exemplo, as variáveis podem ajudar você a acompanhar o número de vezes que um loop é executado. Para iterar em uma matriz ou verificar uma matriz em busca de um item específico, use uma variável para referenciar o número de índice de cada item da matriz.
Depois de criar uma variável, escolha uma tarefa:
- Criar uma variável
- Obtenha o valor de uma variável
- Incremente uma variável
- Diminuir uma variável
- Mude o valor de uma variável
- Adicionar a uma variável string ou array
- Exemplo: Contar anexos de e-mails usando um loop
Pré-requisitos
Uma conta e uma assinatura do Azure. Obtenha uma conta gratuita do Azure.
O fluxo de trabalho do Logic App, onde você quer criar a variável, incluindo um gatilho que inicia o fluxo de trabalho.
Antes de poder adicionar ações para criar e trabalhar com variáveis, seu fluxo de trabalho deve começar com um gatilho como primeiro passo no seu fluxo.
Este guia usa o portal do Azure, mas você pode usar o Visual Studio Code e a correspondente extensão Aplicativos Lógicos do Azure para construir fluxos de trabalho de Logic App:
- Fluxos de trabalho de Consumo: Visual Studio Code
- Fluxos de trabalho padrão: Visual Studio Code
Considerações para trabalhar com variáveis
Por padrão, para cada loop as iterações rodam em paralelo. Para garantir que as variáveis em um loop produzam resultados previsíveis, execute o loop 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 de loop apenas dentro desse fluxo de trabalho.
Referenciar uma variável pelo nome, não pelo nome da ação que criou a variável, que é a forma usual 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. Você só pode declarar variáveis no nível global do fluxo de trabalho, não em escopos, condições e loops.
No portal do Azure, abra o fluxo de trabalho do aplicativo de lógica 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 Obrigatório Valor Descrição Nome Sim < nome da variável> O nome da variável. Tipo Sim < tipo de variável> O tipo de dados da variável. Valor Não < valor-inicial> O valor inicial da sua variável.
Dica: embora seja opcional, defina o valor como uma melhor prática para que você sempre saiba o valor inicial da variável.Para criar mais de uma variável por vez, selecione Adicionar uma Variável.
Por exemplo, essa ação Inicializar variável contém o nome, o tipo de dado e o valor inicial da variável:
Continue adicionando as ações desejadas para seu cenário. Quando terminar, selecione Salvar na barra de ferramentas do designer.
Se você mudar da visualização de designer para a visão de código, o exemplo a seguir mostra como a ação Inicializar variável aparece na definição do seu fluxo de trabalho, que está no 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 booliana
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myBooleanVariable",
"type": "boolean",
"value": false
}
]
},
"runAfter": {}
}
},
Variável float
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
Variável de cadeia de caracteres
"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 inteiros
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": [1, 2, 3]
}
]
},
"runAfter": {}
}
},
Matriz com cadeias de caracteres
"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 fluxo de trabalho e no editor de visão de código. Ao referenciar uma variável, use o nome dela como o token, não o nome da ação, que é a maneira 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 função variables(). A função string() retorna o conteúdo da variável no formato de cadeia de caracteres: "1, 2, 3, red".
@{string(variables('myArrayVariable'))}
Incrementar variável
Para aumentar ou incrementar uma variável por um valor constante específico, adicione a ação Incrementar variável ao seu fluxo de trabalho. Essa ação só funciona com variáveis de inteiro e float.
No designer, adicione a ação chamada variável Increment seguindo os passos gerais baseados no tipo de fluxo de trabalho:
Forneça as seguintes informações para esta ação:
Propriedade Obrigatório Valor Descrição Nome Sim < nome da variável> O nome para a variável a incrementar. Valor Não < valor de incremento> O valor a ser usado para incrementar a variável. O valor padrão é 1.
Dica: embora seja opcional, defina esse valor como uma melhor prática para que você sempre saiba o valor específico para incrementar sua variável.O exemplo a seguir mostra os valores de amostra para esta ação:
Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.
Se você alternar do designer para a exibição de código, o exemplo a seguir mostra como a ação Incrementar variável 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 emails com um loop
Neste exemplo, você inicializa um contador em zero, incrementa o contador uma vez para cada anexo de e-mail e retorna a contagem total de anexos.
Na página portal do Azure, crie seu recurso de aplicativo lógico com um fluxo de trabalho em branco. Adicione um gatilho que verifica se há novos emails e anexos.
Este exemplo usa o gatilho Office 365 Outlook chamado Quando um novo e-mail chega. Configure esse gatilho para disparar apenas quando o e-mail tiver anexos. No entanto, você pode usar qualquer conector que verifica a existência de novos emails com anexos, como o conector do Outlook.com.
No gatilho, selecione Sim para as seguintes propriedades para verificar anexos e passar esses anexos para seu fluxo de trabalho:
- Somente 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 designer, adicione a ação chamada For Each seguindo os passos gerais baseados no tipo de fluxo de trabalho:
No circuito, siga estes passos:
- Selecione dentro da caixa chamada Selecione uma saída das etapas anteriores para visualizar as opções de entrada.
- Selecione o ícone de raio para exibir a lista de conteúdo dinâmico.
- Na lista, em Quando um novo email chegar, selecione Anexos.
A propriedade Anexos passa uma matriz que contém os anexos de email da saída do gatilho para o loop do fluxo de trabalho para iterar.
No loop For each, selecione Adicionar uma ação.
No designer, adicione a ação chamada variável Increment seguindo os passos gerais baseados no tipo de fluxo de trabalho:
Observação
Verifique se a ação Incrementar variável aparece dentro do loop. Se a ação aparecer fora do loop, arraste a ação para o loop.
Na ação Incrementar variável, na lista Nome, selecione a variável Count. Defina a propriedade Value como 1.
No loop, adicione qualquer ação que envia a você o número de anexos. Em sua ação, inclua o valor da variável Count, por exemplo:
Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.
Testar seu fluxo de trabalho
Para disparar manualmente o fluxo de trabalho, na barra de ferramentas do designer, selecione Executar>Executar para executar manualmente o fluxo de trabalho.
Envie um email com um ou mais anexos para a conta de email usada 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 email mostrando o número de anexos no email enviado por você.
Se você alternar do designer para a exibição de código, o exemplo a seguir mostra como o loopPara cada aparece com a ação Incrementar variável na definição do fluxo de trabalho, que está no 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 decrescer uma variável com um valor constante específico, siga as etapas para incrementar uma variável, exceto pelo fato de adicionar a ação Decrescer variável em seu fluxo de trabalho. Essa ação só funciona com variáveis de inteiro e float.
A tabela a seguir descreve as informações para a ação Decrescer variável:
| Propriedade | Obrigatório | Valor | Descrição |
|---|---|---|---|
| Nome | Sim | < nome da variável> | O nome da variável para diminuir |
| Valor | Não | < valor de decremento> | O valor para diminuição da variável. O valor padrão é um. Dica: embora seja opcional, defina esse valor como uma melhor prática para sempre conhecer o valor específico para diminuir da variável. |
Se você alternar do designer para a exibição de código, o exemplo a seguir mostra como a ação Decrescer variável 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, execute as etapas para incrementar uma variável, com as exceções a seguir:
Localize e selecione a ação Definir variável.
Forneça as seguintes informações para esta ação:
Propriedade Obrigatório Valor Descrição Nome Sim < nome da variável> O nome da variável a ser alterada. Valor Sim < novo valor> O valor que você quer atribuir à variável. Certifique-se de que tanto a variável quanto o novo valor tenham o mesmo tipo de dado. O valor é necessário porque essa ação não tem um valor padrão. Observação
A menos que você esteja aumentando ou diminuindo variáveis, a alteração de variáveis dentro de loops pode criar resultados inesperados, pois os loops são executados em paralelo, ou simultaneamente, por padrão. Para esses casos, tente definir o loop para executar em sequência. Por exemplo, quando você quiser consultar o valor da variável dentro do loop, e espera o mesmo valor no início e no término dessa instância de loop, execute estas etapas para alterar como o loop é executado:
Selecione o loop para exibir 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 de Grau de paralelismo para 1.
Se você mudar do designer para a visão de código, o exemplo a seguir mostra como a ação Set variável aparece na definição do seu fluxo de trabalho, 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 de caracteres ou matrizes, você pode inserir ou acrescentar o valor de uma variável como o último item nessas cadeias de caracteres ou matrizes. Siga os passos para incrementar uma variável com as seguintes exceções:
Localize e selecionar uma dessas ações com base em se a variável é uma cadeia de caracteres ou uma matriz:
- Acrescentar à variável de cadeia de caracteres
- Acrescentar à variável de matriz
Forneça o valor para acrescentar como o último item na cadeia de caracteres ou matriz.
Propriedade Obrigatório Valor Descrição Nome Sim < nome da variável> O nome da variável a ser alterada. Valor Sim < anexar-valor> O valor que você quer adicionar, que pode ter qualquer tipo.
Se você alternar do designer para a exibição de código, o exemplo a seguir mostra como a ação Acrescentar à variável de matriz aparece na definição do fluxo de trabalho, que está no 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" ]
}
}
},