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:
- Fluxos de trabalho de consumo: Visual Studio Code
- Fluxos de trabalho padrão: Visual Studio Code
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.
No portal do Azure, abra seu fluxo de trabalho no designer.
No designer, siga estas etapas gerais para adicionar uma ação chamada variável Initialize.
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:
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.
No designer de fluxo de trabalho, siga estas etapas gerais para adicionar uma ação chamada variável de incremento.
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:
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.
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.
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
Para iterar através de cada anexo, siga estas etapas gerais para adicionar uma ação chamada For each loop.
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 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.
Em Para cada loop, selecione Adicionar uma ação.
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.
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 sua ação, inclua o valor da variável Contagem, 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, 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.
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:
Em vez disso, localiza e seleciona a ação Definir variável.
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:
No loop, localize e abra as configurações do loop.
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.
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:
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
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" ]
}
}
},