Criar ações de alternância que executam ações de fluxo de trabalho com base em valores específicos nos Aplicativos Lógicos do Azure

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

Para executar ações específicas com base nos valores de objetos, expressões ou tokens, adicione uma ação de alternância . Essa estrutura avalia o objeto, expressão ou token, escolhe o caso que corresponde ao resultado e executa ações específicas apenas para esse caso. Quando a ação de switch é executada, apenas um caso deve corresponder ao resultado.

Por exemplo, suponha que você queira um aplicativo lógico que execute etapas diferentes com base em uma opção selecionada no email. Neste exemplo, o aplicativo lógico verifica o feed RSS de um site em busca de novo conteúdo. Quando um novo item aparece no feed RSS, o aplicativo lógico envia um e-mail para um aprovador. Com base se o aprovador seleciona "Aprovar" ou "Rejeitar", o aplicativo lógico segue etapas diferentes.

Gorjeta

Como todas as linguagens de programação, as ações de switch suportam apenas operadores de igualdade. Se você precisar de outros operadores relacionais, como "maior que", use uma ação de condição. Para garantir um comportamento de execução determinístico, os casos devem conter um valor exclusivo e estático em vez de tokens ou expressões dinâmicas.

Pré-requisitos

Adicionar uma ação de comutação

  1. Para este exemplo, adicione uma ação de alternância no final do fluxo de trabalho de exemplo. Após a última etapa, escolha Nova etapa.

    Quando quiser adicionar uma ação de alternância entre as etapas, mova o ponteiro sobre a seta onde deseja adicionar a ação de alternância. Escolha o sinal de adição (+) que aparece e, em seguida, escolha Adicionar uma ação.

  2. Na caixa de pesquisa, digite "switch" como filtro. Selecione esta ação: Switch - Control

    Add switch

    Uma ação de alternância aparece com uma maiúscula e minúscula e uma maiúscula e minúscula padrão. Por padrão, uma ação de switch requer pelo menos um caso mais o caso padrão.

    Empty default switch action

  3. Clique dentro da caixa Ativado para que a lista de conteúdo dinâmico apareça. Nessa lista, selecione o campo SelectedOption cuja saída determina a ação a ser executada.

    Select

  4. Para lidar com os casos em que o aprovador Approve seleciona ou Reject, adicione outro caso entre Caso e Padrão.

    Add another case

  5. Adicione estas ações aos casos correspondentes:

    Caixa # OpçãoSelecionada Ação
    Caso 1 Aprovar Adicionar o Outlook Enviar uma ação de email para enviar detalhes sobre o item RSS somente quando o aprovador selecionou Aprovar.
    Caso 2 Rejeitar Adicionar o Outlook Enviar uma ação de email para notificar outros aprovadores de que o item RSS foi rejeitado.
    Predefinição Nenhuma Nenhuma ação necessária. Neste exemplo, o caso Default está vazio porque SelectedOption tem apenas duas opções.

    Finished switch action

  6. Guarde a sua aplicação lógica.

    Para testar manualmente este exemplo, escolha Executar até que o aplicativo lógico encontre um novo item RSS e envie um e-mail de aprovação. Selecione Aprovar para observar os resultados.

Definição JSON

Agora que você criou um aplicativo lógico usando uma ação de alternância, vamos examinar a definição de código de alto nível por trás da ação de alternância.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
Label Description
"Switch" O nome da ação de alternância, que você pode renomear para facilitar a leitura
"type": "Switch" Especifica que a ação é uma ação de alternância
"expression" Neste exemplo, especifica a opção selecionada do aprovador que é avaliada em relação a cada caso, conforme declarado posteriormente na definição
"cases" Define qualquer número de casos. Para cada caso, é o nome padrão para esse caso, "Case_*" que você pode renomear para legibilidade
"case" Especifica o valor do caso, que deve ser um valor constante e exclusivo que a ação de alternância usa para comparação. Se nenhum caso corresponder ao resultado da expressão de comutação, as "default" ações na seção serão executadas.

Obter suporte

  • Para perguntas, visite a página de perguntas e respostas da Microsoft para Aplicativos Lógicos do Azure.
  • Para enviar ou votar em recursos ou sugestões, visite o site de comentários do usuário dos Aplicativos Lógicos do Azure.

Próximos passos