Samouczek: reagowanie na zdarzenia usługi Azure Service Bus odebrane za pośrednictwem usługi Azure Event Grid przy użyciu usługi Azure Logic Apps

Z tego samouczka dowiesz się, jak reagować na zdarzenia usługi Azure Service Bus odbierane za pośrednictwem usługi Azure Event Grid przy użyciu usługi Azure Logic Apps.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Tworzenie przestrzeni nazw usługi Service Bus

Postępuj zgodnie z instrukcjami w tym samouczku: Szybki start: tworzenie tematu i subskrypcji usługi Service Bus w witrynie Azure Portal w celu wykonania następujących zadań:

  • Utwórz przestrzeń nazw usługi Service Bus w warstwie Premium .
  • Pobierz parametry połączenia.
  • Utwórz temat usługi Service Bus.
  • Utwórz subskrypcję tematu. W tym samouczku potrzebujesz tylko jednej subskrypcji, więc nie trzeba tworzyć subskrypcji S2 i S3.

Wysyłanie komunikatów do tematu usługi Service Bus

W tym kroku użyjesz przykładowej aplikacji do wysyłania komunikatów do tematu usługi Service Bus utworzonego w poprzednim kroku.

  1. Sklonuj repozytorium GitHub azure-service-bus lub pobierz plik zip i wyodrębnij z niego pliki.

  2. W programie Visual Studio przejdź do folderu \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 , a następnie otwórz plik SBEventGridIntegration.sln .

  3. W oknie Eksplorator rozwiązań rozwiń projekt MessageSender i wybierz pozycję Program.cs.

  4. Zastąp <SERVICE BUS NAMESPACE - CONNECTION STRING> ciąg parametry połączenia przestrzeni nazw usługi Service Bus i <TOPIC NAME> nazwą tematu.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Skompiluj i uruchom program, aby wysłać 5 komunikatów testowych (const int numberOfMessages = 5;) do tematu usługi Service Bus.

    Dane wyjściowe aplikacji konsolowej

Odbieranie komunikatów za pomocą usługi Logic Apps

W tym kroku utworzysz aplikację logiki platformy Azure, która odbiera zdarzenia usługi Service Bus za pośrednictwem usługi Azure Event Grid.

  1. Wybierz pozycję + Utwórz zasób, wybierz pozycję Integracja, a następnie wybierz pozycję Aplikacja logiki.

    Zrzut ekranu przedstawiający menu Tworzenie zasobu —> integracja —> aplikacja logiki.

  2. Na stronie Tworzenie aplikacji logiki wykonaj następujące kroki:

    1. Wybierz swoją subskrypcję platformy Azure.
    2. Wybierz pozycję Użyj istniejącej dla grupy zasobów i wybierz grupę zasobów używaną dla innych zasobów (takich jak funkcja platformy Azure, przestrzeń nazw usługi Service Bus), która została utworzona wcześniej.
    3. Wprowadź nazwę aplikacji logiki.
    4. Wybierz region dla aplikacji logiki.
    5. W polu Typ planu wybierz pozycję Zużycie.
    6. Wybierz pozycję Przejrzyj i utwórz. Zrzut ekranu przedstawiający stronę Tworzenie aplikacji logiki.
    7. Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz, aby utworzyć aplikację logiki.
  3. Na stronie Zakończenie wdrażania wybierz pozycję Przejdź do zasobu , aby przejść do strony aplikacji logiki.

  4. Na stronie Projektant usługi Logic Apps wybierz pozycję Pusta aplikacja logiki w obszarze Szablony.

