Armazenar e gerenciar valores usando variáveis em aplicativos lógicos do AzureStore and manage values by using variables in Azure Logic Apps

Este artigo mostra como criar e trabalhar com variáveis que você usa para armazenar valores em seu aplicativo lógico.This article shows how to create and work with variables that you use to store values in your logic app. Por exemplo, as variáveis podem ajudá-lo a acompanhar o número de vezes que um loop é executado.For example, variables can help you track the number of times that a loop runs. Para iterar em uma matriz ou verificar uma matriz de um item específico, você pode usar uma variável para fazer referência ao número de índice de cada item da matriz.To iterate over an array or check an array for a specific item, you can use a variable to reference the index number for each array item.

Você pode criar variáveis para tipos de dados, como inteiro, float, booliano, cadeia de caracteres, matriz e objeto.You can create variables for data types such as integer, float, boolean, string, array, and object. Depois de criar uma variável, você pode executar outras tarefas, por exemplo:After you create a variable, you can perform other tasks, for example:

  • Obter ou consultar o valor da variável.Get or reference the variable's value.
  • Aumentar ou diminuir a variável em um valor constante, também conhecido como incremento e decremento.Increase or decrease the variable by a constant value, also known as increment and decrement.
  • Atribuir um valor diferente para a variável.Assign a different value to the variable.
  • Inserir ou acrescentar o valor da variável como a última vez em uma cadeia de caracteres ou matriz.Insert or append the variable's value as the last time in a string or array.

As variáveis existem e são globais apenas dentro da instância de aplicativo lógico que as cria.Variables exist and are global only within the logic app instance that creates them. Além disso, elas persistem em quaisquer iterações de loop dentro de uma instância de aplicativo lógico.Also, they persist across any loop iterations inside a logic app instance. Quando você faz referência a uma variável, use o nome da variável como o token, não o nome da ação, que é a maneira usual de fazer referência a saídas de uma ação.When you reference a variable, use the variable's name as the token, not the action's name, which is the usual way to reference an action's outputs.

Importante

Por padrão, os ciclos em um loop "for each" são executados em paralelo.By default, cycles in a "For each" loop run in parallel. Ao usar variáveis em loops, execute o loop sequencialmente para que as variáveis retornem resultados previsíveis.When you use variables in loops, run the loop sequentially so that variables return predictable results.

Pré-requisitosPrerequisites

Inicializar variávelInitialize variable

Você pode criar uma variável e declarar seu tipo de dados e o valor inicial, tudo dentro de uma ação em seu aplicativo lógico.You can create a variable and declare its data type and initial value - all within one action in your logic app. Você só pode declarar variáveis no nível global, não em escopos, condições e loops.You can only declare variables at the global level, not within scopes, conditions, and loops.

  1. No portal do Azure ou no Visual Studio, abra seu aplicativo lógico no designer de aplicativo lógico.In the Azure portal or Visual Studio, open your logic app in the Logic App Designer.

    Este exemplo usa o Portal do Azure e um aplicativo lógico com um gatilho existente.This example uses the Azure portal and a logic app with an existing trigger.

  2. Em seu aplicativo lógico, na etapa em que você deseja adicionar uma variável, execute uma destas etapas:In your logic app, under the step where you want to add a variable, follow one of these steps:

    • Para adicionar uma ação na última etapa, selecione nova etapa.To add an action under the last step, select New step.

      Adicionar ação

    • Para adicionar uma ação entre etapas, mova o mouse sobre a seta de conexão para que o sinal de + adição () seja exibido.To add an action between steps, move your mouse over the connecting arrow so that the plus sign (+) appears. Selecione o sinal de adição e, em seguida, selecione Adicionar uma ação.Select the plus sign, and then select Add an action.

  3. Em escolher uma ação, na caixa de pesquisa, insira variables como seu filtro.Under Choose an action, in the search box, enter variables as your filter. Na lista ações, selecione inicializar variável.From the actions list, select Initialize variable.

    Ação selecionar

  4. Forneça essas informações sobre sua variável, conforme descrito abaixo:Provide this information about your variable as described below:

    PropriedadeProperty NecessárioRequired ValueValue DescriçãoDescription
    NameName SimYes <variable-name><variable-name> O nome da variável para incrementarThe name for the variable to increment
    TipoType SimYes <variable-type><variable-type> O tipo de dados para a variávelThe data type for the variable
    ValorValue NãoNo <start-value><start-value> O valor inicial da variávelThe initial value for your variable

    Dica: embora seja opcional, defina esse valor como uma prática recomendada para que você sempre saiba o valor inicial da variável.Tip: Although optional, set this value as a best practice so you always know the start value for your variable.

    Por exemplo:For example:

    Inicializar variável

  5. Agora, continue adicionando as ações que você quer.Now continue adding the actions you want. Quando terminar, na barra de ferramentas do designer, selecione salvar.When you're done, on the designer toolbar, select Save.

