Udostępnij przez


Wysyłanie zdarzeń z usługi API Management do usługi Event Grid

DOTYCZY: Zużycie | Deweloper | Podstawowa | Standardowa | Premia

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.

Możesz subskrybować następujące typy zdarzeń usługi API Management:

  • Zdarzenia płaszczyzny sterowania: te zdarzenia są generowane podczas tworzenia, aktualizowania lub usuwania niektórych zasobów usługi API Management. Na przykład możesz otrzymać zdarzenie, gdy nowy użytkownik lub nowy produkt zostanie utworzony w instancji zarządzania API.
  • Zdarzenia płaszczyzny danych (wersja zapoznawcza): te zdarzenia są generowane podczas działania bramy usługi API Management. Obecnie usługa API Management może generować zdarzenia dla wyłączników obwodu zaplecza i cyklu życia tokenów dostępu samodzielnie hostowanej bramy.

Aby uzyskać pełną listę dostępnych zdarzeń, zobacz Schemat usługi Event Grid dla usługi API Management.

Diagram integracji usługi API Management z usługą Event Grid.

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 opisano, jak subskrybować zdarzenia w usłudze Event Grid w wystąpieniu API Management, wyzwalać te zdarzenia i przesyłać je 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

Tworzenie punktu końcowego zdarzenia

W tej sekcji użyjesz szablonu Resource Manager, aby wdrożyć wstępnie utworzoną przykładową aplikację internetową do usługi Azure App Service. Później subskrybujesz zdarzenia Event Grid instancji API Management i określasz 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 Azure CLI.

  • Ustaw RESOURCE_GROUP_NAME nazwę istniejącej grupy zasobów

  • Ustaw SITE_NAME unikatową nazwę aplikacji internetowej

    Nazwa witryny musi być unikatowa na platformie Azure, ponieważ stanowi część w pełni kwalifikowanej nazwy domeny (FQDN) aplikacji internetowej. W dalszej części przejdź do 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 bez 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:

  1. W menu po lewej stronie wybierz pozycję Subskrypcje.

  2. Wybierz subskrypcję, której chcesz użyć dla usługi Event Grid z listy subskrypcji.

  3. Na stronie subskrypcja, wybierz pozycję Dostawcy zasobów w sekcji Ustawienia w menu po lewej stronie.

  4. Wyszukaj Microsoft.EventGrid i potwierdź, że Stan to Niezarejestrowany.

  5. Wybierz pozycję Microsoft.EventGrid na liście dostawców.

  6. Wybierz pozycję Zarejestruj na pasku poleceń.

    Obraz przedstawiający rejestrację dostawcy Microsoft.EventGrid w ramach subskrypcji platformy Azure.

  7. Odśwież, aby upewnić się, że stan microsoft.EventGrid został zmieniony na Zarejestrowany.

    Obraz przedstawiający pomyślną rejestrację dostawcy Microsoft.EventGrid w ramach subskrypcji platformy Azure.

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ć. Tutaj utworzysz subskrypcję na zdarzenia w swojej instancji zarządzania API.

  1. W witrynie Azure Portal przejdź do wystąpienia usługi API Management.

  2. Wybierz pozycję Zdarzenia > + Subskrypcja zdarzeń.

  3. 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 Szczegółach punktu końcowego wybierz typ zdarzenia Web Hook, kliknij Wybierz punkt końcowy i wprowadź adres URL swojej aplikacji internetowej, a następnie api/updates. Przykład: https://myapp.azurewebsites.net/api/updates.
    • Wybierz Potwierdź wybór.
  4. Pozostaw ustawienia na pozostałych kartach z wartościami domyślnymi, a następnie wybierz pozycję Utwórz.

    Tworzenie subskrypcji zdarzeń w witrynie Azure Portal

Wyzwalanie i wyświetlanie zdarzeń

Teraz, gdy przykładowa aplikacja jest uruchomiona i zasubskrybowałeś wystąpienie usługi API Management z 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, które jest przesyłane do punktu końcowego aplikacji internetowej.

Przejdź do aplikacji internetowej Podgląd Event Grid i powinieneś zobaczyć zdarzenie ProductCreated. Wybierz przycisk obok zdarzenia, aby wyświetlić szczegóły.

Zdarzenie utworzone przez produkt w podglądzie usługi Event Grid

Schemat zdarzeń usługi Event Grid

Dane zdarzeń usługi API Management zawierają element resourceUri, 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