Tutorial: automatizar tarefas para processar emails usando aplicativos lógicos do Azure, Azure Functions e armazenamento do AzureTutorial: Automate tasks to process emails by using Azure Logic Apps, Azure Functions, and Azure Storage

O Azure Logic Apps ajuda-o a automatizar fluxos de trabalho e a integrar dados nos serviços do Azure, nos serviços Microsoft, noutras aplicações de software como serviço (Saas) e em sistemas no local.Azure Logic Apps helps you automate workflows and integrate data across Azure services, Microsoft services, other software-as-a-service (SaaS) apps, and on-premises systems. Este tutorial mostra como pode criar uma aplicação lógica que processa e-mails recebidos e anexos.This tutorial shows how you can build a logic app that handles incoming emails and any attachments. Esse aplicativo lógico analisa o conteúdo do email, salva o conteúdo no armazenamento do Azure e envia notificações para revisar esse conteúdo.This logic app analyzes the email content, saves the content to Azure storage, and sends notifications for reviewing that content.

Neste tutorial, ficará a saber como:In this tutorial, you learn how to:

  • Configurar o Armazenamento do Azure e o Explorador de Armazenamento para verificar e-mails e anexos guardados.Set up Azure storage and Storage Explorer for checking saved emails and attachments.
  • Criar uma função do Azure que remove o HTML dos e-mails.Create an Azure function that removes HTML from emails. Este tutorial inclui o código que pode utilizar para esta função.This tutorial includes the code that you can use for this function.
  • Criar uma aplicação lógica em branco.Create a blank logic app.
  • Adicionar um acionador que monitoriza os e-mails para verificar se há anexos.Add a trigger that monitors emails for attachments.
  • Adicionar uma condição que verifica se os e-mails têm anexos.Add a condition that checks whether emails have attachments.
  • Adicionar uma ação que chama a função do Azure quando um e-mail tem anexos.Add an action that calls the Azure function when an email has attachments.
  • Adicionar uma ação que cria blobs de armazenamento para e-mails e anexos.Add an action that creates storage blobs for emails and attachments.
  • Adicionar uma ação que envia notificações de e-mail.Add an action that sends email notifications.

Quando terminar, a aplicação lógica é semelhante a este fluxo de trabalho a alto nível:When you're done, your logic app looks like this workflow at a high level:

Aplicação lógica concluída de alto nível

Pré-requisitosPrerequisites

  • Uma subscrição do Azure.An Azure subscription. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.If you don't have an Azure subscription, sign up for a free Azure account.

  • Uma conta de e-mail de um fornecedor de e-mail que o Logic Apps suporte, como o Outlook do Office 365, o Outlook.com ou o Gmail.An email account from an email provider supported by Logic Apps, such as Office 365 Outlook, Outlook.com, or Gmail. Para outros fornecedores, consulte a lista de conectores aqui.For other providers, review the connectors list here.

    Esta aplicação lógica utiliza uma conta do Outlook do Office 365.This logic app uses an Office 365 Outlook account. Se utilizar outra conta de e-mail, os passos gerais são os mesmos, mas a IU poderá ser ligeiramente diferente.If you use a different email account, the general steps stay the same, but your UI might appear slightly different.

  • Transferir e instalar o Explorador de Armazenamento do Microsoft Azure gratuito.Download and install the free Microsoft Azure Storage Explorer. Esta ferramenta ajuda-o a verificar se o seu contentor de armazenamento está configurado corretamente.This tool helps you check that your storage container is correctly set up.

Iniciar sessão no portal do AzureSign in to Azure portal

Inicie sessão no portal do Azure com as credenciais da sua conta do Azure.Sign in to the Azure portal with your Azure account credentials.

Configurar o armazenamento para guardar anexosSet up storage to save attachments

Pode guardar os e-mails e anexos recebidos como blobs num contentor de armazenamento do Azure.You can save incoming emails and attachments as blobs in an Azure storage container.

  1. Antes de criar um contêiner de armazenamento, crie uma conta de armazenamento com essas configurações na guia noções básicas na portal do Azure:Before you can create a storage container, create a storage account with these settings on the Basics tab in the Azure portal:

    DefiniçãoSetting ValorValue DescriçãoDescription
    SubscriçãoSubscription <Azure-subscription-name><Azure-subscription-name> O nome para a subscrição do AzureThe name for your Azure subscription
    Grupo de recursosResource group <Azure-resource-group><Azure-resource-group> O nome do grupo de recursos do Azure utilizado para organizar e gerir os recursos relacionados.The name for the Azure resource group used to organize and manage related resources. Este exemplo usa "LA-tutorial-RG".This example uses "LA-Tutorial-RG".

    Nota: os grupos de recursos existem dentro de regiões específicas.Note: A resource group exists inside a specific region. Embora os itens neste tutorial possam não estar disponíveis em todas as regiões, tente utilizar a mesma região sempre que possível.Although the items in this tutorial might not be available in all regions, try to use the same region when possible.

    Nome da conta de armazenamentoStorage account name <Azure-Storage-Account-name><Azure-storage-account-name> O nome da conta de armazenamento, que deve ter de 3-24 caracteres e pode conter apenas letras minúsculas e números.Your storage account name, which must have 3-24 characters and can contain only lowercase letters and numbers. Este exemplo usa "attachmentstorageacct".This example uses "attachmentstorageacct".
    LocalizaçãoLocation <do Azure-region><Azure-region> A região onde armazenar informações sobre sua conta de armazenamento.The region where to store information about your storage account. Este exemplo usa "oeste dos EUA".This example uses "West US".
    Performance (Desempenho)Performance PadrãoStandard Esta definição especifica os tipos de dados suportados e os suportes de dados para armazenar dados.This setting specifies the data types supported and media for storing data. Veja Tipos de contas de armazenamento.See Types of storage accounts.
    Account kind (Tipo de conta)Account kind Fins geraisGeneral purpose O tipo de conta de armazenamentoThe storage account type
    ReplicaçãoReplication Armazenamento localmente redundante (LRS)Locally redundant storage (LRS) Esta definição especifica de que forma os seus dados são copiados, armazenados, geridos e sincronizados.This setting specifies how your data is copied, stored, managed, and synchronized. Consulte armazenamento com redundância local (LRS): redundância de dados de baixo custo para o armazenamento do Azure.See Locally redundant storage (LRS): Low-cost data redundancy for Azure Storage.
    Camada de acesso (padrão)Access tier (default) Mantenha a configuração atual.Keep the current setting.

    Na guia avançado , selecione esta configuração:On the Advanced tab, select this setting:

    DefiniçãoSetting ValorValue DescriçãoDescription
    Secure transfer required (Transferência segura necessária)Secure transfer required DesativadoDisabled Esta definição especifica a segurança necessária para pedidos provenientes de ligações.This setting specifies the security required for requests from connections. Veja Require secure transfer (Transferência segura necessária).See Require secure transfer.

    Para criar a sua conta de armazenamento, também pode utilizar o Azure PowerShell ou a CLI do Azure.To create your storage account, you can also use Azure PowerShell or Azure CLI.

  2. Quando terminar, selecione revisar + criar.When you're done, select Review + create.

  3. Depois que o Azure implantar sua conta de armazenamento, localize sua conta de armazenamento e obtenha a chave de acesso da conta de armazenamento:After Azure deploys your storage account, find your storage account, and get the storage account's access key:

    1. No menu da conta de armazenamento, em Definições, selecione Chaves de acesso.On your storage account menu, under Settings, select Access keys.

    2. Copie o nome da conta de armazenamento e a key1e salve esses valores em um local seguro.Copy your storage account name and key1, and save those values somewhere safe.

      Copie e cole o nome e a chave da conta de armazenamento

    Para obter a chave de acesso à sua conta de armazenamento, também pode utilizar o Azure PowerShell ou a CLI do Azure.To get your storage account's access key, you can also use Azure PowerShell or Azure CLI.

  4. Crie um contentor de armazenamento de blobs para os anexos de e-mails.Create a blob storage container for your email attachments.

    1. No menu da conta de armazenamento, selecione Descrição Geral.On your storage account menu, select Overview. Em Serviços, selecione contêineres.Under Services, select Containers.

      Adicionar contentor do armazenamento de blobs

    2. Depois de a página Contentores abrir, na barra de ferramentas, selecione Contentor.After the Containers page opens, on the toolbar, select Container.

    3. Em novo contêiner, insira attachments como o nome do contêiner.Under New container, enter attachments as your container name. Em nível de acesso público, selecione contêiner (acesso de leitura anônimo para contêineres e blobs) > OK.Under Public access level, select Container (anonymous read access for containers and blobs) > OK.

      Quando terminar, pode encontrar o contentor de armazenamento na sua conta de armazenamento aqui no portal do Azure:When you're done, you can find your storage container in your storage account here in the Azure portal:

      Contentor de armazenamento terminado

    Para criar um contêiner de armazenamento, você também pode usar Azure PowerShell ou CLI do Azure.To create a storage container, you can also use Azure PowerShell or Azure CLI.

