Tutorial: Enviar e-mail e invocar outros processos de negócio do Serviço de Aplicações

Neste tutorial, aprende a integrar a sua app De Serviço de Aplicações com os seus processos de negócio. Isto é comum a cenários de aplicações web, tais como:

  • Enviar e-mail de confirmação para uma transação
  • Adicionar utilizador ao grupo do Facebook
  • Ligue-se a sistemas de terceiros como SAP, Salesforce, etc.
  • Trocar mensagens B2B padrão

Neste tutorial, envia e-mails com o Gmail a partir da sua aplicação de Serviço de Aplicações, utilizando aplicações Azure Logic. Existem outras formas de enviar e-mails a partir de uma aplicação web, como a configuração SMTP fornecida pela sua estrutura linguística. No entanto, as Aplicações Lógicas trazem muito mais energia à sua aplicação de Serviço de Aplicações sem adicionar complexidade ao seu código. As Aplicações Lógicas fornecem uma interface de configuração simples para as integrações de negócios mais populares, e a sua aplicação pode chamá-las a qualquer momento com um pedido HTTP.

Pré-requisito

Implemente uma aplicação com o enquadramento linguístico da sua escolha para o Serviço de Aplicações. Para seguir um tutorial para implementar uma aplicação de amostra, consulte abaixo:

Criar a aplicação lógica

  1. No portal Azure,crie uma aplicação lógica vazia seguindo as instruções na Create your first logic app. Quando vir o Designer de Aplicações Lógicas, volte a este tutorial.

  2. Na página de respingo para o Designer de Aplicações Lógicas, selecione Quando um pedido HTTP for recebido no Início com um gatilho comum.

    Screenshot que mostra a página de respingo para o Designer de Aplicações Lógicas com quando um pedido de H T T P é recebido em destaque.

  3. No diálogo para quando for recebido um pedido HTTP, selecione Utilize a carga útil da amostra para gerar esquema.

    Screenshot que mostra a caixa de diálogo de pedido de H T T P e a carga útil da amostra utilizar para gerar a opção de esquema selecionada.

  4. Copie a amostra seguinte JSON na caixa de texto e selecione Feito.

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

    O esquema é agora gerado para os dados de pedido que deseja. Na prática, pode apenas capturar os dados de pedido real que o seu código de aplicação gera e deixar o Azure gerar o esquema JSON para si.

  5. No topo do Logic Apps Designer, selecione Save.

    Pode agora ver o URL do seu gatilho de pedido HTTP. Selecione o ícone de cópia para copiá-lo para posterior utilização.

    Screenshot que realça o ícone da cópia para copiar o U R L do seu gatilho de pedido H T T. P.

    Esta definição de pedido HTTP é um gatilho para tudo o que pretende fazer nesta aplicação lógica, seja o Gmail ou qualquer outra coisa. Mais tarde, irá invocar este URL na sua aplicação App Service. Para obter mais informações sobre o gatilho do pedido, consulte a referência HTTP pedido/resposta.

  6. Na parte inferior do designer, clique em Novo passo, digite Gmail na caixa de pesquisa de ações. Localizar e selecionar Enviar por email (V2).

    Dica

    Pode procurar outros tipos de integrações, tais como SendGrid, MailChimp, Microsoft 365 e SalesForce. Para mais informações, consulte a documentação da Logic Apps.

  7. No diálogo do Gmail, selecione Iniciar s.S. e iniciar scontabilidade na conta do Gmail a partir do seguinte.

    Screenshot que mostra a caixa de diálogo do Gmail que usa para assinar na conta do Gmail a partir da a quais pretende enviar e-mail.

  8. Uma vez assinado, clique na caixa de texto Para e o diálogo de conteúdo dinâmico é automaticamente aberto.

  9. Ao lado da ação Quando um pedido HTTP for recebido, selecione Ver mais.

    Screenshot que mostra o botão Ver Mais ao lado Quando um pedido de H T T P é recebido ação.

    Deverá agora ver as três propriedades da sua amostra de dados JSON que utilizou anteriormente. Neste passo, utilize estas propriedades a partir do pedido HTTP para a construção de um e-mail.

  10. Uma vez que está a selecionar o valor para o campo To, escolha o e-mail. Se desejar, desligue o diálogo dinâmico do conteúdo clicando em Adicionar conteúdo dinâmico.

    Screenshot que mostra a opção de e-mail e adicionar a opção de contenção dinâmica realçada.

  11. No dropdown de parâmetros adicionado, selecione Subject and Body.

  12. Clique na caixa de texto 'Assunto' e, da mesma forma, escolha a tarefa. Com o cursor ainda na caixa Assunto, tipo criado.

  13. Clique no Corpo, e da mesma forma, escolha o devido. Mover o cursor para a esquerda do devido e tipo Este item de trabalho deve-se .

    Dica

    Se pretender editar conteúdo HTML diretamente no corpo de e-mail, selecione a vista de código na parte superior da janela Logic Apps Designer. Apenas certifique-se de preservar o código de conteúdo dinâmico (por exemplo, @{triggerBody()?['due']} )

    Screenshot que mostra a vista de código para visualizar o conteúdo de H T M L diretamente no corpo de e-mail.

  14. Em seguida, adicione uma resposta HTTP assíncronea ao gatilho HTTP. Entre o gatilho HTTP e a ação do Gmail, clique no + sinal e selecione Adicione um ramo paralelo.

    Screenshot que mostra o sinal + e Adicione uma opção de ramo paralelo realçada.

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

    Screenshot que mostra a barra de pesquisa e ação de resposta realçada.

    Por predefinição, a ação de resposta envia um HTTP 200. É bom o suficiente para este tutorial. Para mais informações, consulte a referência HTTP pedido/resposta.

  16. No topo do Logic Apps Designer, selecione Save again.

Adicionar código de pedido HTTP para app

Certifique-se de que copiou o URL do gatilho do pedido HTTP de anteriormente. Porque contém informação sensível, é melhor que não a coloque diretamente no código. Com o Serviço de Aplicações, pode referenciar-se como uma variável ambiental, utilizando as definições de aplicações.

No Cloud Shell, crie a definição da aplicação com o seguinte comando (substituir <app-name> , e <resource-group-name> <logic-app-url> ):

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

No seu código, faça uma publicação HTTP padrão para o URL utilizando qualquer idioma de cliente HTTP disponível para a sua estrutura linguística, com a seguinte configuração:

  • O corpo de pedido contém o mesmo formato JSON que forneceu à sua aplicação lógica:

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

  • Para otimizar o desempenho, envie o pedido assíncronosamente, se possível.

Clique no separador linguagem/quadro preferido abaixo para ver um exemplo.

Em ASP.NET, pode enviar o post 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 estiver a testar este código na aplicação da amostra para Tutorial: Construa uma aplicação ASP.NET em Azure com base de dados SQL,poderá usá-lo para enviar uma confirmação de e-mail na ação Create, depois de o Todo item ser adicionado. Para utilizar o código assíncronos acima, converta a ação Create em assíncronos.

Mais recursos

Tutorial: Alojar uma API RESTful com CORS no Serviço de Aplicações do Azure
HTTP pedido/referência de resposta para Apps Lógicas
Quickstart: Crie o seu primeiro fluxo de trabalho utilizando aplicações Azure Logic - portal Azure