Partilhar via


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

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Este guia de instruções mostra como criar e trabalhar com variáveis para que você possa armazenar e usar valores no fluxo de trabalho do aplicativo lógico. Por exemplo, as variáveis podem ajudá-lo a controlar o número de vezes que um loop é executado. Para iterar sobre uma matriz ou verificar uma matriz para um item específico, você pode usar uma variável para fazer referência ao número de índice para cada item de matriz.

Pode criar variáveis para tipos de dados como número inteiro, flutuar, booleano, cadeia, matriz e objeto. Depois de criar uma variável, pode executar outras tarefas, por exemplo:

  • Obter ou referenciar o valor da variável.
  • Aumentar ou diminuir a variável por um valor constante, também conhecido como incremento e diminuição.
  • Atribuir um valor diferente à variável.
  • Inserir ou anexar o valor da variável como o último item numa cadeia ou matriz.

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

Importante

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

Pré-requisitos

  • Uma conta e subscrição do Azure. Se não tiver uma subscrição, inscreva-se numa conta gratuita do Azure.

  • Um fluxo de trabalho de aplicativo lógico onde 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, seu fluxo de trabalho deve começar com um gatilho como a primeira etapa do fluxo de trabalho. Para obter mais informações, consulte Criar um fluxo de trabalho com um gatilho ou ação.

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

Com base no fluxo de trabalho Consumo ou Padrão, siga as etapas correspondentes:

Inicializar variável

Você pode criar uma variável e declarar seu tipo de dados e valor inicial usando uma única ação em seu fluxo de trabalho. Só é possível declarar variáveis a nível global, não dentro de âmbitos, condições e ciclos.

  1. No portal do Azure, abra seu fluxo de trabalho no designer.

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

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

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

    O exemplo a seguir mostra os valores iniciais para essa variável de exemplo:

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

  4. Agora continue adicionando as ações desejadas para o seu cenário. Quando tiver terminado, 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 Inicializar variável aparece na definição do fluxo de trabalho, que está no formato JSON (JavaScript Object Notation):

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

Nota

Embora a ação Inicializar variável tenha um "variables" objeto estruturado como uma matriz, a ação pode criar apenas uma variável de cada vez. Cada nova variável requer uma ação Iniciar variável individual.

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": {}
   }
},

Matriz com cadeias

"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, você pode usar a função variables() no designer de fluxo de trabalho e no editor de visualização de código. 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 criada neste guia usando a variables() função. A função string() obtém os conteúdos da variável em formato de cadeia: "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 Variável de incremento ao seu fluxo de trabalho. Esta ação funciona apenas com variáveis de números inteiros e flutuantes.

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

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

    Property Necessário Valor Descrição
    Nome Sim <variable-name> O nome para a variável a incrementar
    Valor Não <increment-value> O valor utilizado 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:

    A captura de tela mostra o portal do Azure, o fluxo de trabalho de Consumo e a ação chamada Variável de incremento.

  3. 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: Criar contador de ciclos

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

  1. No portal do Azure, crie seu recurso de aplicativo lógico de consumo com um fluxo de trabalho em branco. Adicione um acionador que verifica novos e-mails e quaisquer anexos.

    Este exemplo utiliza o acionador do Office 365 Outlook para Quando recebe um novo e-mail. Só pode configurar este acionador quando o e-mail tiver anexos. No entanto, pode utilizar qualquer conector que verifique novos e-mails com anexos, como o conector do Outlook.com.

  2. No gatilho, para verificar se há anexos e passá-los para o fluxo de trabalho, selecione Sim para as seguintes propriedades:

    • Apenas 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 inteira chamada Count que tenha um valor inicial definido como 0.

  4. Para iterar através de cada anexo, siga estas etapas gerais para adicionar uma ação chamada For each loop.

  5. No loop, selecione dentro da caixa chamada Select an output from previous steps. Depois que a lista de conteúdo dinâmico for exibida, em Quando um novo e-mail chegar, selecione Anexos.

    A captura de tela mostra o fluxo de trabalho de consumo, Para cada loop, a lista de conteúdo dinâmico aberta e a saída de anexos selecionada.

    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.

  6. Em Para cada loop, selecione Adicionar uma ação.

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

    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.

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

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

  9. Sob o ciclo, adicione qualquer ação que lhe envie o número de anexos. Na sua ação, inclua o valor da variável Contagem, por exemplo:

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

  10. Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Testar o fluxo de trabalho

  1. Para acionar manualmente seu fluxo de trabalho, siga a etapa correspondente:

    Fluxo de trabalho de consumo

    Na barra de ferramentas do fluxo de trabalho do designer, selecione Executar Execução de Gatilho> para executar manualmente o fluxo de trabalho.

    Fluxo de trabalho padrão

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

  2. 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 você alternar do designer para a visualização de código, o exemplo a seguir mostra como o loop For each aparece junto com a ação da variável Increment 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 diminuir uma variável por um valor constante específico, siga as etapas para incrementar uma variável , exceto se você adicionar a ação da variável Decrement 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:

Property Necessário Valor Descrição
Nome Sim <variable-name> O nome para a variável a diminuir
Valor Não <increment-value> 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:

  1. Em vez disso, localiza e seleciona a ação Definir variável.

  2. Forneça o nome e o valor da variável que pretende atribuir. Tanto o novo valor como a variável têm de ter o mesmo tipo de dados. O valor é necessário porque esta ação não tem um valor predefinido.

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

Property Necessário Valor Descrição
Nome Sim <variable-name> O nome para a variável a alterar
Valor Sim <new-value> O valor a que pretende atribuir a variável. Ambos têm de ter o mesmo tipo de dados.

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:

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

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

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

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

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

Se você alternar do designer para a visualizaçã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 Count 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" ]
      }
   }
},

Anexar à 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. Você pode seguir as etapas para incrementar uma variável com as seguintes exceções:

  1. Localize e selecione uma destas ações com base no fato de sua variável ser uma cadeia de caracteres ou uma matriz:

    • Anexar a variável de cadeia
    • Anexar a variável de matriz
  2. Forneça o valor a anexar como o último item na cadeia ou matriz. Este valor é obrigatório.

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

Property Necessário Valor Descrição
Nome Sim <variable-name> O nome para a variável a alterar
Valor Sim <append-value> O valor que quer anexar, que pode ter qualquer tipo

Se você alternar do designer para a visualizaçã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" ]
      }
   }
},

Próximos passos