Dodawanie komunikatów odbieranych z usługi Service Bus za pośrednictwem usługi Event Grid

  1. Na stronie Aplikacja logiki wybierz pozycję Projektant aplikacji logiki w menu po lewej stronie.

  2. W okienku po prawej stronie w obszarze Szablony wybierz pozycję Pusta aplikacja logiki.

    Zrzut ekranu przedstawiający stronę projektanta aplikacji logiki z wybraną opcją Pusta aplikacja logiki.

  3. W projektancie wykonaj następujące czynności:

    1. Wyszukaj usługę Event Grid.

    2. Wybierz pozycję Gdy wystąpi zdarzenie zasobu — Azure Event Grid.

      Zrzut ekranu przedstawiający Projektant usługi Logic Apps z wybranym wyzwalaczem usługi Event Grid.

  4. Wybierz Zaloguj.

    Zrzut ekranu przedstawiający Projektant usługi Logic Apps z wybranym przyciskiem Logowanie.

  5. Na stronie Zaloguj się do konta wybierz konto, którego chcesz użyć do zalogowania się na platformie Azure. 1.

  6. Na stronie Gdy wystąpi zdarzenie zasobu, wykonaj następujące czynności:

    1. Wybierz subskrypcję platformy Azure.

    2. W polu Typ zasobu wybierz pozycję Microsoft.ServiceBus.Namespaces.

    3. W polu Nazwa zasobu wybierz przestrzeń nazw usługi Service Bus.

    4. Wybierz pozycję Dodaj nowy parametr, wybierz pozycję Filtr sufiksu, a następnie przenieś listę rozwijaną fokusu na zewnątrz.

      Zrzut ekranu przedstawiający dodawanie nowego parametru typu Filtr sufiksu.

    5. W polu Filtr sufiksu wprowadź nazwę subskrypcji tematu usługi Service Bus.

      Zrzut ekranu przedstawiający Projektant usługi Logic Apps z konfiguracją połączenia dla przestrzeni nazw usługi Service Bus.

  7. Wybierz pozycję + Nowy krok w projektancie i wykonaj następujące czynności:

    1. Wyszukaj usługę Service Bus.

    2. Wybierz pozycję Service Bus na liście.

      Zrzut ekranu przedstawiający wybór usługi Service Bus.

    3. Wybierz pozycję Pobierz komunikaty na liście Akcje .

    4. Wybierz pozycję Pobierz komunikaty z subskrypcji tematu (zobacz-lock).

      Zrzut ekranu przedstawiający Projektant usługi Logic Apps z wybraną pozycją Pobierz komunikaty z subskrypcji tematu.

    5. Wykonaj te kroki:

      1. Wprowadź nazwę połączenia. Na przykład: pobieranie komunikatów z subskrypcji tematu.

      2. Upewnij się, że typ uwierzytelniania ma wartość Klucz dostępu.

      3. W przypadku ciągu Połączenie ion skopiuj i wklej parametry połączenia do zapisanej wcześniej przestrzeni nazw usługi Service Bus.

      4. Wybierz pozycję Utwórz.

        Zrzut ekranu przedstawiający Projektant usługi Logic Apps z określoną parametry połączenia usługi Service Bus.

    6. Wybierz temat i subskrypcję.

      Zrzut ekranu przedstawiający Projektant usługi Logic Apps z określonym tematem i subskrypcją usługi Service Bus.

Dodawanie kroku do przetwarzania i uzupełniania odebranych komunikatów

W tym kroku dodasz kroki wysyłania odebranych wiadomości w wiadomości e-mail, a następnie dokończ wiadomość. W rzeczywistym scenariuszu przetwarzasz komunikat w aplikacji logiki przed ukończeniem komunikatu.

Dodawanie pętli foreach

  1. Wybierz + Nowy krok.

  2. Wyszukaj, a następnie wybierz pozycję Kontrolka.

    Zrzut ekranu przedstawiający kategorię Kontrolka.

  3. Na liście Akcje wybierz pozycję Dla każdego.

    Zrzut ekranu przedstawiający wybraną operację Dla każdego.

  4. W obszarze Wybierz dane wyjściowe z poprzednich kroków (w razie potrzeby kliknij wewnątrz pola tekstowego), wybierz pozycję Treść w obszarze Pobieranie komunikatów z subskrypcji tematu (zobacz blokadę).

    Zrzut ekranu przedstawiający wybór opcji Dla poszczególnych danych wejściowych.

Dodawanie kroku wewnątrz pętli foreach w celu wysłania wiadomości e-mail z treścią wiadomości

  1. W obszarze Dla każdej pętli wybierz pozycję Dodaj akcję.

    Zrzut ekranu przedstawiający wybór przycisku Dodaj akcję w pętli For-each.

  2. W polu tekstowym Wyszukaj łączniki i akcje wprowadź office 365.

  3. Wybierz pozycję Office 365 Outlook w wynikach wyszukiwania.

    Zrzut ekranu przedstawiający wybór usługi Office 365.

  4. Na liście akcji wybierz pozycję Wyślij wiadomość e-mail (wersja 2).

    Zrzut ekranu przedstawiający wybór operacji Wyślij wiadomość e-mail.

  5. Wybierz pozycję Zaloguj się i wykonaj kroki, aby utworzyć połączenie z usługą Office 365 Outlook.

  6. W oknie Wyślij wiadomość e-mail (wersja 2) wykonaj następujące kroki:

  7. Wybierz wewnątrz pola tekstowego Treść i wykonaj następujące kroki:

    1. W polu Do wprowadź adres e-mail.

    2. W polu Temat wprowadź komunikat odebrany z subskrypcji tematu usługi Service Bus.

    3. Przełącz się do wyrażenia.

    4. Wprowadź następujące wyrażenie:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Wybierz przycisk OK.

      Zrzut ekranu przedstawiający wyrażenie treści działania Wyślij wiadomość e-mail.