Depois, ligue o Explorador de Armazenamento à conta de armazenamento.Next, connect Storage Explorer to your storage account.

Configurar o Explorador de ArmazenamentoSet up Storage Explorer

Agora, ligue o Explorador de Armazenamento à conta de armazenamento, de modo a verificar que a sua aplicação lógica consegue guardar corretamente os anexos como blobs no contentor.Now, connect Storage Explorer to your storage account so you can confirm that your logic app can correctly save attachments as blobs in your storage container.

  1. Inicie o Explorador de armazenamento do Microsoft Azure.Launch Microsoft Azure Storage Explorer.

    O Explorador de Armazenamento pede-lhe uma ligação à sua conta de armazenamento.Storage Explorer prompts you for a connection to your storage account.

  2. No painel conectar ao armazenamento do Azure , selecione usar um nome de conta de armazenamento e a chave > Avançar.In the Connect to Azure Storage pane, select Use a storage account name and key > Next.

    Explorador de Armazenamento - Ligar a conta de armazenamento

    Dica

    Se nenhum prompt for exibido, na barra de ferramentas Gerenciador de Armazenamento, selecione Adicionar uma conta.If no prompt appears, on the Storage Explorer toolbar, select Add an account.

  3. Em nome de exibição, forneça um nome amigável para sua conexão.Under Display name, provide a friendly name for your connection. Em Nome da conta, indique o nome da sua conta de armazenamento.Under Account name, provide your storage account name. Em chave de conta, forneça a chave de acesso que você salvou anteriormente e selecione Avançar.Under Account key, provide the access key that you previously saved, and select Next.

  4. Confirme as informações de conexão e, em seguida, selecione conectar.Confirm your connection information, and then select Connect.

    Gerenciador de Armazenamento cria a conexão e mostra sua conta de armazenamento na janela do Explorer, em Local & conectado > contas de armazenamento.Storage Explorer creates the connection, and shows your storage account in the Explorer window under Local & Attached > Storage Accounts.

  5. Para localizar o contêiner de armazenamento de BLOBs, em contas de armazenamento, expanda sua conta de armazenamento, que é attachmentstorageacct aqui e expanda contêineres de blob onde você encontra o contêiner anexos , por exemplo:To find your blob storage container, under Storage Accounts, expand your storage account, which is attachmentstorageacct here, and expand Blob Containers where you find the attachments container, for example:

    Explorador de Armazenamento - encontrar o contentor de armazenamento

Depois, crie uma função do Azure que remove o HTML dos e-mails recebidos.Next, create an Azure function that removes HTML from incoming email.

Criar uma função para limpar o HTMLCreate function to clean HTML

