Compartilhar via


Criar variáveis para armazenar e gerenciar valores nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Standard)

Este guia de instruções mostra como criar e trabalhar com variáveis para armazenar e usar valores no seu fluxo de trabalho do aplicativo lógico. 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, você pode usar uma variável para referenciar o número de índice de cada item da matriz.

Você pode criar variáveis para tipos de dados, como inteiro, float, booliano, cadeia de caracteres, matriz e objeto. Depois de criar uma variável, você pode executar outras tarefas, por exemplo:

  • Obter ou consultar o valor da variável.
  • Aumentar ou diminuir a variável em um valor constante, também conhecido como incremento e decremento.
  • Atribuir um valor diferente para a variável.
  • Inserir ou acrescentar o valor da variável como o último item de uma cadeia de caracteres ou uma matriz.

As variáveis existem e são globais apenas dentro da instância de fluxo de trabalho que as cria. Além disso, elas persistem em quaisquer iterações de loop dentro de uma instância de fluxo de trabalho. 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.

Importante

Por padrão, as iterações em um loop For-each são executadas em paralelo. Ao usar variáveis em loops, execute o loop sequencialmente para que as variáveis retornem resultados previsíveis.

Pré-requisitos

  • Uma conta e uma assinatura do Azure. Caso não tenha uma assinatura, inscreva-se em uma conta gratuita do Azure.

  • Um fluxo de trabalho de aplicativo lógico no qual você deseja criar a variável e um gatilho que inicia o fluxo de trabalho.

    Antes de adicionar ações para criar e trabalhar com variáveis, o fluxo de trabalho deve começar com um gatilho como a primeira etapa no fluxo de trabalho. Para obter mais informações, confira Criar um fluxo de trabalho com um gatilho ou ação.

As seguintes etapas usam o portal do Azure, mas com a extensão de Aplicativos Lógicos do Azure apropriada, você também pode usar as seguintes ferramentas para criar fluxos de trabalho do aplicativo lógico:

Com base em se você possui um fluxo de trabalho de Consumo ou Standard, siga as etapas correspondentes:

Inicializar variável

Você pode criar uma variável e declarar seu tipo de dados e o valor inicial, usando uma única ação em seu fluxo de trabalho. Você só pode declarar variáveis no nível global, não em escopos, condições e loops.

  1. No portal do Azure, abra o fluxo de trabalho do aplicativo de lógica no designer.

  2. No designer, siga estas etapas gerais para adicionar uma ação chamada Inicializar variável.

  3. Forneça as seguintes informações sobre sua variável:

    Propriedade Obrigatório Valor Descrição
    Nome Sim < variable-name> O nome da variável para incrementar
    Tipo Sim < variable-type> O tipo de dados para a variável
    Valor Não < start-value> O valor inicial da 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.

    O exemplo a seguir mostra os valores iniciais desta variável de amostra:

    A captura de tela mostra o portal do Azure, o fluxo de trabalho Consumidor e a ação denominada Inicializar variável.

  4. Agora continue adicionando as ações desejadas para seu cenário. Quando terminar, 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 Inicializar variável aparece na definição do 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": {}
   }
},

Observação

Embora a ação Inicializar variável tenha um objeto "variables" estruturado como uma matriz, a ação poderá criar apenas uma variável por vez. Cada nova variável exige uma ação Inicializar variável individual.

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 fazer referência ao conteúdo de uma variável, também é possível usar a função variáveis() no designer do fluxo de trabalho e no editor de exibiçã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 criada anteriormente 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.

  1. No designer do fluxo de trabalho, siga estas etapas gerais para adicionar uma ação chamada Incrementar variável.

  2. Forneça as seguintes informações para esta ação:

    Propriedade Obrigatório Valor Descrição
    Nome Sim < variable-name> O nome da variável para incrementar
    Valor Não < increment-value> O valor 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:

    A captura de tela mostra o portal do Azure, o fluxo de trabalho Consumo e a ação denominada Incrementar variável.

  3. 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: criar contador de loops

