Wysyłanie zdarzeń z usługi API Management do usługi Event Grid
DOTYCZY: Wszystkie warstwy usługi API Management
Usługa API Management integruje się z usługą Azure Event Grid , dzięki czemu można wysyłać powiadomienia o zdarzeniach do innych usług i wyzwalać procesy podrzędne. Event Grid to w pełni zarządzana usługa routingu zdarzeń, która korzysta z modelu publikowania-subskrybowania. Usługa Event Grid ma wbudowaną obsługę usług platformy Azure, takich jak Azure Functions i Azure Logic Apps, a także może dostarczać alerty dotyczące zdarzeń do usług spoza platformy Azure przy użyciu elementów webhook.
Na przykład przy użyciu integracji z usługą Event Grid można utworzyć aplikację, która aktualizuje bazę danych, tworzy konto rozliczeniowe i wysyła powiadomienie e-mail za każdym razem, gdy użytkownik zostanie dodany do wystąpienia usługi API Management.
W tym artykule subskrybujesz zdarzenia usługi Event Grid w wystąpieniu usługi API Management, wyzwalasz zdarzenia i wysyłasz zdarzenia do punktu końcowego, który przetwarza dane. Aby zachować prostotę, wysyłasz zdarzenia do przykładowej aplikacji internetowej, która zbiera i wyświetla komunikaty:
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Jeśli nie masz jeszcze usługi API Management, wykonaj czynności opisane w następującym przewodniku Szybki start: Tworzenie wystąpienia usługi Azure API Management
- Włącz tożsamość zarządzaną przypisaną przez system w wystąpieniu usługi API Management.
- Utwórz grupę zasobów, jeśli nie masz takiej grupy , w której chcesz wdrożyć przykładowy punkt końcowy.
Tworzenie punktu końcowego zdarzenia
W tej sekcji użyjesz szablonu usługi Resource Manager, aby wdrożyć wstępnie utworzoną przykładową aplikację internetową w usłudze aplikacja systemu Azure Service. Później subskrybujesz zdarzenia usługi Event Grid wystąpienia usługi API Management i określisz tę aplikację jako punkt końcowy, do którego są wysyłane zdarzenia.
Aby wdrożyć przykładową aplikację, możesz użyć interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal. W poniższym przykładzie użyto polecenia az deployment group create w interfejsie wiersza polecenia platformy Azure.
Ustaw
RESOURCE_GROUP_NAME
nazwę istniejącej grupy zasobówUstaw
SITE_NAME
unikatową nazwę aplikacji internetowejNazwa witryny musi być unikatowa na platformie Azure, ponieważ stanowi część w pełni kwalifikowanej nazwy domeny (FQDN) aplikacji internetowej. W późniejszej sekcji przejdź do nazwy FQDN aplikacji w przeglądarce internetowej, aby wyświetlić zdarzenia.
RESOURCE_GROUP_NAME=<your-resource-group-name>
SITE_NAME=<your-site-name>
az deployment group create \
--resource-group $RESOURCE_GROUP_NAME \
--template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \
--parameters siteName=$SITE_NAME hostingPlanName=$SITE_NAME-plan
Po pomyślnym wdrożeniu (może to potrwać kilka minut), otwórz przeglądarkę i przejdź do aplikacji internetowej, aby upewnić się, że jest ona uruchomiona:
https://<your-site-name>.azurewebsites.net
Powinna zostać wyświetlona przykładowa aplikacja renderowana bez wyświetlanych komunikatów o zdarzeniach.
Rejestrowanie dostawcy zasobów usługi Event Grid
Jeśli usługa Event Grid nie została wcześniej użyta, musisz zarejestrować dostawcę zasobów usługi Event Grid. Jeśli wcześniej użyto usługi Event Grid, przejdź do następnej sekcji.
W witrynie Azure Portal wykonaj następujące czynności:
W menu po lewej stronie wybierz pozycję Subskrypcje.
Wybierz subskrypcję, której chcesz użyć dla usługi Event Grid z listy subskrypcji.
Na stronie Subskrypcja wybierz pozycję Dostawcy zasobów w obszarze Ustawienia w menu po lewej stronie.
Wyszukaj ciąg Microsoft.EventGrid i upewnij się, że stan to Niezarejestrowany.
Wybierz pozycję Microsoft.EventGrid na liście dostawców.
Wybierz pozycję Zarejestruj na pasku poleceń.
Odśwież, aby upewnić się, że stan microsoft.EventGrid został zmieniony na Zarejestrowany.
Subskrybowanie zdarzeń usługi API Management
W usłudze Event Grid subskrybujesz temat , aby poinformować go o zdarzeniach, które chcesz śledzić i gdzie je wysłać. W tym miejscu utworzysz subskrypcję zdarzeń w wystąpieniu usługi API Management.
W witrynie Azure Portal przejdź do wystąpienia usługi API Management.
Wybierz pozycję Zdarzenia > i subskrypcja zdarzeń.
Na karcie Podstawowe:
- Wprowadź opisową nazwę subskrypcji zdarzeń.
- W obszarze Typy zdarzeń wybierz co najmniej jeden typ zdarzeń usługi API Management do wysłania do usługi Event Grid. Na przykład w tym artykule wybierz co najmniej Microsoft.APIManagement.ProductCreated
- W obszarze Szczegóły punktu końcowego wybierz typ zdarzenia Web Hook , kliknij pozycję Wybierz punkt końcowy i wprowadź adres URL aplikacji internetowej, a następnie
api/updates
. Przykład:https://myapp.azurewebsites.net/api/updates
. - Wybierz pozycję Potwierdź wybór.
Pozostaw ustawienia na pozostałych kartach z wartościami domyślnymi, a następnie wybierz pozycję Utwórz.
Wyzwalanie i wyświetlanie zdarzeń
Teraz, gdy przykładowa aplikacja jest uruchomiona i zasubskrybujesz wystąpienie usługi API Management za pomocą usługi Event Grid, możesz wygenerować zdarzenia.
Na przykład utwórz produkt w wystąpieniu usługi API Management. Jeśli subskrypcja zdarzeń zawiera zdarzenie Microsoft.APIManagement.ProductCreated , utworzenie produktu wyzwala zdarzenie wypychane do punktu końcowego aplikacji internetowej.
Przejdź do aplikacji internetowej Podgląd usługi Event Grid i powinno zostać wyświetlone ProductCreated
zdarzenie. Wybierz przycisk obok zdarzenia, aby wyświetlić szczegóły.
Schemat zdarzeń usługi Event Grid
Dane zdarzeń usługi API Management obejmują resourceUri
element , który identyfikuje zasób usługi API Management, który wyzwolił zdarzenie. Aby uzyskać szczegółowe informacje na temat schematu komunikatów zdarzeń usługi API Management, zobacz dokumentację usługi Event Grid:
Schemat zdarzeń usługi Azure Event Grid dla usługi API Management
Następne kroki
- Dowiedz się więcej o subskrybowaniu zdarzeń.