Samouczek: integracja z usługą Azure Logic Apps w celu wysyłania wiadomości e-mail

Z tego samouczka dowiesz się, jak zintegrować aplikację usługi App Service z procesami biznesowymi przy użyciu usługi Azure Logic Apps. Tworzysz aplikację logiki, która wysyła wiadomość e-mail za pośrednictwem usługi Gmail z poziomu aplikacji usługi Azure App Service.

Istnieją inne sposoby wysyłania wiadomości e-mail z aplikacji internetowej, takich jak używanie konfiguracji protokołu SIMPLE Mail Transfer Protocol (SMTP) w strukturze językowej. Jednak usługa Logic Apps udostępnia prosty interfejs konfiguracji dla wielu integracji biznesowych bez dodawania złożoności do kodu.

Możesz użyć kroków przedstawionych w tym samouczku, aby zaimplementować kilka typowych scenariuszy aplikacji internetowej, takich jak:

  • Wysyłanie wiadomości e-mail z potwierdzeniem dla transakcji.
  • Dodawanie użytkowników do grupy serwisu Facebook.
  • Nawiązywanie połączenia z systemami zewnętrznymi, takimi jak SAP i Salesforce.
  • Wymiana standardowych komunikatów B2B.

Wymagania wstępne

Aby ukończyć ten samouczek, musisz mieć następujące wymagania wstępne:


Tworzenie aplikacji logiki

  1. Utwórz wielodostępną aplikację Zużycie w usłudze Azure Logic Apps , postępując zgodnie z instrukcjami w temacie Tworzenie zasobu aplikacji logiki Zużycie. Po utworzeniu aplikacji wybierz pozycję Przejdź do zasobu.

  2. Na stronie aplikacji logiki wybierz pozycję Projektant aplikacji logiki w obszarze Narzędzia programistyczne w menu nawigacji po lewej stronie.

Dodawanie wyzwalacza

  1. Wybierz pozycję Dodaj wyzwalacz na kanwie projektanta aplikacji logiki.

    Zrzut ekranu przedstawiający kanwę projektanta usługi Logic Apps z wyróżnionym pozycją Dodaj wyzwalacz.

  2. Na ekranie Dodawanie wyzwalacza w obszarze Narzędzia wbudowane wybierz pozycję Żądanie, a na następnym ekranie wybierz pozycję Po odebraniu żądania HTTP.

    Zrzut ekranu przedstawiający wyróżnione pozycje Request (Żądanie) i When an HTTP request (Po odebraniu żądania HTTP).

    Wyzwalacz jest wyświetlany na kanwie projektanta.

  3. Na ekranie Po odebraniu żądania HTTP wybierz pozycję Użyj przykładowego ładunku do wygenerowania schematu.

    Zrzut ekranu przedstawiający ekran Po odebraniu żądania HTTP z wyróżnionym linkiem generowania schematu.

  4. Wklej następujący kod na ekranie Enter lub wklej przykładowy ładunek JSON , a następnie wybierz pozycję Gotowe.

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

    Platforma Azure generuje schemat dla wprowadzonych danych żądania. W praktyce można przechwycić rzeczywiste dane żądania z kodu aplikacji i użyć ich do wygenerowania schematu JSON.

  5. Na górnym pasku narzędzi projektanta aplikacji logiki wybierz pozycję Zapisz.

  6. Wygenerowany adres URL HTTP jest teraz wyświetlany w obszarze Adres URL HTTP na ekranie Po odebraniu żądania HTTP . Wybierz ikonę kopiowania, aby skopiować adres URL do użycia później.

    Zrzut ekranu przedstawiający ekran Po odebraniu żądania HTTP z wyróżnionym linkiem generowania schematu i adresem URL PROTOKOŁU HTTP.

Definicja żądania HTTP jest wyzwalaczem dla wszystkich elementów, które chcesz wykonać w tym przepływie pracy aplikacji logiki, takich jak wysyłanie wiadomości e-mail. Później wywołasz ten adres URL w aplikacji usługi App Service. Aby uzyskać więcej informacji na temat wyzwalacza żądania, zobacz Odbieranie i odpowiadanie na przychodzące wywołania HTTPS wysyłane do przepływów pracy w usłudze Azure Logic Apps.

Tworzenie wiadomości e-mail

Dodaj akcję wyślij wiadomość e-mail i wypełnij wiadomość e-mail trzema wprowadzonymi wcześniej właściwościami żądania HTTP.

  1. Na kanwie projektanta wybierz + element w obszarze wyzwalacza i wybierz pozycję Dodaj akcję.

  2. Na ekranie Dodawanie akcji wprowadź gmail w polu wyszukiwania, a następnie wybierz pozycję Wyślij wiadomość e-mail (V2).

    Napiwek

    Możesz wyszukać inne typy integracji, takie jak SendGrid, MailChimp, Microsoft 365 i SalesForce. Aby uzyskać więcej informacji, zobacz Managed connectors for Azure Logic Apps (Łączniki zarządzane dla usługi Azure Logic Apps).

  3. Na ekranie Tworzenie połączenia wybierz pozycję Zaloguj się , aby uwierzytelnić dostęp do konta Gmail, z którego chcesz wysłać wiadomość e-mail.

    Zrzut ekranu przedstawiający akcję Gmail, w której logujesz się do konta Gmail.

  4. Po zalogowaniu się wybierz wewnątrz pola Do na ekranie Wyślij wiadomość e-mail (wersja 2), aby wyświetlić ikonę zawartości dynamicznej. Wybierz górną, błyskawicową część ikony.

  5. Zostanie wyświetlona lista zawartości dynamicznej z wyświetlonymi trzema wprowadzonymi wcześniej właściwościami żądania HTTP. Wybierz wiadomość e-mail z listy.

    Zrzut ekranu przedstawiający ikonę zawartości dynamicznej i listę z wyróżnioną wiadomością e-mail.

  6. Na ekranie Wyślij wiadomość e-mail (wersja 2) element wiadomości e-mail zostanie wyświetlony w polu Do . Z listy rozwijanej w obszarze Parametry zaawansowane wybierz pozycję Temat i Treść.

    Zrzut ekranu przedstawiający wybieranie pozycji Temat i Treść z listy parametrów.

  7. Pola Temat i Treść są wyświetlane na ekranie Wyślij wiadomość e-mail (wersja 2). Wybierz w polu Temat , aby wyświetlić ikonę zawartości dynamicznej, a następnie wybierz zadanie z listy zawartości dynamicznej.

  8. W polu Temat obok zadania wpisz spację, po której następuje utworzenie.

  9. Wybierz wewnątrz pola Treść , wyświetl listę zawartości dynamicznej i wybierz pozycję Due (Termin ukończenia).

  10. W polu Treść przenieś kursor przed terminem i wprowadź wartość Ten element roboczy, po którym następuje spacja.

    Zrzut ekranu przedstawiający wypełniony formularz Wyślij wiadomość e-mail (wersja 2).