Agora, utilize o fragmento de código fornecido nestes passos para criar uma função do Azure que remove o HTML de cada e-mail recebido.Now, use the code snippet provided by these steps to create an Azure function that removes HTML from each incoming email. Desta forma, o conteúdo dos e-mails fica mais limpo e é processado mais facilmente.That way, the email content is cleaner and easier to process. Depois, pode chamar esta função a partir da sua aplicação lógica.You can then call this function from your logic app.

  1. Antes de poder criar uma função, crie uma aplicação de funções com estas definições:Before you can create a function, create a function app with these settings:

    DefiniçãoSetting ValorValue DescriçãoDescription
    Nome da aplicaçãoApp name <function-app-name><function-app-name> O nome do aplicativo de funções, que deve ser globalmente exclusivo no Azure.Your function app's name, which is must be globally unique across Azure. Este exemplo já usa "CleanTextFunctionApp", portanto, forneça um nome diferente, como "MyCleanTextFunctionApp-<your-name>"This example already uses "CleanTextFunctionApp", so provide a different name, such as "MyCleanTextFunctionApp-<your-name>"
    SubscriçãoSubscription <your-Azure-subscription-name><your-Azure-subscription-name> A mesma subscrição do Azure que utilizou anteriormenteThe same Azure subscription that you previously used
    Grupo de RecursosResource Group LA-Tutorial-RGLA-Tutorial-RG O mesmo grupo de recursos do Azure que utilizou anteriormenteThe same Azure resource group that you previously used
    OSOS <seu sistema operacional><your-operating-system> Selecione o sistema operacional que dá suporte à sua linguagem de programação de função favorita.Select the operating system that supports your favorite function programming language. Para este exemplo, selecione Windows.For this example, select Windows.
    Plano de AlojamentoHosting Plan Plano de ConsumoConsumption Plan Esta definição determina como alocar e dimensionar os recursos, como o poder de computação, para executar a aplicação de funções.This setting determines how to allocate and scale resources, such as computing power, for running your function app. Veja Hosting plans comparison (Comparação dos planos de alojamento).See hosting plans comparison.
    LocalizaçãoLocation E.U.A. OesteWest US A mesma região que utilizou anteriormenteThe same region that you previously used
    Pilha de RuntimeRuntime Stack Linguagem preferencialPreferred language Selecione um tempo de execução que ofereça suporte à sua linguagem de programação de função favorita.Select a runtime that supports your favorite function programming language. Selecione .net para C# e F# funções.Select .NET for C# and F# functions.
    ArmazenamentoStorage cleantextfunctionstorageacctcleantextfunctionstorageacct Crie uma conta de armazenamento para a sua aplicação de funções.Create a storage account for your function app. Utilize apenas letras minúsculas e números.Use only lowercase letters and numbers.

    Observação: Essa conta de armazenamento contém seus aplicativos de funções e difere de sua conta de armazenamento criada anteriormente para anexos de email.Note: This storage account contains your function apps and differs from your previously created storage account for email attachments.

    Application InsightsApplication Insights DesativarDisable Ativa o monitoramento de aplicativos com Application insights, mas, para este tutorial, selecione desabilitar > aplicar.Turns on application monitoring with Application Insights, but for this tutorial, select Disable > Apply.

    Se seu aplicativo de funções não abrir automaticamente após a implantação, na caixa de pesquisa portal do Azure , localize e selecione aplicativo de funções.If your function app doesn't automatically open after deployment, in the Azure portal search box, find and select Function App. Em aplicativo de funções, selecione seu aplicativo de funções.Under Function App, select your function app.

    Selecionar aplicação de funções

    Caso contrário, o Azure abre automaticamente a sua aplicação de funções, conforme mostrado aqui:Otherwise, Azure automatically opens your function app as shown here:

    Aplicação de funções criada

    Para criar um aplicativo de funções, você também pode usar CLI do Azure, ou o PowerShell e modelos do Resource Manager.To create a function app, you can also use Azure CLI, or PowerShell and Resource Manager templates.

  2. Na lista aplicativos de funções , expanda seu aplicativo de funções, se ainda não estiver expandido.In the Function Apps list, expand your function app, if not already expanded. Em seu aplicativo de funções, selecione funções.Under your function app, select Functions. Na barra de ferramentas das funções, selecione Nova função.On the functions toolbar, select New function.

    Criar função nova

  3. Em escolher um modelo abaixo ou vá para o início rápido, selecione o modelo de gatilho http .Under Choose a template below or go to the quickstart, select the HTTP trigger template.

    Selecionar modelo de gatilho HTTP

    O Azure cria uma função usando um modelo específico de linguagem para uma função disparada por HTTP.Azure creates a function using a language-specific template for an HTTP triggered function.

  4. No painel Nova Função, em Nome, introduza RemoveHTMLFunction.In the New Function pane, under Name, enter RemoveHTMLFunction. Mantenha o nível de autorização definido como funçãoe selecione criar.Keep Authorization level set to Function, and select Create.

    Dê um nome à sua função

  5. Quando o editor estiver aberto, substitua o código do modelo por este código de exemplo, que remove o HTML e devolve ps resultados ao chamador:After the editor opens, replace the template code with this sample code, which removes the HTML and returns results to the caller:

    #r "Newtonsoft.Json"
    
    using System.Net;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Primitives;
    using Newtonsoft.Json;
    using System.Text.RegularExpressions;
    
    public static async Task<IActionResult> Run(HttpRequest req, ILogger log) {
    
       log.LogInformation("HttpWebhook triggered");
    
       // Parse query parameter
       string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync();
    
       // Replace HTML with other characters
       string updatedBody = Regex.Replace(emailBodyContent, "<.*?>", string.Empty);
       updatedBody = updatedBody.Replace("\\r\\n", " ");
       updatedBody = updatedBody.Replace(@"&nbsp;", " ");
    
       // Return cleaned text
       return (ActionResult)new OkObjectResult(new { updatedBody });
    }
    
  6. Quando tiver terminado, selecione Guardar.When you're done, select Save. Para testar sua função, na borda direita do editor, sob o ícone de seta ( < ), selecione testar.To test your function, at the editor's right edge, under the arrow (<) icon, select Test.

    Abrir o painel "Test" ("Teste")

  7. No painel de teste , em corpo da solicitação, insira essa linha e selecione executar.In the Test pane, under Request body, enter this line, and select Run.

    {"name": "<p><p>Testing my function</br></p></p>"}

    Testar a função

    A janela Saída mostra o resultado da função:The Output window shows the function's result:

    {"updatedBody":"{\"name\": \"Testing my function\"}"}
    

Depois de confirmar que a função está a funcionar, crie a aplicação lógica.After checking that your function works, create your logic app. Embora este tutorial mostre como criar uma função que remove o HTML dos e-mails, o Logic Apps também fornece um conector HTML para Texto.Although this tutorial shows how to create a function that removes HTML from emails, Logic Apps also provides an HTML to Text connector.

