Tutorial: Criar fluxos de trabalho de automatização baseados em horários e recorrentes com apps Azure Logic

Este tutorial mostra como construir uma aplicação lógica de exemplo que automatiza um fluxo de trabalho que funciona em um horário recorrente. Especificamente, este exemplo de aplicação lógica verifica o tempo de viagem, incluindo o tráfego, entre dois lugares e corre todas as manhãs da semana. Se o tempo exceder um limite específico, a aplicação lógica envia-lhe um e-mail que inclui o tempo de viagem e o tempo extra necessário para chegar ao seu destino. O fluxo de trabalho inclui várias etapas, que começam com um gatilho baseado no horário seguido de uma ação Bing Maps, uma ação de operações de dados, uma ação de fluxo de controlo e uma ação de notificação de e-mail.

Neste tutorial, ficará a saber como:

  • Criar uma aplicação lógica em branco.
  • Adicione um gatilho de recorrência que especifica o calendário da sua aplicação lógica.
  • Adicione uma ação Bing Maps que obtém o tempo de viagem para uma rota.
  • Adicione uma ação que cria uma variável, converte o tempo de viagem de segundos para minutos, e armazena que resultam na variável.
  • Adicionar uma condição que compara o tempo de deslocação face a um limite especificado.
  • Adicione uma ação que lhe envia e-mail se o tempo de viagem exceder o limite.

Quando terminar, a aplicação lógica é semelhante a este fluxo de trabalho a alto nível:

Screenshot que mostra a visão geral de alto nível para um fluxo de trabalho de aplicações lógicas de exemplo.

Pré-requisitos

Criar uma aplicação lógica

  1. Inicie sessão no portal do Azure com as credenciais da sua conta do Azure. Na página inicial do Azure, selecione Criar um recurso.

  2. No menu Azure Marketplace, selecione Integration > Logic App.

    Screenshot que mostra o menu Azure Marketplace com "Integração" e "Logic App" selecionados.

  3. No painel da Aplicação Lógica, forneça as informações descritas aqui sobre a aplicação lógica que pretende criar.

    Screenshot que mostra o painel de criação da Logic App e a informação para fornecer a nova aplicação lógica.

    Propriedade Valor Descrição
    Subscrição <Nome de subscrição Azure> O nome da subscrição do Azure. Este exemplo utiliza Pay-As-You-Go.
    Grupo de recursos LA-TravelTime-RG O nome para o grupo de recursos Azure,que é usado para organizar recursos relacionados. Este exemplo cria um novo grupo de recursos chamado LA-TravelTime-RG .
    Nome LA-TravelTime O nome da sua aplicação lógica, que contém apenas letras, números, hífenes - (), sublinha _ (), parênteses ( ( , ) e ) períodos . (). Este exemplo utiliza LA-TravelTime.
    Localização E.U.A. Oeste A região onde armazenar a sua informação lógica de aplicações. Este exemplo utiliza West US.
    Log Analytics Desligado Mantenha a definição Desativado para o registo de diagnósticos.
  4. Quando terminar, selecione Review + create. Depois de o Azure validar as informações sobre a sua aplicação lógica, selecione Criar.

  5. Depois de o Azure implementar a sua aplicação, selecione Ir para o recurso.

    O Azure abre o painel de seleção do modelo de Apps Lógicas, que mostra um vídeo de introdução, gatilhos geralmente usados e padrões de modelo de aplicações lógicas.

  6. Percorra as secções de gatilhos para baixo para a secção Modelos e selecione A App lógica em branco.

    Screenshot que mostra o painel de seleção do modelo de Apps Lógicas com "Blank Logic App" selecionado.

Em seguida, adicione o gatilhode Recorrência , que executa o fluxo de trabalho com base num horário especificado. Todas as aplicações lógicas têm de ser iniciadas com um acionador, que é acionado quando um evento específico acontece ou quando dados novos satisfazem uma condição específica. Para obter mais informações, veja Criar a sua primeira aplicação lógica.