Dodaj kolejną akcję w pętli foreach, aby ukończyć komunikat

  1. W obszarze Dla każdej pętli wybierz pozycję Dodaj akcję.

    1. Wybierz pozycję Service Bus na liście Ostatnie .

    2. Wybierz pozycję Ukończ komunikat w subskrypcji tematu z listy akcji.

      Zrzut ekranu przedstawiający wybór opcji Ukończ komunikat w subskrypcji tematu.

    3. Wybierz temat usługi Service Bus.

    4. Wybierz subskrypcję tematu.

    5. W polu Zablokuj token komunikatu wybierz pozycję Zablokuj token z zawartości dynamicznej.

      Zrzut ekranu przedstawiający pole tokenu blokady.

  2. Wybierz pozycję Zapisz na pasku narzędzi usługi Logic Apps Projektant, aby zapisać aplikację logiki.

    Zrzut ekranu przedstawiający przycisk Zapisz w zaprojektowanej aplikacji logiki.

Testowanie aplikacji

  1. Jeśli komunikaty testowe nie zostały jeszcze wysłane do tematu, postępuj zgodnie z instrukcjami w sekcji Wysyłanie komunikatów do tematu usługi Service Bus, aby wysyłać komunikaty do tematu.

  2. Przejdź do strony Przegląd aplikacji logiki, a następnie przejdź do karty Historia przebiegów w dolnym okienku. Zobaczysz, że aplikacja logiki uruchamia komunikaty, które zostały wysłane do tematu. Zanim zostanie wyświetlona aplikacja logiki, może upłynąć kilka minut. Wybierz pozycję Odśwież na pasku narzędzi, aby odświeżyć stronę.

    Zrzut ekranu przedstawiający historię uruchamiania aplikacji logiki.

  3. Wybierz uruchom aplikację logiki, aby wyświetlić szczegóły. Zwróć uwagę, że przetworzył 5 komunikatów w pętli for.

    Zrzut ekranu przedstawiający szczegóły przebiegu wybranej aplikacji logiki.

  4. Dla każdej wiadomości odbierana przez aplikację logiki powinna zostać wysłana wiadomość e-mail.

    Zrzut ekranu programu Outlook z komunikatami odebranymi z subskrypcji tematów.

Rozwiązywanie problemów

Jeśli nie widzisz żadnych wywołań po odczekaniu i odświeżeniu na jakiś czas, wykonaj następujące kroki:

  1. Upewnij się, że komunikaty dotarły do tematu usługi Service Bus. Zobacz licznik komunikatów przychodzących na stronie Temat usługi Service Bus. W tym przypadku uruchomiono aplikację MessageSender raz, więc widzę 5 komunikatów.

    Zrzut ekranu przedstawiający stronę tematu usługi Service Bus z wybraną liczbą komunikatów przychodzących.

  2. Upewnij się, że w subskrypcji usługi Service Bus nie ma aktywnych komunikatów . Jeśli na tej stronie nie widzisz żadnych zdarzeń, sprawdź, czy na stronie Subskrypcji usługi Service Bus nie jest wyświetlana żadna liczba aktywnych komunikatów. Jeśli liczba tego licznika jest większa niż zero, komunikaty w subskrypcji nie są przekazywane do funkcji obsługi (program obsługi zdarzeń) z jakiegoś powodu. Sprawdź, czy subskrypcja zdarzeń została prawidłowo skonfigurowana.

    Zrzut ekranu przedstawiający stronę Subskrypcja usługi Service Bus z wybraną aktywną liczbą komunikatów.

  3. Zdarzenia dostarczane są również widoczne na stronie Zdarzenia przestrzeni nazw usługi Service Bus.

    Zrzut ekranu przedstawiający stronę Zdarzenia na stronie Przestrzeń nazw usługi Service Bus.

  4. Możesz również zobaczyć, że zdarzenia są dostarczane na stronie Subskrypcja zdarzeń. Możesz przejść do tej strony, wybierając subskrypcję zdarzeń na stronie Zdarzenia .

    Zrzut ekranu przedstawiający stronę Subskrypcja zdarzeń z wybraną liczbą zdarzeń dostarczonych.

Następne kroki