Criar uma aplicação lógicaCreate your logic app

  1. Na home page do Azure, na caixa de pesquisa, localize e selecione aplicativos lógicos.From the Azure home page, in the search box, find and select Logic Apps.

    Localize e selecione "aplicativos lógicos"

  2. Na página aplicativos lógicos , selecione Adicionar.On the Logic Apps page, select Add.

    Adicionar novo aplicativo lógico

  3. Em Criar aplicação lógica, forneça detalhes sobre a sua aplicação lógica, conforme aqui apresentado.Under Create logic app, provide details about your logic app as shown here. Depois de terminar, selecione criar.After you're done, select Create.

    Indicar as informações da aplicação lógica

    DefiniçãoSetting ValorValue DescriçãoDescription
    NomeName LA-ProcessAttachmentLA-ProcessAttachment O nome para a aplicação lógicaThe name for your logic app
    SubscriçãoSubscription <your-Azure-subscription-name><your-Azure-subscription-name> A mesma subscrição do Azure que utilizou anteriormenteThe same Azure subscription that you previously used
    Grupo de recursosResource group LA-Tutorial-RGLA-Tutorial-RG O mesmo grupo de recursos do Azure que utilizou anteriormenteThe same Azure resource group that you previously used
    LocalizaçãoLocation E.U.A. OesteWest US A mesma região que utilizou anteriormenteThe same region that you previously used
    Log AnalyticsLog Analytics DesativadoOff Para este tutorial, selecione a configuração desativado .For this tutorial, select the Off setting.
  4. Depois que o Azure implantar seu aplicativo, na barra de ferramentas do Azure, selecione o ícone notificações e selecione ir para o recurso.After Azure deploys your app, on the Azure toolbar, select the notifications icon, and select Go to resource.

    Na lista de notificações do Azure, selecione "ir para o recurso"

  5. Depois que o designer de aplicativos lógicos for aberto e mostrar uma página com um vídeo de introdução e modelos para padrões comuns do aplicativo lógico.After the Logic Apps Designer opens and shows a page with an introduction video and templates for common logic app patterns. Em Modelos, selecione Aplicação Lógica em Branco.Under Templates, select Blank Logic App.

    Selecionar modelo de aplicativo lógico em branco

Em seguida, adicione um acionador que escuta os e-mails recebidos que têm anexos.Next, add a trigger that listens for incoming emails that have attachments. 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.Every logic app must start with a trigger, which fires when a specific event happens or when new data meets a specific condition. Para obter mais informações, veja Criar a sua primeira aplicação lógica.For more information, see Create your first logic app.

Monitorizar os e-mails recebidosMonitor incoming email

  1. No designer na caixa de pesquisa, digite when new email arrives como filtro.On the designer in the search box, enter when new email arrives as your filter. Selecione o acionador para o seu fornecedor de e-mail: Quando é recebido um e-mail novo - <fornecedor de e-mail>Select this trigger for your email provider: When a new email arrives - <your-email-provider>

    Por exemplo:For example:

    Selecione este acionador para o fornecedor de e-mail: "When a new email arrives"

    • Relativamente a contas escolares ou profissionais do Azure, selecione Office 365 Outlook (Outlook do Office 365).For Azure work or school accounts, select Office 365 Outlook.

    • Quanto a contas Microsoft pessoais, selecione Outlook.com.For personal Microsoft accounts, select Outlook.com.

  2. Se lhe forem pedidas credenciais, inicie sessão na sua conta de e-mail para que o Logic Apps se possa ligar à mesma.If you're asked for credentials, sign in to your email account so Logic Apps can connect to your email account.

  3. Agora, indique os critérios que o acionador utiliza para filtrar os e-mails novos.Now provide the criteria the trigger uses to filter new email.

    1. Especifique as configurações descritas abaixo para verificar emails.Specify the settings described below for checking emails.

      Especifique a pasta, o intervalo e a frequência para a verificação dos e-mails

      DefiniçãoSetting ValorValue DescriçãoDescription
      PastaFolder A ReceberInbox A pasta de e-mail a verificarThe email folder to check
      Tem AnexoHas Attachment SimYes Obter apenas os e-mails com anexos.Get only emails with attachments.

      Nota: o acionador não remove e-mails da sua conta; verifica apenas as mensagens novas e só processa os e-mails que correspondam ao filtro do assunto.Note: The trigger doesn't remove any emails from your account, checking only new messages and processing only emails that match the subject filter.

      Incluir AnexosInclude Attachments SimYes Obter os anexos como entrada para o seu fluxo de trabalho em vez de verificar apenas os anexos.Get the attachments as input for your workflow, rather than just check for attachments.
      IntervaloInterval 11 O número de intervalos de espera entre verificaçõesThe number of intervals to wait between checks
      FrequênciaFrequency MinutoMinute A unidade de tempo para cada intervalo entre verificaçõesThe unit of time for each interval between checks
    2. Na lista Adicionar novo parâmetro , selecione filtro de assunto.From the Add new parameter list, select Subject Filter.

    3. Depois que a caixa de filtro de assunto aparecer na ação, especifique o assunto como listado aqui:After the Subject Filter box appears in the action, specify the subject as listed here:

      DefiniçãoSetting ValorValue DescriçãoDescription
      Filtro de AssuntoSubject Filter Business Analyst 2 #423501 O texto a localizar no assunto do e-mailThe text to find in the email subject
  4. Para ocultar os detalhes do acionador por agora, clique no interior da barra de título do mesmo.To hide the trigger's details for now, click inside the trigger's title bar.

    Fechar forma para ocultar os detalhes

  5. Guarde a aplicação lógica.Save your logic app. Na barra de ferramentas do designer, selecione salvar.On the designer toolbar, select Save.

    A sua aplicação lógica está agora ativa, mas não faz mais nada que não verificar os e-mails.Your logic app is now live but doesn't do anything other check your emails. Em seguida, adicione uma condição que especifique critérios para continuar o fluxo de trabalho.Next, add a condition that specifies criteria to continue workflow.

Verificar a existência de anexosCheck for attachments

Agora, adicione uma condição que seleciona apenas os e-mails que têm anexos.Now add a condition that selects only emails that have attachments.

  1. No gatilho, selecione nova etapa.Under the trigger, select New step.

    "Nova etapa"

  2. Em escolher uma ação, na caixa de pesquisa, digite condition.Under Choose an action, in the search box, enter condition. Selecione esta ação: condiçãoSelect this action: Condition

    Selecione "condição"

    1. Mude o nome da condição com uma descrição melhor.Rename the condition with a better description. Na barra de título da condição, selecione o botão de reticências ( ... ) > renomear.On the condition's title bar, select the ellipses (...) button > Rename.

      Mudar o nome da condição

    2. Mude o nome da condição com a descrição If email has attachments and key subject phraseRename your condition with this description: If email has attachments and key subject phrase

  3. Criar uma condição que verifica se os e-mails têm anexos.Create a condition that checks for emails that have attachments.

    1. Na primeira linha, em E, clique dentro da caixa esquerda.On the first row under And, click inside the left box. Na lista de conteúdo dinâmico que aparece, selecione a propriedade Tem anexo.From the dynamic content list that appears, select the Has Attachment property.

      Criar condição

    2. Na caixa do meio, mantenha o operador é igual a.In the middle box, keep the operator is equal to.

    3. Na caixa à direita, digite true como o valor a ser comparado com o valor da propriedade Attachment do gatilho.In the right box, enter true as the value to compare with the Has Attachment property value from the trigger.

      Criar condição

      Se ambos os valores forem iguais, o e-mail tem, pelo menos, um anexo, a condição é transmitida e o fluxo de trabalho continua.If both values are equal, the email has at least one attachment, the condition passes, and the workflow continues.

    Na definição da aplicação lógica subjacente, que pode ver na janela do editor de código, esta condição terá um aspeto semelhante a este exemplo:In your underlying logic app definition, which you can view in the code editor window, this condition looks like this example:

    "Condition": {
       "actions": { <actions-to-run-when-condition-passes> },
       "expression": {
          "and": [ {
             "equals": [
                "@triggerBody()?['HasAttachment']",
                  "true"
             ]
          } ]
       },
       "runAfter": {},
       "type": "If"
    }
    
  4. Guarde a aplicação lógica.Save your logic app. Na barra de ferramentas do designer, selecione salvar.On the designer toolbar, select Save.