Adicione o gatilho de recorrência

  1. Na caixa de pesquisa do Design de Aplicações Lógicas, introduza recurrence e selecione o gatilho denominado Recorrência.

    Screenshot que mostra a caixa de pesquisa do Logic Apps Designer que contém o termo de pesquisa de "recorrência" e na lista "Triggers", o gatilho "Recorrence" aparece selecionado.

  2. Na forma de Recorrência, selecione o botão elipses (...) e, em seguida, selecione Rename. Mude o nome do acionador com a descrição Check travel time every weekday morning

    Screenshot que mostra o botão de elipses selecionado, a lista "Definições" aberta e o comando "Renomear" selecionado.

  3. Dentro do gatilho, altere estas propriedades como descrito e mostrado aqui.

    Screenshot que mostra as alterações no intervalo e frequência do gatilho.

    Propriedade Necessário Valor Descrição
    Intervalo Yes 1 O número de intervalos de espera entre verificações
    Frequência Yes Semana A unidade de tempo a utilizar para a periodicidade
  4. Em Intervalo e Frequência, abra a nova lista de parâmetros add e selecione estas propriedades para adicionar ao gatilho.

    • On these days (Nestes dias)
    • At these hours (A estas horas)
    • At these minutes (A estes minutos)

    Screenshot que mostra a lista aberta "Adicionar novo parâmetro" e estas propriedades selecionadas: "Nestes dias", "Nestas horas" e "Nestes minutos".

  5. Agora descreva os valores para as propriedades adicionais como mostrado e descrito aqui.

    Screenshot que mostra as propriedades adicionais definidas para os valores descritos na tabela seguinte.

    Propriedade Valor Descrição
    On these days (Nestes dias) Monday,Tuesday,Wednesday,Thursday,Friday Esta definição só está disponível quando definir a Frequência para a Semana.
    At these hours (A estas horas) 7,8,9 Esta definição só está disponível quando definir a Frequência para Semana ou Dia. Para esta recorrência, selecione as horas do dia. Este exemplo é executado nas 7 8 marcas , e 9 hora.
    At these minutes (A estes minutos) 0,15,30,45 Esta definição só está disponível quando definir a Frequência para Semana ou Dia. Para esta recorrência, selecione as atas do dia. Este exemplo começa na marca de zero horas e funciona a cada 15 minutos.

    Este acionador é acionado todos os dias úteis, a cada 15 minutos a partir das 7:00 até às 9:45. A caixa Pré-visualização mostra a agenda da periodicidade. Para obter mais informações, veja Schedule tasks and workflows (Agendar tarefas e fluxos de trabalho) e Workflow actions and triggers (Ações e acionadores de fluxos de trabalho).

  6. Para ocultar os detalhes do gatilho por enquanto, desabar a forma clicando dentro da barra de título da forma.

    Screenshot que mostra a forma do gatilho colapsado.

  7. Guarde a sua aplicação lógica. Na barra de ferramentas do designer, selecione Save.

A sua aplicação lógica está agora ao vivo no portal Azure, mas não faz outra coisa que não seja o gatilho com base no calendário especificado. Por isso, adicione uma ação que responde quando o acionador é acionado.

Obter o tempo de deslocação para um percurso

Agora que tem um acionador, adicione uma ação que obtém o tempo de deslocação entre dois sítios. O Logic Apps disponibiliza um conector para a API do Mapas Bing para que possa obter facilmente estas informações. Antes de começar esta tarefa, confirme que tem uma chave de API do Mapas Bing, conforme descrito nos pré-requisitos do tutorial.

  1. No Logic App Designer, sob o gatilho de Recorrência, selecione Novo passo.

  2. Em Seleção de uma operação, selecione Standard. Na caixa de pesquisa, insira bing maps e selecione a ação chamada Rota Get.

    Screenshot que mostra a lista "Escolha uma operação" filtrada por ações de "bing maps" e a ação "Get route" selecionada.

  3. Se não tiver uma ligação ao Mapas Bing, é-lhe pedido que a crie. Forneça os detalhes da ligação como mostrado e descrito e, em seguida, selecione Criar.

    Screenshot que mostra a caixa de conexão Bing Maps com o nome de ligação especificado e a chave API Bing Maps.

    Propriedade Necessário Valor Descrição
    Nome de conexão Yes BingMapsConnection Indique um nome para a ligação. Este exemplo utiliza BingMapsConnection.
    Chave de API Yes <Bing-Maps-API-chave> Insira a chave API Bing Maps que recebeu anteriormente. Se não tiver uma chave do Mapas Bing, saiba como obtê-la.
  4. Rebatize a ação com esta descrição: Get route and travel time with traffic .

  5. Na ação, abra a nova lista de parâmetros Add e selecione estas propriedades.

    • Otimizar
    • Distance unit
    • Travel mode

    Screenshot que mostra a "Rota da Saída..." ação com as propriedades "Otimizar", "Unidade de distância" e "Modo de viagem" selecionadas.

  6. Agora insira os valores para as propriedades mostradas e descritas aqui.

    Screenshot que mostra valores adicionais de propriedade para a ação "Get route".

    Propriedade Necessário Valor Descrição
    Waypoint 1 Yes <localização inicial> A origem da sua rota. Este exemplo especifica um endereço inicial de exemplo.
    Waypoint 2 Yes <localização final> O destino da sua rota. Este exemplo especifica um endereço de destino exemplo.
    Otimizar No timeWithTraffic Um parâmetro para otimizar o percurso, por exemplo, a distância, o tempo de deslocação com o tráfego atual e assim sucessivamente. Selecione o valor do parâmetro, timeWithTraffic.
    Distance unit No <sua preferência> A unidade de distância do percurso. Este exemplo usa Mile como unidade.
    Travel mode No Driving O modo de deslocação para o percurso. Selecione o modo de condução.

    Para obter mais informações sobre estes parâmetros e valores, consulte calcular uma rota.

  7. Na barra de ferramentas do designer, selecione Save.