Se você alternar do designer para o editor de modo de exibição de código, aqui está a maneira como a ação inicializar variável aparece em sua definição de aplicativo lógico, que está no formato JavaScript Object Notation (JSON):If you switch from the designer to the code view editor, here is the way that the Initialize variable action appears in your logic app definition, which is in JavaScript Object Notation (JSON) format:

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "Count",
               "type": "Integer",
               "value": 0
          } ]
      },
      "runAfter": {}
   }
},

Observação

Embora a ação inicializar variável tenha uma variables seção estruturada como uma matriz, a ação pode criar apenas uma variável por vez.Although the Initialize variable action has a variables section that's structured as an array, the action can create only one variable at a time. Cada nova variável requer uma ação de variável de inicialização individual.Each new variable requires an individual Initialize variable action.

Confira exemplos de outros tipos de variáveis:Here are examples for some other variable types:

Variável de cadeia de caracteresString variable

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "myStringVariable",
               "type": "String",
               "value": "lorem ipsum"
          } ]
      },
      "runAfter": {}
   }
},

Variável boolianaBoolean variable

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "myBooleanVariable",
               "type": "Boolean",
               "value": false
          } ]
      },
      "runAfter": {}
   }
},

Matriz com inteirosArray with integers

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "myArrayVariable",
               "type": "Array",
               "value": [1, 2, 3]
          } ]
      },
      "runAfter": {}
   }
},

Matriz com cadeias de caracteresArray with strings

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "myArrayVariable",
               "type": "Array",
               "value": ["red", "orange", "yellow"]
          } ]
      },
      "runAfter": {}
   }
},

Obter o valor da variávelGet the variable's value

Para recuperar ou fazer referência ao conteúdo de uma variável, também é possível usar a função variables() no Designer de Aplicativo Lógico e no editor do modo de exibição de código.To retrieve or reference a variable's contents, you can also use the variables() function in the Logic App Designer and the code view editor. Ao fazer referência a uma variável, use o nome da variável como o token, não como o nome da ação, que é a maneira comum de fazer referência as saídas de uma ação.When referencing a variable, use the variable's name as the token, not the action's name, which is the usual way to reference an action's outputs.

Por exemplo, essa expressão Obtém os itens da variável de matriz criada anteriormente neste artigo usando a variables() função.For example, this expression gets the items from the array variable created previously in this article by using the variables() function. A string() função retorna o conteúdo da variável no formato de cadeia de caracteres:"1, 2, 3, red"The string() function returns the variable's contents in string format: "1, 2, 3, red"

@{string(variables('myArrayVariable'))}

Incrementar variávelIncrement variable