Testar a condiçãoTest your condition

Agora, teste para verificar se a condição funciona corretamente:Now, test whether the condition works correctly:

  1. Se o seu aplicativo lógico ainda não estiver em execução, selecione executar na barra de ferramentas do designer.If your logic app isn't running already, select Run on the designer toolbar.

    Este passo inicia manualmente a aplicação lógica sem ter de esperar que o intervalo que especificou passe.This step manually starts your logic app without having to wait until your specified interval passes. No entanto, nada acontece enquanto o e-mail de teste não chegar à sua caixa de entrada.However, nothing happens until the test email arrives in your inbox.

  2. Envie um e-mail para si próprio que cumpra estes critérios:Send yourself an email that meets this criteria:

    • O assunto do e-mail tem o texto que especificou no filtro de assunto do acionador, Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • O e-mail tem um anexo.Your email has one attachment. Por agora, crie apenas um ficheiro de texto vazia e anexe-o ao e-mail.For now, just create one empty text file and attach that file to your email.

    Quando o e-mail chegar, a aplicação lógica verifica a existência de anexos e o texto do assunto especificado.When the email arrives, your logic app checks for attachments and the specified subject text. Se a condição for aprovada, o acionador é acionado e faz com que o motor do Logic Apps crie uma instância da aplicação lógica e inicie o fluxo de trabalho.If the condition passes, the trigger fires and causes the Logic Apps engine to create a logic app instance and start the workflow.

  3. Para verificar se o gatilho foi acionado e o aplicativo lógico foi executado com êxito, no menu do aplicativo lógico, selecione visão geral.To check that the trigger fired and the logic app ran successfully, on the logic app menu, select Overview.

    Verificar o acionador e o histórico de execuções

    Se a sua aplicação lógica não for acionada ou executada, apesar de o acionador ter sido bem-sucedido, veja Troubleshoot your logic app (Resolver problemas da sua aplicação lógica).If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

Em seguida, defina as ações a realizar para o ramo Se verdadeiro.Next, define the actions to take for the If true branch. Para guardar o e-mail juntamente com eventuais anexos, remova todo o HTML do corpo do e-mail e crie blobs no contentor de armazenamento para a mensagem e os anexos.To save the email along with any attachments, remove any HTML from the email body, then create blobs in the storage container for the email and attachments.

Nota

A aplicação lógica não tem de fazer nada no ramo Se falso se os e-mails não tiverem anexos.Your logic app doesn't have to do anything for the If false branch when an email doesn't have attachments. Como exercício de bónus após concluir este tutorial, pode adicionar qualquer ação adequada que queira realizar no ramo Se falso.As a bonus exercise after you finish this tutorial, you can add any appropriate action that you want to take for the If false branch.

Chamar RemoveHTMLFunctionCall RemoveHTMLFunction

Este passo adiciona a função do Azure criada anteriormente à sua aplicação lógica e transmite o conteúdo do corpo de e-mail do acionador de e-mail à sua função.This step adds your previously created Azure function to your logic app and passes the email body content from email trigger to your function.

  1. No menu da aplicação lógica, selecione Estruturador da Aplicação Lógica.On the logic app menu, select Logic App Designer. Na ramificação If true , selecione Adicionar uma ação.In the If true branch, select Add an action.

    Dentro de "Se verdadeiro", adicionar ação

  2. Na caixa de pesquisa, encontre "funções do azure" e selecione a ação: Escolher uma função do Azure - Funções do AzureIn the search box, find "azure functions", and select this action: Choose an Azure function - Azure Functions

    Selecionar a ação “Escolher uma função do Azure”

  3. Selecione o aplicativo de funções criado anteriormente, que é CleanTextFunctionApp neste exemplo:Select your previously created function app, which is CleanTextFunctionApp in this example:

    Selecionar a aplicação de funções do Azure

  4. Agora, selecione a função RemoveHTMLFunctionNow select your function: RemoveHTMLFunction

    Selecionar a função do Azure

  5. Mude o nome da forma da função com a descrição Call RemoveHTMLFunction to clean email bodyRename your function shape with this description: Call RemoveHTMLFunction to clean email body

  6. Agora, especifique a entrada para a função processar.Now specify the input for your function to process.

    1. Em Corpo do Pedido, introduza este texto com um espaço à esquerda:Under Request Body, enter this text with a trailing space:

      { "emailBody":

      Enquanto trabalha nesta entrada nos passos seguintes, obterá um erro relativo a JSON inválido até que a sua entrada esteja corretamente formatada como JSON.While you work on this input in the next steps, an error about invalid JSON appears until your input is correctly formatted as JSON. Quando testou esta função anteriormente, a entrada especificada para a mesma utilizou JavaScript Object Notation (JSON).When you previously tested this function, the input specified for this function used JavaScript Object Notation (JSON). Por isso, o corpo do pedido também tem de utilizar o mesmo formato.So, the request body must also use the same format.

      Além disso, quando o cursor está dentro da caixa Corpo do pedido, é apresentada uma lista de conteúdo dinâmico para que possa selecionar os valores das propriedades disponíveis de ações anteriores.Also, when your cursor is inside the Request body box, the dynamic content list appears so you can select property values available from previous actions.

    2. Na lista de conteúdo dinâmico, em Quando é recebido um novo e-mail, selecione a propriedade Corpo.From the dynamic content list, under When a new email arrives, select the Body property. Depois desta propriedade, não se esqueça de adicionar a chaveta de fecho: }After this property, remember to add the closing curly brace: }

      Especificar o corpo do pedido que vai ser transmitido à função

    Quando estiver pronto, a entrada para a sua função terá o aspeto deste exemplo:When you're done, the input to your function looks like this example:

    Concluiu o corpo do pedido a transmitir à sua função

  7. Guarde a aplicação lógica.Save your logic app.

