Partilhar via


Tutorial: Enviar email e invocar outros processos de negócios do Serviço de Aplicativo

Neste tutorial, você aprenderá a integrar seu aplicativo do Serviço de Aplicativo aos seus processos de negócios. Isso é comum em cenários de aplicativos Web, como:

  • Enviar e-mail de confirmação para uma transação
  • Adicionar usuário ao grupo do Facebook
  • Conecte-se a sistemas de terceiros como SAP, Salesforce, etc.
  • Mensagens B2B padrão do Exchange

Neste tutorial, você envia emails com o Gmail do seu aplicativo do Serviço de Aplicativo usando os Aplicativos Lógicos do Azure. Há outras maneiras de enviar e-mails de um aplicativo Web, como a configuração SMTP fornecida pela sua estrutura de linguagem. No entanto, os Aplicativos Lógicos do Azure trazem muito mais poder ao seu aplicativo do Serviço de Aplicativo sem adicionar complexidade ao seu código. Os Aplicativos Lógicos do Azure fornecem uma interface de configuração simples para as integrações de negócios mais populares, e seu aplicativo pode chamá-las a qualquer momento com uma solicitação HTTP.

Pré-requisito

Implante um aplicativo com a estrutura de idioma de sua escolha no Serviço de Aplicativo. Para seguir um tutorial para implantar um aplicativo de exemplo, consulte abaixo:

Criar a aplicação lógica

  1. No portal do Azure, crie um recurso de aplicativo lógico de consumo seguindo as instruções em Criar um fluxo de trabalho de consumo de exemplo. Quando a página com os gatilhos comuns e a galeria de modelos for aberta, retorne a este tutorial.

  2. Na seção Iniciar com um gatilho comum, selecione o gatilho chamado Quando uma solicitação HTTP for recebida.

    Captura de tela que mostra a página inicial do designer com Quando uma solicitação H T T P é recebida realçada.

  3. Na caixa de informações do gatilho, selecione Usar carga útil de exemplo para gerar esquema.

    Captura de tela que mostra a caixa de diálogo Quando uma solicitação H T T P e a opção Usar carga útil de amostra para gerar esquema selecionada.

  4. Copie o JSON de exemplo a seguir para a caixa de texto e selecione Concluído.

    {
        "task": "<description>",
        "due": "<date>",
        "email": "<email-address>"
    }
    

    O esquema agora é gerado para os dados de solicitação desejados. Na prática, você pode apenas capturar os dados de solicitação reais que seu código de aplicativo gera e permitir que o Azure gere o esquema JSON para você.

  5. Na barra de ferramentas do designer de fluxo de trabalho, selecione Salvar.

    Agora você pode ver a URL do seu gatilho de solicitação HTTP. Selecione o ícone de cópia para copiá-lo para uso posterior.

    Captura de tela que destaca o ícone de cópia para copiar o U R L do gatilho de solicitação H T T P.

    Essa definição de solicitação HTTP é um gatilho para qualquer coisa que você queira fazer neste fluxo de trabalho de aplicativo lógico, seja o Gmail ou qualquer outra coisa. Mais tarde, você invocará essa URL em seu aplicativo do Serviço de Aplicativo. Para obter mais informações sobre o gatilho de solicitação, consulte a referência de solicitação/resposta HTTP.

  6. No gatilho, selecione Nova etapa. Na caixa de pesquisa Escolha uma operação, selecione Todos.

  7. Na caixa de pesquisa, introduza Gmail. Localize e selecione a ação chamada Enviar e-mail (V2).

    Gorjeta

    Você pode pesquisar outros tipos de integrações, como SendGrid, MailChimp, Microsoft 365 e SalesForce. Para obter mais informações, consulte Conectores gerenciados para aplicativos lógicos do Azure.

  8. Na ação do Gmail, selecione Iniciar sessão para autenticar o acesso à conta do Gmail a partir da qual pretende enviar o e-mail.

    Captura de ecrã que mostra a ação do Gmail onde inicia sessão na sua conta do Gmail.

  9. Depois de entrar, selecione dentro da caixa Para , que abre automaticamente a lista de conteúdo dinâmico. Nesta lista, ao lado da ação Quando uma solicitação HTTP é recebida , selecione Ver mais.

    Captura de tela que mostra o botão Ver mais ao lado de Quando uma solicitação H T T P é recebida.

    Agora você deve ver as três propriedades dos dados JSON de exemplo usados anteriormente. Nesta etapa, você usa essas propriedades da solicitação HTTP para construir um email.

  10. Para o valor do campo Para , selecione e-mail. Se desejar, feche a lista de conteúdo dinâmico selecionando Adicionar conteúdo dinâmico.

    Captura de tela que mostra a opção de e-mail e a opção Adicionar contenção dinâmica realçadas.

  11. Na lista Adicionar novo parâmetro, selecione Assunto e Corpo.

  12. Selecione dentro da caixa Assunto e, da mesma forma, selecione tarefa. Com o cursor ainda na caixa Assunto , digite criado.

  13. Selecione dentro na caixa Corpo e, da mesma forma, selecione devido. Mova o cursor para a esquerda do vencimento e digite Este item de trabalho está devido em.

    Gorjeta

    Se quiser editar conteúdo HTML diretamente no corpo do e-mail, na barra de ferramentas do designer, selecione Visualização de código. Apenas certifique-se de preservar o código de conteúdo dinâmico (por exemplo, @{triggerBody()?['due']})

    Captura de tela que mostra a visualização de código para visualizar o conteúdo H T M L diretamente no corpo do e-mail.

  14. Em seguida, adicione uma resposta HTTP assíncrona ao gatilho HTTP. Entre o gatilho HTTP e a ação do Gmail, selecione o + sinal e selecione Adicionar uma ramificação paralela.

    Captura de ecrã que mostra o sinal + e a opção Adicionar uma ramificação paralela realçada.

  15. Na caixa de pesquisa, procure a resposta e, em seguida, selecione a ação Resposta .

    Captura de ecrã que mostra a barra de pesquisa e a ação Resposta realçadas.

    Por padrão, a ação de resposta envia um HTTP 200. Isso é bom o suficiente para este tutorial. Para obter mais informações, consulte a referência de solicitação/resposta HTTP.

  16. Na barra de ferramentas do designer, selecione Salvar novamente.