Para aumentar ou incrementar uma variável por um valor constante, adicione a ação de variável de incremento ao seu aplicativo lógico.To increase or increment a variable by a constant value, add the Increment variable action to your logic app. Essa ação só funciona com variáveis de inteiro e float.This action works only with integer and float variables.

  1. No designer de aplicativo lógico, na etapa em que você deseja aumentar uma variável existente, selecione nova etapa.In the Logic App Designer, under the step where you want to increase an existing variable, select New step.

    Por exemplo, este aplicativo lógico já tem um gatilho e uma ação que criou uma variável.For example, this logic app already has a trigger and an action that created a variable. Portanto, adicione uma nova ação sob estas etapas:So, add a new action under these steps:

    Adicionar ação

    Para adicionar uma ação entre etapas existentes, mova o mouse sobre a seta de conexão para que o sinal de adição (+) apareça.To add an action between existing steps, move your mouse over the connecting arrow so that the plus sign (+) appears. Selecione o sinal de adição e, em seguida, selecione Adicionar uma ação.Select the plus sign, and then select Add an action.

  2. Na caixa de pesquisa, insira "integração" como filtro.In the search box, enter "increment variable" as your filter. Na lista ações, selecione variável de incremento.In the actions list, select Increment variable.

    Selecione a ação "Incrementar variable"

  3. Forneça essas informações para incrementar sua variável:Provide this information for incrementing your variable:

    PropriedadeProperty NecessárioRequired ValueValue DescriçãoDescription
    NameName SimYes <variable-name><variable-name> O nome da variável para incrementarThe name for the variable to increment
    ValorValue NãoNo <increment-value><increment-value> O valor usado para incrementar a variável.The value used for incrementing the variable. O valor padrão é um.The default value is one.

    Dica: embora seja opcional, defina esse valor como uma prática recomendada para que você sempre saiba o valor específico para incrementar sua variável.Tip: Although optional, set this value as a best practice so you always know the specific value for incrementing your variable.

    Por exemplo:For example:

    Exemplo de valor de incremento

  4. Quando terminar, na barra de ferramentas do designer, selecione salvar.When you're done, on the designer toolbar, select Save.

Se você alternar do designer para o editor de modo de exibição de código, aqui está a maneira como a ação de variável de incremento aparece dentro de sua definição de aplicativo lógico, que está no formato JSON:If you switch from the designer to the code view editor, here is the way that the Increment variable action appears inside your logic app definition, which is in JSON format:

"actions": {
   "Increment_variable": {
      "type": "IncrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Exemplo: criar contador de loopsExample: Create loop counter

As variáveis são usadas normalmente para contar o número de vezes que um loop é executado.Variables are commonly used for counting the number of times that a loop runs. Este exemplo mostra como criar e usar variáveis para essa tarefa criando um loop que conta os anexos em um email.This example shows how you create and use variables for this task by creating a loop that counts the attachments in an email.

  1. No Portal do Azure, crie um aplicativo lógico em branco.In the Azure portal, create a blank logic app. Adicione um gatilho que verifica se há novos emails e anexos.Add a trigger that checks for new email and any attachments.

    Este exemplo usa o gatilho do Outlook do Office 365 para Quando um novo email é recebido.This example uses the Office 365 Outlook trigger for When a new email arrives. Você pode configurar esse gatilho para ser acionado somente quando o email tiver anexos.You can set up this trigger to fire only when the email has attachments. No entanto, você pode usar qualquer conector que verifica a existência de novos emails com anexos, como o conector do Outlook.com.However, you can use any connector that checks for new emails with attachments, such as the Outlook.com connector.

  2. No gatilho, para verificar se há anexos e passá-los para o fluxo de trabalho do aplicativo lógico, selecione Sim para essas propriedades:In the trigger, to check for attachments and pass those attachments into your logic app's workflow, select Yes for these properties:

    • Tem AnexoHas Attachment
    • Incluir AnexosInclude Attachments

    Procurar e incluir anexos

  3. Adicione a ação Inicializar variável.Add the Initialize variable action. Crie uma variável de inteiro Count chamada que tenha um valor de início zero.Create an integer variable named Count that has a zero start value.

    Adicione a ação para "Inicializar variável"

  4. Para percorrer cada anexo, adicione um loop for each .To cycle through each attachment, add a for each loop.

    1. Na ação inicializar variável , selecione nova etapa.Under the Initialize variable action, select New step.

    2. Em escolher uma ação, selecione interno.Under Choose an action, select Built-in. Na caixa de pesquisa, insira for each como seu filtro de pesquisa e selecione para cada um.In the search box, enter for each as your search filter, and select For each.

      Adicionar um loop "for each"

  5. No loop, clique na caixa Selecionar uma saída de etapas anteriores.In the loop, click inside the Select an output from previous steps box. Quando a lista de conteúdo dinâmico for exibida, selecione Anexos.When the dynamic content list appears, select Attachments.

    Selecionar "Anexos"

    A propriedade Attachments passa uma matriz, que tem os anexos de email da saída do gatilho em seu loop.The Attachments property passes an array, which has the email attachments from the trigger's output, into your loop.

  6. No loop for each , selecione Adicionar uma ação.In the For each loop, select Add an action.

    Selecione "Adicionar uma ação"

  7. Na caixa de pesquisa, insira "integração" como filtro.In the search box, enter "increment variable" as your filter. Na lista ações, selecione variável de incremento.From the actions list, select Increment variable.

    Observação

    Verifique se a ação variável de incremento aparece dentro do loop.Make sure that the Increment variable action appears inside the loop. Se a ação aparecer fora do loop, arraste a ação para o loop.If the action appears outside the loop, drag the action into the loop.

  8. Na ação Incrementar variável, na lista Nome, selecione a variável Count.In the Increment variable action, from the Name list, select the Count variable.

    Selecione a variável "Count"

  9. No loop, adicione qualquer ação que envia a você o número de anexos.Under the loop, add any action that sends you the number of attachments. Em sua ação, inclua o valor da variável Count, por exemplo:In your action, include the value from the Count variable, for example:

    Adicionar uma ação que envia os resultados

  10. Salve seu aplicativo lógico.Save your logic app. Selecione Salvar na barra de ferramentas do designer.On the designer toolbar, select Save.

Como testar o seu aplicativo lógicoTest your logic app

  1. Se seu aplicativo lógico não estiver habilitado, no menu do aplicativo lógico, selecione visão geral.If your logic app isn't enabled, on your logic app menu, select Overview. Na barra de ferramentas, selecione habilitar.On the toolbar, select Enable.

  2. Na barra de ferramentas do designer do aplicativo lógico, selecione executar.On the Logic App Designer toolbar, select Run. Essa etapa inicia manualmente o aplicativo lógico.This step manually starts your logic app.

  3. Envie um email com um ou mais anexos para a conta de email usada neste exemplo.Send an email with one or more attachments to the email account you used in this example.

    Esta etapa aciona o gatilho do aplicativo lógico, que cria e executa uma instância do fluxo de trabalho de seu aplicativo lógico.This step fires the logic app's trigger, which creates and runs an instance for your logic app's workflow. Como resultado, o aplicativo lógico envia uma mensagem ou email mostrando o número de anexos no email enviado por você.As a result, the logic app sends you a message or email that shows the number of attachments in the email you sent.

Se você alternar do designer para o editor de modo de exibição de código, aqui está a maneira como o loop for each aparece junto com a ação variável de incremento dentro de sua definição de aplicativo lógico, que está no formato JSON.If you switch from the designer to the code view editor, here is the way that the For each loop appears along with the Increment variable action inside your logic app definition, which is in JSON format.

"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ávelDecrement variable

Para diminuir ou decrementar uma variável por um valor constante, siga as etapas para aumentar uma variável , exceto que você encontrar e selecionar a ação diminuir variável em vez disso.To decrease or decrement a variable by a constant value, follow the steps for increasing a variable except that you find and select the Decrement variable action instead. Essa ação só funciona com variáveis de inteiro e float.This action works only with integer and float variables.

Estas são as propriedades para a ação Diminuir variável:Here are the properties for the Decrement variable action:

PropriedadeProperty NecessárioRequired ValueValue DescriçãoDescription
NameName SimYes <variable-name><variable-name> O nome da variável para diminuirThe name for the variable to decrement
ValorValue NãoNo <increment-value><increment-value> O valor para diminuição da variável.The value for decrementing the variable. O valor padrão é um.The default value is one.

Dica: embora seja opcional, defina esse valor como uma prática recomendada para sempre conhecer o valor específico para diminuir a variável.Tip: Although optional, set this value as a best practice so you always know the specific value for decrementing your variable.

Se você alternar do designer para o editor de exibição de código, aqui está a maneira como a ação de variável decremento aparece dentro de sua definição de aplicativo lógico, que está no formato JSON.If you switch from the designer to the code view editor, here is the way that the Decrement variable action appears inside your logic app definition, which is in JSON format.

"actions": {
   "Decrement_variable": {
      "type": "DecrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Definir variávelSet variable

Para atribuir um valor diferente a uma variável existente, execute as etapas para aumentar uma variável, exceto pelo fato de:To assign a different value to an existing variable, follow the steps for increasing a variable except that you:

  1. Localize e selecione a ação definir variável em vez disso.Find and select the Set variable action instead.

  2. Fornecer o nome da variável e o valor que você deseja atribuir.Provide the variable name and value you want to assign. O novo valor e a variável devem ter o mesmo tipo de dados.Both the new value and the variable must have the same data type. O valor é necessário porque essa ação não tem um valor padrão.The value is required because this action doesn't have a default value.

Estas são as propriedades para a ação Definir variável:Here are the properties for the Set variable action:

PropriedadeProperty NecessárioRequired ValueValue DescriçãoDescription
NameName SimYes <variable-name><variable-name> O nome da variável para alterarThe name for the variable to change
ValorValue SimYes <new-value><new-value> O valor que você quer atribuir à variável.The value you want to assign the variable. Ambos devem ter o mesmo tipo de dados.Both must have the same data type.

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.Unless you're incrementing or decrementing variables, changing variables inside loops might create unexpected results because loops run in parallel, or concurrently, by default. Para esses casos, tente definir o loop para executar em sequência.For these cases, try setting your loop to run sequentially. 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:For example, when you want to reference the variable value inside the loop and expect same value at the start and end of that loop instance, follow these steps to change how the loop runs:

  1. No canto superior direito do loop, selecione o botão de reticências ( ... ) e, em seguida, selecione configurações.In your loop's upper-right corner, select the ellipsis (...) button, and then select Settings.

  2. Em Controle de Simultaneidade, altere a configuração Substituir Padrão para Ativado.Under Concurrency Control, change the Override Default setting to On.

  3. Arraste o controle deslizante de Grau de Paralelismo para 1.Drag the Degree of Parallelism slider to 1.

Se você alternar do designer para o editor de modo de exibição de código, aqui está a maneira como a ação definir variável aparece dentro de sua definição de aplicativo lógico, que está no formato JSON.If you switch from the designer to the code view editor, here is the way that the Set variable action appears inside your logic app definition, which is in JSON format. Este exemplo altera o Count valor atual da variável para outro valor.This example changes the Count variable's current value to another value.

"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ávelAppend to variable

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.For variables that store strings or arrays, you can insert or append a variable's value as the last item in those strings or arrays. Você pode executar as etapas para aumentar a uma variável, exceto pelo fato de executar estas etapas no lugar:You can follow the steps for increasing a variable except that you follow these steps instead:

  1. Localize e selecionar uma dessas ações com base em se a variável é uma cadeia de caracteres ou uma matriz:Find and select one of these actions based on whether your variable is a string or an array:

    • Acrescentar à variável de cadeia de caracteresAppend to string variable
    • Acrescentar à variável de matrizAppend to array variable
  2. Forneça o valor para acrescentar como o último item na cadeia de caracteres ou matriz.Provide the value to append as the last item in the string or array. Esse valor é obrigatório.This value is required.

Estas são as propriedades para as ações Acrescentar a... :Here are the properties for the Append to... actions:

PropriedadeProperty NecessárioRequired ValueValue DescriçãoDescription
NameName SimYes <variable-name><variable-name> O nome da variável para alterarThe name for the variable to change
ValorValue SimYes <append-value><append-value> O valor que você deseja acrescentar, que pode ser de qualquer tipoThe value you want to append, which can have any type

Se você alternar do designer para o editor de modo de exibição de código, aqui está a maneira como a ação acrescentar à variável de matriz aparece dentro de sua definição de aplicativo lógico, que está no formato JSON.If you switch from the designer to the code view editor, here is the way that the Append to array variable action appears inside your logic app definition, which is in JSON format. Este exemplo cria uma variável de matriz e adiciona outro valor como o último item na matriz.This example creates an array variable, and adds another value as the last item in the array. O resultado é uma variável atualizada que contém essa matriz: [1,2,3,"red"]Your result is an updated variable that contains this array: [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" ]
      }
   }
},

Próximas etapasNext steps