Em seguida, crie uma variável para que possa converter e armazenar o tempo de deslocação atual como minutos em vez de segundos. Desta forma, evita repetir a conversão e pode utilizar o valor mais facilmente em passos posteriores.

Criar uma variável para armazenar o tempo de viagem

Por vezes, pode querer executar operações em dados no seu fluxo de trabalho e, em seguida, usar os resultados em ações posteriores. Para guardar estes resultados para que possa reutilizá-los ou reutilizá-los facilmente, pode criar variáveis que armazenam esses resultados após o processamento. Só pode criar variáveis ao nível superior na sua aplicação lógica.

Por predefinição, a ação de rota Get devolve o tempo de viagem atual com tráfego em segundos a partir da propriedade Travel Duration Traffic. Ao converter e armazenar este valor em minutos, será mais fácil utilizá-lo mais tarde sem que tenha de reconvertê-lo.

  1. No designer, no âmbito da ação de rota Get, selecione Novo passo.

  2. Em Selecione uma operação, selecione Built-in. Na caixa de pesquisa, insira variables e selecione a ação denominada Variável Initialize.

    Screenshot que mostra a ação "Initialize variable" selecionada.

  3. Mude o nome desta ação com a descrição Create variable to store travel time

  4. Forneça esta informação para a sua variável, como mostrado nesta tabela e nos passos abaixo da tabela:

    Propriedade Necessário Valor Descrição
    Nome Yes travelTime O nome para a sua variável. Este exemplo utiliza travelTime.
    Tipo Yes Número inteiro O tipo de dados da variável
    Valor No Uma expressão que converte o tempo de viagem atual de segundos para minutos (ver os passos por baixo desta tabela). O valor iniciar da variável
    1. Para criar a expressão para a propriedade Valor, clique dentro da caixa para que a lista de conteúdos dinâmicos apareça. Se necessário, aumente o seu navegador até que a lista dinâmica apareça. Na lista de conteúdos dinâmicos, selecione Expression, que mostra o editor de expressão.

      Screenshot que mostra a ação "Initialize variable" com o cursor dentro da propriedade "Value", que abre a lista de conteúdos dinâmicos.

      A lista de conteúdos dinâmicos mostra as saídas de ações anteriores que estão disponíveis para selecionar como entradas para as ações subsequentes no seu fluxo de trabalho. A lista de conteúdos dinâmicos inclui um editor de expressão que pode usar para selecionar funções que realizam operações na sua expressão. Este editor de expressão só está disponível na lista de conteúdos dinâmicos.

    2. No editor de expressões, introduza a expressão div(,60)

      Screenshot que mostra o editor de expressão com a expressão "div(,60)" inserida.

    3. Dentro da expressão, coloque o cursor entre o parênteses esquerdo () e a vírgula (,) e selecione conteúdo dinâmico.

      Screenshot que mostra onde colocar o cursor na expressão "div(,60)" com "Conteúdo dinâmico" selecionado.

    4. Na lista de conteúdos dinâmicos, em seleção do valor da propriedade, Tráfego de Duração de Viagem.

      Screenshot que mostra o valor da propriedade "Travel Duration Traffic" selecionado.

    5. Depois de o valor da propriedade resolver dentro da expressão, selecione OK.

      Screenshot que mostra o botão "OK" como selecionado.

      A propriedade Value aparece agora como mostrado aqui:

      Screenshot que mostra a propriedade "Valor" com a expressão resolvida.

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

