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.
Sklonuj repozytorium GitHub azure-service-bus lub pobierz plik zip i wyodrębnij z niego pliki.
W programie Visual Studio przejdź do folderu \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 , a następnie otwórz plik SBEventGridIntegration.sln .
W oknie Eksplorator rozwiązań rozwiń projekt MessageSender i wybierz pozycję Program.cs.
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>";
Skompiluj i uruchom program, aby wysłać 5 komunikatów testowych (
const int numberOfMessages = 5;
) do tematu usługi Service Bus.
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.
Wybierz pozycję + Utwórz zasób, wybierz pozycję Integracja, a następnie wybierz pozycję Aplikacja logiki.
Na stronie Tworzenie aplikacji logiki wykonaj następujące kroki:
- Wybierz swoją subskrypcję platformy Azure.
- 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.
- Wprowadź nazwę aplikacji logiki.
- Wybierz region dla aplikacji logiki.
- W polu Typ planu wybierz pozycję Zużycie.
- Wybierz pozycję Przejrzyj i utwórz.
- Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz, aby utworzyć aplikację logiki.
Na stronie Zakończenie wdrażania wybierz pozycję Przejdź do zasobu , aby przejść do strony aplikacji logiki.
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
Na stronie Aplikacja logiki wybierz pozycję Projektant aplikacji logiki w menu po lewej stronie.
W okienku po prawej stronie w obszarze Szablony wybierz pozycję Pusta aplikacja logiki.
W projektancie wykonaj następujące czynności:
Wyszukaj usługę Event Grid.
Wybierz pozycję Gdy wystąpi zdarzenie zasobu — Azure Event Grid.
Wybierz Zaloguj.
Na stronie Zaloguj się do konta wybierz konto, którego chcesz użyć do zalogowania się na platformie Azure. 1.
Na stronie Gdy wystąpi zdarzenie zasobu, wykonaj następujące czynności:
Wybierz subskrypcję platformy Azure.
W polu Typ zasobu wybierz pozycję Microsoft.ServiceBus.Namespaces.
W polu Nazwa zasobu wybierz przestrzeń nazw usługi Service Bus.
Wybierz pozycję Dodaj nowy parametr, wybierz pozycję Filtr sufiksu, a następnie przenieś listę rozwijaną fokusu na zewnątrz.
W polu Filtr sufiksu wprowadź nazwę subskrypcji tematu usługi Service Bus.
Wybierz pozycję + Nowy krok w projektancie i wykonaj następujące czynności:
Wyszukaj usługę Service Bus.
Wybierz pozycję Service Bus na liście.
Wybierz pozycję Pobierz komunikaty na liście Akcje .
Wybierz pozycję Pobierz komunikaty z subskrypcji tematu (zobacz-lock).
Wykonaj te kroki:
Wprowadź nazwę połączenia. Na przykład: pobieranie komunikatów z subskrypcji tematu.
Upewnij się, że typ uwierzytelniania ma wartość Klucz dostępu.
W przypadku ciągu Połączenie ion skopiuj i wklej parametry połączenia do zapisanej wcześniej przestrzeni nazw usługi Service Bus.
Wybierz pozycję Utwórz.
Wybierz temat i subskrypcję.
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
Wybierz + Nowy krok.
Wyszukaj, a następnie wybierz pozycję Kontrolka.
Na liście Akcje wybierz pozycję Dla każdego.
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ę).
Dodawanie kroku wewnątrz pętli foreach w celu wysłania wiadomości e-mail z treścią wiadomości
W obszarze Dla każdej pętli wybierz pozycję Dodaj akcję.
W polu tekstowym Wyszukaj łączniki i akcje wprowadź office 365.
Wybierz pozycję Office 365 Outlook w wynikach wyszukiwania.
Na liście akcji wybierz pozycję Wyślij wiadomość e-mail (wersja 2).
Wybierz pozycję Zaloguj się i wykonaj kroki, aby utworzyć połączenie z usługą Office 365 Outlook.
W oknie Wyślij wiadomość e-mail (wersja 2) wykonaj następujące kroki:
Wybierz wewnątrz pola tekstowego Treść i wykonaj następujące kroki:
W polu Do wprowadź adres e-mail.
W polu Temat wprowadź komunikat odebrany z subskrypcji tematu usługi Service Bus.
Przełącz się do wyrażenia.
Wprowadź następujące wyrażenie:
base64ToString(items('For_each')?['ContentData'])
Wybierz przycisk OK.
Dodaj kolejną akcję w pętli foreach, aby ukończyć komunikat
W obszarze Dla każdej pętli wybierz pozycję Dodaj akcję.
Wybierz pozycję Service Bus na liście Ostatnie .
Wybierz pozycję Ukończ komunikat w subskrypcji tematu z listy akcji.
Wybierz temat usługi Service Bus.
Wybierz subskrypcję tematu.
W polu Zablokuj token komunikatu wybierz pozycję Zablokuj token z zawartości dynamicznej.
Wybierz pozycję Zapisz na pasku narzędzi usługi Logic Apps Projektant, aby zapisać aplikację logiki.
Testowanie aplikacji
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.
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ę.
Wybierz uruchom aplikację logiki, aby wyświetlić szczegóły. Zwróć uwagę, że przetworzył 5 komunikatów w pętli for.
Dla każdej wiadomości odbierana przez aplikację logiki powinna zostać wysłana wiadomość e-mail.
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:
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.
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.
Zdarzenia dostarczane są również widoczne na stronie Zdarzenia przestrzeni nazw usługi Service Bus.
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 .
Następne kroki
- Dowiedz się więcej na temat usługi Azure Event Grid.
- Dowiedz się więcej na temat usługi Azure Functions.
- Dowiedz się więcej o funkcji Logic Apps usługi Azure App Service.
- Dowiedz się więcej na temat usługi Azure Service Bus.