Dodawanie odpowiedzi

Dodaj asynchroniczną odpowiedź HTTP do wyzwalacza HTTP.

  1. Na kanwie projektanta wybierz + wyzwalacz żądania HTTP i akcję Gmail, a następnie wybierz pozycję Dodaj gałąź równoległą.

    Zrzut ekranu przedstawiający wyróżnioną opcję + znak i Dodaj gałąź równoległą.

  2. Na ekranie Dodawanie akcji wprowadź odpowiedź w polu wyszukiwania, a następnie wybierz pozycję Odpowiedź.

    Zrzut ekranu przedstawiający wyróżniony pasek wyszukiwania i akcję Odpowiedź.

    Domyślnie akcja odpowiedzi wysyła element HTTP 200, który jest wystarczający dla tego samouczka. Aby uzyskać więcej informacji, zobacz Odbieranie i odpowiadanie na przychodzące wywołania HTTPS wysyłane do przepływów pracy w usłudze Azure Logic Apps.

  3. Wybierz pozycję Zapisz na pasku narzędzi projektanta aplikacji logiki.

Dodawanie kodu żądania HTTP do aplikacji usługi App Service

Należy unikać umieszczania poufnych informacji, takich jak adres URL wyzwalacza żądania bezpośrednio w kodzie aplikacji usługi App Service. Zamiast tego możesz odwoływać się do adresu URL jako zmiennej środowiskowej z ustawień aplikacji usługi App Service. Następujące polecenie tworzy zmienną środowiskową o nazwie LOGIC_APP_URL dla adresu URL HTTP aplikacji logiki.

  1. W usłudze Azure Cloud Shell uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure, aby utworzyć ustawienie aplikacji. Zastąp <app-name> wartości i <resource-group-name> nazwą aplikacji usługi App Service i grup zasobów. Zastąp ciąg <http-url> adresem URL HTTP skopiowanymi z aplikacji logiki.

    az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings LOGIC_APP_URL="<http-url>"
    
  2. W kodzie wprowadź standardowy wpis HTTP do adresu URL aplikacji logiki przy użyciu języka klienta HTTP dostępnego dla platformy językowej z następującą konfiguracją:

    • Upewnij się, że żądanie zawiera nagłówek Content-Type: application/json.

    • Użyj tego samego formatu JSON dostarczonego do aplikacji logiki w treści żądania:

      {
          "task": "<description>",
          "due": "<date>",
          "email": "<email-address>"
      }
      
    • Aby zoptymalizować wydajność, wyślij żądanie asynchronicznie, jeśli to możliwe.

    • Aby uzyskać instrukcje dotyczące rejestrowania, zapoznaj się z dokumentacją preferowanej struktury.

Przykładowe przykłady kodu żądania/odpowiedzi

Wybierz preferowany język/platformę, aby wyświetlić przykładowe żądanie i odpowiedź. Niektóre przykłady wymagają użycia lub zainstalowania pakietów kodu.

W ASP.NET Core możesz wysłać wpis HTTP za pomocą klasy System.Net.Http.HttpClient . Poniższy przykładowy kod wymaga użycia elementów System.Net.Http i System.Text.Json. Wymaga HttpResponseMessage konfiguracji wstrzykiwania zależności (DI) w celu uzyskania dostępu do ustawień aplikacji. Aby uzyskać więcej informacji, zobacz Access environment variables (Uzyskiwanie dostępu do zmiennych środowiskowych).

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

HttpResponseMessage result = await client.PostAsync(
    // Requires DI configuration to access app settings
    _configuration["LOGIC_APP_URL"],
    new StringContent(jsonData, Encoding.UTF8, "application/json"));
    
var statusCode = result.StatusCode.ToString();

Uwaga

Ten kod demonstracyjny jest napisany dla uproszczenia. W praktyce nie tworzy się wystąpienia HttpClient obiektu dla każdego żądania. Postępuj zgodnie ze wskazówkami w artykule Implementowanie odpornych żądań HTTP za pomocą interfejsu IHttpClientFactory.

Napiwek

Jeśli używasz przykładowej aplikacji z artykułu Samouczek: tworzenie aplikacji ASP.NET Core i SQL Database w usłudze Azure App Service, możesz użyć tego kodu, aby wysłać potwierdzenie wiadomości e-mail w akcji Tworzenie po dodaniu Todo elementu.