Em seguida, adicione uma condição que verifica se o tempo de deslocação atual é superior a um limite específico.

Compare o tempo de viagem com o limite

  1. Sob a variável Criar para armazenar ação no tempo de viagem, selecione Novo passo.

  2. Em Selecione uma operação, selecione Built-in. Na caixa de pesquisa, introduza condition. e da lista de ações, selecione a ação denominada Condição.

    Screenshot que mostra a ação "Condição" selecionada

  3. Mude o nome da condição com a descrição If travel time exceeds limit

  4. Construa uma condição que verifique se o valor da propriedade travelTime excede o seu limite especificado como descrito e mostrado aqui:

    1. Na condição, no lado esquerdo da condição, clique no interior da caixa de valor Escolha.

    2. A partir da lista de conteúdos dinâmicos que aparece, em Variáveis, selecione a propriedade chamada TravelTime.

      Screenshot que mostra a caixa "Escolha um valor" no lado esquerdo da condição com a lista de conteúdos dinâmicos aberta e a propriedade "TravelTime" selecionada.

    3. Na caixa de comparação média, selecione que o operador nomeado é maior do que.

    4. No lado direito da condição, na caixa de valor Escolha, insira este limite: 15

      Quando terminar, a condição parece este exemplo:

      Screenshot que mostra a condição final para comparar o tempo de viagem com o limite especificado.

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

Em seguida, adicione a ação a ser executada quando o tempo de viagem exceder o seu limite.

Enviar um e-mail quando o limite for excedido

Agora, adicione uma ação que lhe envia e-mail quando o tempo de viagem exceder o seu limite. Este e-mail inclui o tempo de deslocação atual e o tempo extra necessário para percorrer o percurso especificado.

  1. No ramo True da condição, selecione Adicione uma ação.

  2. Em Seleção de uma operação, selecione Standard. Na caixa de pesquisa, introduza send email. A lista devolve muitos resultados, por isso, para ajudá-lo a filtrar a lista, selecione primeiro o conector de e-mail que deseja.

    Por exemplo, se tiver uma conta de e-mail do Outlook, selecione o conector para o seu tipo de conta:

    • Para contas escolares ou profissionais do Azure, selecione Office 365 Outlook (Outlook do Office 365).
    • Par contas Microsoft pessoais, selecione Outlook.com.

    Este exemplo continua selecionando o Office 365 Outlook.

    Screenshot que mostra a "Escolha uma lista de operações" com a categoria "Standard" e o conector "Office 365 Outlook" selecionado.

  3. Quando as ações do conector aparecerem, selecione a ação que envia o e-mail, por exemplo:

    Screenshot que mostra a ação "Enviar um e-mail" selecionado.

  4. Se ainda não tiver uma ligação, faça o seu sômis e autente o acesso à sua conta de e-mail quando solicitado.

    A Azure Logic Apps cria uma ligação à sua conta de e-mail.

  5. Mude o nome da ação com a descrição Send email with travel time

  6. Para a propriedade To, insira o endereço de e-mail do destinatário. Para efeitos de teste, pode utilizar o seu endereço de e-mail.

  7. Para a propriedade Assunto, especifique o assunto do e-mail e inclua a variável TravelTime seguindo estes passos:

    1. Introduza o texto Current travel time (minutes): com um espaço à direita. Mantenha o cursor na caixa 'Assunto' para que a lista de conteúdos dinâmicos permaneça aberta.

    2. A partir da lista de conteúdos dinâmicos, na rubrica Variáveis, selecione Ver mais para que a variável nomeada TravelTime apareça.

      Screenshot que mostra a lista de conteúdos dinâmicos com a secção "Variáveis" e "Ver mais" selecionados.

      Nota

      A lista de conteúdos dinâmicos não mostra automaticamente a variável TravelTime porque a propriedade Subject espera um valor de corda, enquanto o TravelTime é um valor inteiro.

      Screenshot que mostra a lista de conteúdos dinâmicos com a variável "TravelTime" selecionada.

  8. Para a propriedade Body, especifique o conteúdo do corpo de e-mail seguindo estes passos:

    1. Introduza o texto Add extra travel time (minutes): com um espaço à direita. Mantenha o cursor na caixa Do Corpo para que a lista de conteúdos dinâmicos permaneça aberta.

    2. Na lista de conteúdos dinâmicos, selecione Expression, que mostra o editor de expressão.

      Screenshot que mostra a lista de conteúdos dinâmicos com "Expression" selecionada.

    3. No editor de expressão, sub(,15) insira para que possa calcular o número de minutos que excedem o seu limite:

      Screenshot que mostra o editor de expressão com a expressão "sub(15)" inserida.

    4. Dentro da expressão, coloque o cursor entre o parênteses esquerdo () e a vírgula (,) e selecione conteúdo dinâmico.

      Screenshot que mostra onde colocar o cursor na expressão "sub(,15)" com "Conteúdo dinâmico" selecionado.

    5. Em Variáveis, selecione travelTime.

      Screenshot que mostra a lista de conteúdos dinâmicos com a variável "TravelTime" selecionada.

    6. Depois de a propriedade resolver dentro da expressão, selecione OK.

      Screenshot que mostra a lista de conteúdos dinâmicos e "OK" selecionados.

      A propriedade Body agora aparece como mostrado aqui:

      Screenshot que mostra a lista de conteúdos dinâmicos com a expressão resolvida na propriedade "Body" da ação de e-mail.

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