As variáveis são usadas normalmente para contar o número de vezes que um loop é executado. Este exemplo mostra como criar e usar variáveis para essa tarefa criando um loop que conta os anexos em um email.

  1. No portal do Azure, crie o recurso de aplicativo lógico de Consumo com um fluxo de trabalho em branco. Adicione um gatilho que verifica se há novos emails e anexos.

    Este exemplo usa o gatilho do Outlook do Office 365 para Quando um novo email é recebido. Você pode configurar esse gatilho para ser acionado somente quando o email 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.

  2. No gatilho, para verificar se há anexos e transmiti-los para o fluxo de trabalho do aplicativo lógico, selecione Sim nas propriedades a seguir:

    • Somente com Anexo
    • Incluir Anexos

    A captura de tela mostra o portal do Azure, o fluxo de trabalho de Consumo e as propriedades selecionadas para verificar e incluir anexos.

  3. Adicione a ação Inicializar variável para criar uma variável de inteiro chamada Count que tem um valor inicial definido como 0.

  4. Para iterar em cada anexo, siga estas etapas gerais para adicionar uma ação chamada loop For-each.

  5. No loop, selecione dentro da caixa chamada Selecionar uma saída das etapas anteriores. Depois que a lista de conteúdo dinâmico for exibida, em Quando chegar um novo email, selecione Anexos.

    A captura de tela mostra o fluxo de trabalho de Consumo, o loop For-each, a lista de conteúdo dinâmico aberta e a saída Anexos selecionada.

    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.

  6. No loop For each, selecione Adicionar uma ação.

  7. Siga estas etapas gerais para adicionar uma ação chamada Incrementar variável ao loop.

    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.

  8. Na ação Incrementar variável, na lista Nome, selecione a variável Count. Defina a propriedade Value como 1.

    A captura de tela mostra o fluxo de trabalho Consumo com a variável selecionada chamada Count.

  9. 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:

    A captura de tela mostra o fluxo de trabalho Consumo e uma ação que envia resultados.

  10. Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.

Testar seu fluxo de trabalho

  1. Para disparar manualmente o fluxo de trabalho, siga a etapa correspondente:

    Fluxo de trabalho de Consumo

    Na barra de ferramentas do fluxo de trabalho do designer, selecione Executar gatilho>Executar para executar manualmente o fluxo de trabalho.

    Fluxo de trabalho Standard

    No menu de fluxo de trabalho, selecione Visão geral. Na barra de ferramentas, selecione Executar>Executar.

  2. 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 loopFor-each 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 < variable-name> O nome da variável para diminuir
Valor Não < increment-value> 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:

  1. Localize e selecione a ação Definir variável.

  2. Fornecer o nome da variável e o valor que você deseja atribuir. O novo valor e a variável devem ter o mesmo tipo de dados. O valor é necessário porque essa ação não tem um valor padrão.

A tabela a seguir descreve as informações para a ação Definir variável:

Propriedade Obrigatório Valor Descrição
Nome Sim < variable-name> O nome da variável para alterar
Valor Sim < new-value> O valor que você quer atribuir à variável. Ambos devem ter o mesmo tipo de dados.

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:

  1. No loop, localize e abra as configurações de loop.

  2. Com base no tipo de recurso do fluxo de trabalho, siga as etapas correspondentes:

    • Consumo: altere a configuração Controle de Simultaneidade de Desativado para Ativado.

    • Standard: em Geral, altere a configuração Controle de Simultaneidade de Desativado para Ativado.

  3. Arraste o controle deslizante de Grau de Paralelismo para 1.

Se você alternar do designer para a exibição de código, o exemplo a seguir mostra como a ação Definir variável aparece na definição do fluxo de trabalho, que está no formato JSON:

O exemplo a seguir altera o valor atual da variável Count 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. Você pode seguir as etapas para incrementar uma variável com as seguintes exceções:

  1. 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
  2. Forneça o valor para acrescentar como o último item na cadeia de caracteres ou matriz. Esse valor é necessário.

A tabela a seguir descreve as informações das ações Acrescentar a...:

Propriedade Obrigatório Valor Descrição
Nome Sim < variable-name> O nome da variável para alterar
Valor Sim < append-value> O valor que você deseja acrescentar, que pode ser de 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 essa 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" ]
      }
   }
},

Próximas etapas