Adicionar código de solicitação HTTP ao aplicativo

Certifique-se de ter copiado a URL do gatilho de solicitação HTTP do anterior. Como ele contém informações confidenciais, é uma prática recomendada que você não as coloque diretamente no código. Com o Serviço de Aplicativo, você pode fazer referência a ele como uma variável de ambiente, usando as configurações do aplicativo.

No Cloud Shell, crie a configuração do aplicativo com o seguinte comando (substitua <app-name>,< resource-group-name> e< logic-app-url):>

az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings LOGIC_APP_URL="<your-logic-app-url>"

Em seu código, faça uma postagem HTTP padrão na URL usando qualquer idioma de cliente HTTP disponível para sua estrutura de linguagem, com a seguinte configuração:

  • O corpo da solicitação contém o mesmo formato JSON que você forneceu ao seu aplicativo lógico:

    {
        "task": "<description>",
        "due": "<date>",
        "email": "<email-address>"
    }
    
  • O pedido contém o título Content-Type: application/json.

  • Para otimizar o desempenho, envie a solicitação de forma assíncrona, se possível.

Selecione a guia idioma/estrutura preferida abaixo para ver um exemplo.

No ASP.NET, você pode enviar a postagem HTTP com a classe System.Net.Http.HttpClient . Por exemplo:

// requires using System.Net.Http;
var client = new HttpClient();
// requires using System.Text.Json;
var jsonData = JsonSerializer.Serialize(new
{
    email = "a-valid@emailaddress.com",
    due = "4/1/2020",
    task = "My new task!"
});

HttpResponseMessage result = await client.PostAsync(
    // requires using System.Configuration;
    ConfigurationManager.AppSettings["LOGIC_APP_URL"],
    new StringContent(jsonData, Encoding.UTF8, "application/json"));
    
var statusCode = result.StatusCode.ToString();

Se você estiver testando esse código no aplicativo de exemplo para Tutorial: Criar um aplicativo ASP.NET no Azure com o Banco de Dados SQL, poderá usá-lo para enviar uma confirmação de email na ação Criar, depois que o Todo item for adicionado. Para usar o código assíncrono acima, converta a ação Criar em assíncrona.

Próximos passos