Em seguida, adicione uma ação que cria um blob no contentor de armazenamento para que possa guardar o corpo do e-mail.Next, add an action that creates a blob in your storage container so you can save the email body.

Criar blob para o corpo do e-mailCreate blob for email body

  1. No bloco If true e, em sua função do Azure, selecione Adicionar uma ação.In the If true block and under your Azure function, select Add an action.

  2. Na caixa de pesquisa, insira create blob como seu filtro e selecione esta ação: criar blobIn the search box, enter create blob as your filter, and select this action: Create blob

    Adicionar ação para criar blob para o corpo do e-mail

  3. Crie uma ligação com estas definições, conforme mostrado e descrito aqui.Create a connection to your storage account with these settings as shown and described here. Quando terminar, selecione Criar.When you're done, select Create.

    Criar ligação à conta de armazenamento

    DefiniçãoSetting ValorValue DescriçãoDescription
    Nome da LigaçãoConnection Name AttachmentStorageConnectionAttachmentStorageConnection Um nome descritivo para a ligaçãoA descriptive name for the connection
    Storage AccountStorage Account attachmentstorageacctattachmentstorageacct O nome da conta de armazenamento que criou anteriormente para guardar anexosThe name for the storage account that you previously created for saving attachments
  4. Mude o nome da ação Create blob pela descrição Create blob for email bodyRename the Create blob action with this description: Create blob for email body

  5. Na ação Criar blob, indique estas informações e selecione estes campos para criar o blob, conforme mostrado e descrito:In the Create blob action, provide this information, and select these fields to create the blob as shown and described:

    Indicar as informações do blob para o corpo do e-mail

    DefiniçãoSetting ValorValue DescriçãoDescription
    Folder pathFolder path /attachments/attachments O caminho e o nome do contentor que criou anteriormente.The path and name for the container that you previously created. Neste exemplo, clique no ícone de pasta e, em seguida, selecione o contentor "/attachments".For this example, click the folder icon, and then select the "/attachments" container.
    Blob nameBlob name Campo FromFrom field Neste exemplo, utilize o nome do remetente como o nome do blob.For this example, use the sender's name as the blob's name. Clique no interior desta caixa para que a lista de conteúdo dinâmico seja apresentada e, em seguida, selecione o campo De na ação Quando é recebido um novo e-mail.Click inside this box so that the dynamic content list appears, and then select the From field under the When a new email arrives action.
    Blob contentBlob content Campo ContentContent field Neste exemplo, utilize o corpo do e-mail sem HTML como o conteúdo do blob.For this example, use the HTML-free email body as the blob content. Clique no interior desta caixa para que a lista de conteúdo dinâmico seja apresentada e, em seguida, selecione Corpo na ação Call RemoveHTMLFunction to clean email body.Click inside this box so that the dynamic content list appears, and then select Body under the Call RemoveHTMLFunction to clean email body action.

    Quando estiver pronto, a ação terá o aspeto deste exemplo:When you're done, the action looks like this example:

    Concluiu a ação “Criar blob”

  6. Guarde a aplicação lógica.Save your logic app.

Verificar o processamento de anexosCheck attachment handling

Agora, teste se a sua aplicação lógica processa os e-mails da forma que especificou:Now test whether your logic app handles emails the way that you specified:

  1. Se o seu aplicativo lógico ainda não estiver em execução, selecione executar na barra de ferramentas do designer.If your logic app isn't running already, select Run on the designer toolbar.

  2. Envie um e-mail para si próprio que cumpra estes critérios:Send yourself an email that meets this criteria:

    • O assunto do e-mail tem o texto que especificou no filtro de assunto do acionador, Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter: Business Analyst 2 #423501

    • O e-mail tem, pelo menos, um anexo.Your email has at least one attachment. Por enquanto, basta criar um arquivo de texto vazio e anexar esse arquivo ao seu email.For now, just create one empty text file, and attach that file to your email.

    • Seu email tem algum conteúdo de teste no corpo, por exemplo: Testing my logic appYour email has some test content in the body, for example: Testing my logic app

    Se a sua aplicação lógica não for acionada ou executada, apesar de o acionador ter sido bem-sucedido, veja Troubleshoot your logic app (Resolver problemas da sua aplicação lógica).If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

  3. Confirme que a aplicação lógica guardou o e-mail no contentor de armazenamento correto.Check that your logic app saved the email to the correct storage container.

    1. Em Gerenciador de Armazenamento, expanda Local & conectado > contas de armazenamento > Attachmentstorageacct (chave) > contêineres de blob > anexos.In Storage Explorer, expand Local & Attached > Storage Accounts > attachmentstorageacct (Key) > Blob Containers > attachments.

    2. Verifique o contentor attachments relativamente ao e-mail.Check the attachments container for the email.

      Neste momento, apenas o e-mail aparece no contentor, porque a aplicação lógica ainda não processa anexos.At this point, only the email appears in the container because the logic app doesn't process the attachments yet.

      Verificar o e-mail guardado no Explorador de Armazenamento

    3. Quando tiver terminado, elimine o e-mail no Explorador de Armazenamento.When you're done, delete the email in Storage Explorer.

  4. Opcionalmente, para testar o ramo Se falso, que não faz nada nesta fase, pode enviar um e-mail que não cumpra os critérios.Optionally, to test the If false branch, which does nothing at this time, you can send an email that doesn't meet the criteria.

Em seguida, adicione um ciclo para processar todos os anexos de e-mail.Next, add a loop to process all the email attachments.

Processar anexosProcess attachments

Para processar cada anexo no e-mail, adicione um ciclo Para cada ao fluxo de trabalho da sua aplicação lógica.To process each attachment in the email, add a For each loop to your logic app's workflow.

  1. Na forma criar blob para o corpo do email , selecione Adicionar uma ação.Under the Create blob for email body shape, select Add an action.

    Adicionar ciclo "for each"

  2. Em escolher uma ação, na caixa de pesquisa, insira for each como filtro e selecione esta ação: para cadaUnder Choose an action, in the search box, enter for each as your filter, and select this action: For each

    Selecione "para cada"

  3. Mude o nome do ciclo com a descrição For each email attachmentRename your loop with this description: For each email attachment

  4. Agora, especifique os dados que o ciclo vai processar.Now specify the data for the loop to process. Clique no interior da caixa Selecionar uma saída dos passos anteriores para que a lista de conteúdo dinâmico abra e, em seguida, selecione Anexos.Click inside the Select an output from previous steps box so that the dynamic content list opens, and then select Attachments.

    Selecionar "Attachments"

    O campo Anexos transmite uma matriz que contém todos os anexos incluídos num e-mail.The Attachments field passes in an array that contains all the attachments included with an email. O ciclo For each repete as ações em cada item que é transmitido com a matriz.The For each loop repeats actions on each item that's passed in with the array.

  5. Guarde a aplicação lógica.Save your logic app.