Em seguida, teste e execute a sua app lógica, que agora se parece com este exemplo:

Screenshot que mostra o fluxo de trabalho de aplicação lógica de exemplo final

Executar a aplicação lógica

Para iniciar manualmente a sua aplicação lógica, na barra de ferramentas do designer, selecione Run.

  • Se o tempo de viagem atual permanecer abaixo do seu limite, a sua aplicação lógica não faz mais nada e espera ou o intervalo seguinte antes de verificar novamente.

  • Se o tempo de viagem atual exceder o seu limite, obtém um e-mail com o tempo de viagem atual e o número de minutos acima do seu limite. Eis um e-mail de exemplo que a sua aplicação lógica envia:

    Screenshot que mostra um e-mail de exemplo que relata o tempo de viagem atual e o tempo extra de viagem que excede o seu limite especificado.

    Dica

    Se não receber nenhuma mensagem de e-mail, verifique a pasta de lixo do e-mail. O filtro de lixo de e-mail poderá redirecionar estes tipos de mensagem de e-mail. Caso contrário, se não tiver a certeza de que a aplicação lógica foi executada corretamente, veja Troubleshoot your logic app (Resolver problemas da sua aplicação lógica).

Parabéns! Acabou de criar e executar uma aplicação lógica recorrente e baseada numa agenda.

Para criar outras aplicações lógicas que usam o gatilho de Recorrência, confira estes modelos, que estão disponíveis depois de criar uma aplicação lógica:

  • Receber lembretes diários.
  • Eliminar blobs do Azure mais antigos.
  • Adicionar uma mensagem a uma fila do Armazenamento do Azure.

Limpar os recursos

A sua aplicação lógica continua a funcionar até desativar ou eliminar a aplicação. Quando já não precisar da aplicação lógica da amostra, elimine o grupo de recursos que contém a sua aplicação lógica e recursos relacionados.

  1. Na caixa de pesquisa do portal Azure, insira o nome para o grupo de recursos que criou. A partir dos resultados, em Grupos de Recursos, selecione o grupo de recursos.

    Este exemplo criou o grupo de recursos denominado LA-TravelTime-RG .

    Screenshot que mostra a caixa de pesquisa Azure com "la-travel-time-rg" inserida e LA-TravelTime-RG selecionada.

    Dica

    Se a página inicial do Azure mostrar o grupo de recursos sob recursos recentes, pode selecionar o grupo na página inicial.

  2. No menu do grupo de recursos, verifique se a visão geral está selecionada. Na barra de ferramentas do painel de ferramentas, selecione Delete resource group.

    Screenshot que mostra o painel "Visão Geral" do grupo de recursos e na barra de ferramentas do painel, "Delete resource group" é selecionado.

  3. No painel de confirmação que aparece, introduza o nome do grupo de recursos e selecione Delete.

Passos seguintes

Neste tutorial, criou uma aplicação lógica que verifica o tráfego com base num horário especificado (nas manhãs da semana) e toma medidas (envia um e-mail) quando o tempo de viagem excede um limite especificado. Agora, aprenda a construir uma aplicação lógica que envia pedidos de aprovação de listas de correio eletrónico, integrando serviços Azure, serviços microsoft e outras aplicações de Software-as-a-Service (SaaS).

Manage mailing list requests (Gerir pedidos de listas de correio)