Em seguida, adicione a ação que guarda cada anexo como um blob no seu contentor de armazenamento attachments.Next, add the action that saves each attachment as a blob in your attachments storage container.

Criar blob para cada anexoCreate blob for each attachment

  1. No loop para cada anexo de email , selecione Adicionar uma ação para que você possa especificar a tarefa a ser executada em cada anexo encontrado.In the For each email attachment loop, select Add an action so you can specify the task to perform on each found attachment.

    Adicionar ação ao ciclo

  2. Na caixa de pesquisa, insira create blob como filtro e, em seguida, selecione esta ação: criar blobIn the search box, enter create blob as your filter, and then select this action: Create blob

    Adicionar ação para criar blob

  3. Mude o nome da ação Create blob 2 pela descrição Create blob for each email attachmentRename the Create blob 2 action with this description: Create blob for each email attachment

  4. Na ação Criar blob para cada anexo de e-mail, indique estas informações e selecione as propriedades para cada blob que pretende criar, conforme mostrado e descrito:In the Create blob for each email attachment action, provide this information, and select the properties for each blob you want to create as shown and described:

    Indicar as informações dos blobs

    DefiniçãoSetting ValorValue DescriçãoDescription
    Folder pathFolder path /attachments/attachments O caminho e o nome do contentor que criou anteriormente.The path and name for the container that you previously created. Neste exemplo, clique no ícone de pasta e, em seguida, selecione o contentor "/attachments".For this example, click the folder icon, and then select the "/attachments" container.
    Blob nameBlob name Campo NameName field Neste exemplo, utilize o nome do anexo como o nome do blob.For this example, use the attachment's name as the blob's name. Clique no interior desta caixa para que a lista de conteúdo dinâmico seja apresentada e, em seguida, selecione o campo Nome na ação Quando é recebido um novo e-mail.Click inside this box so that the dynamic content list appears, and then select the Name field under the When a new email arrives action.
    Blob contentBlob content Campo ContentContent field Neste exemplo, utilize o campo Conteúdo como o conteúdo do blob.For this example, use the Content field as the blob content. Clique no interior desta caixa para que a lista de conteúdo dinâmico seja apresentada e, em seguida, selecione Conteúdo na ação Quando é recebido um novo e-mail.Click inside this box so that the dynamic content list appears, and then select Content under the When a new email arrives action.

    Quando estiver pronto, a ação terá o aspeto deste exemplo:When you're done, the action looks like this example:

    Concluiu a ação “Criar blob”

  5. Guarde a aplicação lógica.Save your logic app.

Verificar o processamento de anexosCheck attachment handling

Em seguida, teste se a sua aplicação lógica processa os anexos da forma que especificou:Next, test whether your logic app handles the attachments the way that you specified:

  1. Se o seu aplicativo lógico ainda não estiver em execução, selecione executar na barra de ferramentas do designer.If your logic app isn't running already, select Run on the designer toolbar.

  2. Envie um e-mail para si próprio que cumpra estes critérios:Send yourself an email that meets this criteria:

    • O assunto do email tem o texto que você especificou na propriedade filtro de assunto do gatilho: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter property: Business Analyst 2 #423501

    • O seu e-mail tem, pelo menos, dois anexos.Your email has at least two attachments. Por agora, crie apenas dois ficheiros de texto vazios e anexe-os ao e-mail.For now, just create two empty text files and attach those files to your email.

    Se a sua aplicação lógica não for acionada ou executada, apesar de o acionador ter sido bem-sucedido, veja Troubleshoot your logic app (Resolver problemas da sua aplicação lógica).If your logic app didn't trigger or run despite a successful trigger, see Troubleshoot your logic app.

  3. Confirme que a aplicação lógica guardou o e-mail e os anexos no contentor de armazenamento correto.Check that your logic app saved the email and attachments to the correct storage container.

    1. Em Gerenciador de Armazenamento, expanda Local & conectado > contas de armazenamento > Attachmentstorageacct (chave) > contêineres de blob > anexos.In Storage Explorer, expand Local & Attached > Storage Accounts > attachmentstorageacct (Key) > Blob Containers > attachments.

    2. Verifique o contentor attachments relativamente ao e-mail e aos anexos.Check the attachments container for both the email and the attachments.

      Verificar o e-mail e os anexos guardados

    3. Quando tiver terminado, elimine o e-mail e os anexos no Explorador de Armazenamento.When you're done, delete the email and attachments in Storage Explorer.

Em seguida, adicione uma ação para que a sua aplicação lógica envia um e-mail para rever os anexos.Next, add an action so that your logic app sends email to review the attachments.

Enviar notificações por e-mailSend email notifications

  1. Na ramificação se verdadeiro , sob o loop para cada anexo de email , selecione Adicionar uma ação.In the If true branch, under the For each email attachment loop, select Add an action.

    Adicionar ação no ciclo "for each"

  2. Na caixa de pesquisa, insira send email como seu filtro e, em seguida, selecione a ação "enviar email" para seu provedor de email.In the search box, enter send email as your filter, and then select the "send email" action for your email provider.

    Para filtrar a lista de ações para um serviço específico, pode selecionar primeiro o conector.To filter the actions list to a specific service, you can select the connector first.

    Selecionar a ação "send email" relativa ao seu fornecedor de e-mail

    • Relativamente a contas escolares ou profissionais do Azure, selecione Office 365 Outlook (Outlook do Office 365).For Azure work or school accounts, select Office 365 Outlook.

    • Quanto a contas Microsoft pessoais, selecione Outlook.com.For personal Microsoft accounts, select Outlook.com.

  3. Se lhe forem pedidas credenciais, inicie sessão na sua conta de e-mail para que o Logic Apps crie uma ligação para a sua conta de e-mail.If you're asked for credentials, sign in to your email account so that Logic Apps creates a connection to your email account.

  4. Mude o nome da ação Send an email pela descrição Send email for reviewRename the Send an email action with this description: Send email for review

  5. Indique as informações desta ação e selecione os campos que pretende incluir no e-mail, conforme mostrado e descrito.Provide the information for this action and select the fields you want to include in the email as shown and described. Para adicionar linhas em branco a uma caixa de edição, prima Shift + Enter.To add blank lines in an edit box, press Shift + Enter.

    Enviar notificação por e-mail

    Se você não encontrar um campo esperado na lista de conteúdo dinâmico, selecione Ver mais ao lado de quando um novo email chegar.If you can't find an expected field in the dynamic content list, select See more next to When a new email arrives.

    DefiniçãoSetting ValorValue NotasNotes
    ParaTo <recipient-email-address><recipient-email-address> Para fins de teste, pode utilizar o seu próprio endereço de e-mail.For testing purposes, you can use your own email address.
    AssuntoSubject ASAP - Review applicant for position: assuntoASAP - Review applicant for position: Subject O assunto do e-mail que pretende incluir.The email subject that you want to include. Clique no interior desta caixa, introduza o texto de exemplo e, na lista de conteúdo dinâmico, selecione o campo Assunto em Quando é recebido um novo e-mail.Click inside this box, enter the example text, and from the dynamic content list, select the Subject field under When a new email arrives.
    CorpoBody Please review new applicant:

    Applicant name: deApplicant name: From

    Application file location: caminhoApplication file location: Path

    corpo do Application email content:Application email content: Body

    O conteúdo do corpo do e-mail.The email's body content. Clique no interior desta caixa, introduza o texto de exemplo e, na lista de conteúdo dinâmico, selecione estes campos:Click inside this box, enter the example text, and from the dynamic content list, select these fields:

    - From, em When a new email arrives- The From field under When a new email arrives
    - Path, em Create blob for email body- The Path field under Create blob for email body
    - Body, em Call RemoveHTMLFunction to clean email body- The Body field under Call RemoveHTMLFunction to clean email body

    Nota

    Se selecionar um campo que contém uma matriz, como o campo Conteúdo, que é uma matriz que contém anexos, o estruturador adiciona automaticamente um ciclo “Para cada” em torno da ação que referencia esse campo.If you select a field that contains an array, such as the Content field, which is an array that contains attachments, the designer automatically adds a "For each" loop around the action that references that field. Desta forma, a sua aplicação lógica pode realizar essa ação em cada item da matriz.That way, your logic app can perform that action on each array item. Para remover o loop, remova o campo da matriz, mova a ação de referência para fora do loop, selecione as reticências ( ... ) na barra de título do loop e selecione excluir.To remove the loop, remove the field for the array, move the referencing action to outside the loop, select the ellipses (...) on the loop's title bar, and select Delete.

  6. Guarde a aplicação lógica.Save your logic app.

Teste a sua aplicação lógica, que é agora semelhante a este exemplo:Now, test your logic app, which now looks like this example:

Aplicação lógica concluída

Executar a aplicação lógicaRun your logic app

  1. Envie um e-mail para si próprio que cumpra estes critérios:Send yourself an email that meets this criteria:

    • O assunto do email tem o texto que você especificou na propriedade filtro de assunto do gatilho: Business Analyst 2 #423501Your email's subject has the text that you specified in the trigger's Subject filter property: Business Analyst 2 #423501

    • Seu email tem um ou mais anexos.Your email has one or more attachments. Pode reutilizar um ficheiro de texto vazio do teste anterior.You can reuse an empty text file from your previous test. Para um cenário realista, anexe um ficheiro de currículo.For a more realistic scenario, attach a resume file.

    • O corpo do e-mail tem este texto, que pode copiar e colar:The email body has this text, which you can copy and paste:

      
      Name: Jamal Hartnett
      
      Street address: 12345 Anywhere Road
      
      City: Any Town
      
      State or Country: Any State
      
      Postal code: 00000
      
      Email address: jamhartnett@outlook.com
      
      Phone number: 000-000-0000
      
      Position: Business Analyst 2 #423501
      
      Technical skills: Dynamics CRM, MySQL, Microsoft SQL Server, JavaScript, Perl, Power BI, Tableau, Microsoft Office: Excel, Visio, Word, PowerPoint, SharePoint, and Outlook
      
      Professional skills: Data, process, workflow, statistics, risk analysis, modeling; technical writing, expert communicator and presenter, logical and analytical thinker, team builder, mediator, negotiator, self-starter, self-managing  
      
      Certifications: Six Sigma Green Belt, Lean Project Management
      
      Language skills: English, Mandarin, Spanish
      
      Education: Master of Business Administration
      
  2. Execute a aplicação lógica.Run your logic app. Se tiver êxito, a aplicação lógica envia-lhe um e-mail semelhante ao deste exemplo:If successful, your logic app sends you an email that looks like this example:

    Notificação de e-mail enviada pela aplicação lógica

    Se não receber nenhuma mensagem de e-mail, verifique a pasta de lixo do e-mail.If you don't get any emails, check your email's junk folder. O filtro de lixo de e-mail poderá redirecionar estes tipos de mensagem de e-mail.Your email junk filter might redirect these kinds of mails. 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).Otherwise, if you're unsure that your logic app ran correctly, see Troubleshoot your logic app.

Parabéns! Criou e executou uma aplicação lógica que automatiza tarefas em diferentes serviços do Azure e que chama um código personalizado.Congratulations, you've now created and run a logic app that automates tasks across different Azure services and calls some custom code.

Limpar recursosClean up resources

Quando já não precisar deste exemplo, elimine o grupo de recursos que contém a aplicação lógica e os recursos relacionados.When you no longer need this sample, delete the resource group that contains your logic app and related resources.

  1. No menu principal do Azure, selecione Grupos de recursos.On the main Azure menu, select Resource groups. Na lista grupos de recursos, selecione o grupo de recursos deste tutorial.From the resource groups list, select the resource group for this tutorial. No painel visão geral , selecione excluir grupo de recursos.On the Overview pane, select Delete resource group.

    Eliminar grupo de recursos da aplicação lógica

  2. Quando o painel de confirmação for exibido, insira o nome do grupo de recursos e selecione excluir.When the confirmation pane appears, enter the resource group name, and select Delete.

Passos seguintesNext steps

Neste tutorial, criou uma aplicação lógica que processa e armazena anexos de e-mail através da integração de serviços do Azure, como o Armazenamento do Azure e as Funções do Azure.In this tutorial, you created a logic app that processes and stores email attachments by integrating Azure services, such as Azure Storage and Azure Functions. Agora, saiba mais sobre outros conectores que pode utilizar para criar aplicações lógicas.Now, learn more about other connectors that you can use to build logic apps.