Dostarczanie zdarzeń do elementów webhook przy użyciu tematów przestrzeni nazw — Azure Portal (wersja zapoznawcza)
Artykuł zawiera instrukcje krok po kroku dotyczące publikowania zdarzeń w usłudze Azure Event Grid w formacie JSON cloudEvents i dostarczania tych zdarzeń przy użyciu modelu dostarczania wypychanego. Aby być konkretnym, należy opublikować zdarzenia w temacie przestrzeni nazw w usłudze Event Grid i wypchnąć te zdarzenia z subskrypcji zdarzeń do miejsca docelowego programu obsługi elementów webhook. Aby uzyskać więcej informacji na temat modelu dostarczania wypychanych, zobacz Push delivery overview (Omówienie dostarczania wypychanych).
Uwaga
Przestrzenie nazw usługi Azure Event Grid obecnie obsługują token sygnatury dostępu współdzielonego i uwierzytelnianie kluczy dostępu.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Tworzenie przestrzeni nazw usługi Event Grid
Przestrzeń nazw usługi Event Grid udostępnia zdefiniowany przez użytkownika punkt końcowy, do którego są ogłaszane zdarzenia. Poniższy przykład tworzy przestrzeń nazw w grupie zasobów przy użyciu powłoki Bash w usłudze Azure Cloud Shell. Nazwa przestrzeni nazw musi być unikatowa, ponieważ jest częścią wpisu systemu nazw domen (DNS).
Przejdź do witryny Azure Portal.
Na pasku wyszukiwania w temacie wpisz
Event Grid Namespaces
, a następnie wybierz pozycjęEvent Grid Namespaces
z wyników.Na stronie Przestrzenie nazw usługi Event Grid wybierz pozycję + Utwórz na pasku poleceń.
Na stronie Tworzenie przestrzeni nazw wykonaj następujące kroki:
- Wybierz subskrypcję platformy Azure, w której chcesz utworzyć przestrzeń nazw.
- Utwórz nową grupę zasobów, wybierając pozycję Utwórz nową lub wybierając istniejącą grupę zasobów.
- Wprowadź nazwę przestrzeni nazw.
- Wybierz lokalizację, w której chcesz utworzyć grupę zasobów.
- Następnie wybierz pozycję Przegląd + utwórz.
- Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz.
Na stronie Wdrożenie wybierz pozycję Przejdź do zasobu po pomyślnym wdrożeniu.
Pobieranie klucza dostępu
- Na stronie Przestrzeń nazw usługi Event Grid wybierz pozycję Klucze dostępu w menu po lewej stronie.
- Wybierz przycisk kopiowania obok klucza dostępu.
- Zapisz klucz dostępu gdzieś. Użyjesz go w dalszej części tego przewodnika Szybki start.
Tworzenie tematu w przestrzeni nazw
Utwórz temat zawierający wszystkie zdarzenia opublikowane w punkcie końcowym przestrzeni nazw.
- Wybierz pozycję Tematy w menu po lewej stronie.
- Na stronie Tematy wybierz pozycję + Temat na pasku poleceń.
- Na stronie Tworzenie tematu wykonaj następujące kroki:
Tworzenie punktu końcowego komunikatów
Przed zasubskrybowaniem zdarzeń utwórzmy punkt końcowy dla komunikatu zdarzenia. Zazwyczaj w punkcie końcowym akcje są wykonywane na podstawie danych zdarzenia. Aby uprościć ten przewodnik Szybki start, wdrożysz wstępnie utworzoną aplikację internetową, która wyświetla komunikaty o zdarzeniach. Wdrożone rozwiązanie zawiera plan usługi App Service, aplikację internetową usługi App Service i kod źródłowy z repozytorium GitHub.
Wybierz pozycję Wdróż na platformie Azure w celu wdrożenia rozwiązania w subskrypcji.
Na stronie Wdrażanie niestandardowe wykonaj następujące czynności:
W obszarze Grupa zasobów wybierz grupę zasobów utworzoną podczas tworzenia konta magazynu. Po zakończeniu pracy z samouczkiem łatwiej będzie wyczyścić grupę zasobów.
W polu Nazwa witryny wprowadź nazwę aplikacji internetowej.
W polu Nazwa planu hostingu wprowadź nazwę planu usługi App Service, która będzie używana do hostowania aplikacji internetowej.
Wybierz pozycję Przejrzyj i utwórz.
Na stronie Przeglądanie i tworzenie wybierz pozycję Utwórz.
Ukończenie wdrożenia trwa kilka minut. Na stronie Wdrażanie wybierz pozycję Przejdź do grupy zasobów.
Na stronie Grupa zasobów na liście zasobów wybierz utworzoną aplikację internetową. Zostanie również wyświetlony plan usługi App Service i konto magazynu na tej liście.
Na stronie App Service aplikacji internetowej wybierz adres URL, aby przejść do witryny internetowej. Adres URL powinien mieć następujący format:
https://<your-site-name>.azurewebsites.net
.Upewnij się, że witryna jest widoczna, ale do niej nie są jeszcze publikowane żadne zdarzenia.
Ważne
Pozostaw otwarte okno Podgląd usługi Azure Event Grid, aby zobaczyć zdarzenia w miarę ich ogłaszania.
Tworzenie subskrypcji zdarzeń
Utwórz subskrypcję zdarzeń ustawiając tryb dostarczania na Wypychanie, która obsługuje dostarczanie wypychane.
- Przejdź do karty lub okna ze stroną Przestrzeń nazw usługi Event Grid otwartą na karcie lub w oknie z otwartą stroną Przestrzeń nazw usługi Event Hubs.
- Na stronie Przestrzeń nazw usługi Event Grid wybierz pozycję Tematy w menu po lewej stronie.
- Na stronie Tematy wybierz temat utworzony w poprzednim kroku.
- Wybierz pozycję + Subskrypcja na pasku poleceń.
- Na stronie Tworzenie subskrypcji zdarzeń wykonaj następujące kroki:
Na karcie Podstawowe wprowadź nazwę subskrypcji zdarzeń.
Wybierz pozycję Wypchnij w trybie dostarczania zdarzeń.
W polu Typ punktu końcowego wybierz pozycję Web Hook.
Wybierz pozycję Konfiguruj punkt końcowy.
Na stronie Web Hook określ punkt końcowy (na przykład ):
https://spegridsite0520.azurewebsites.net/api/updates
), jak pokazano w poniższym przykładzie, a następnie wybierz pozycję Potwierdź wybór.Po powrocie na stronę Tworzenie subskrypcji wybierz pozycję Utwórz.
Wysyłanie zdarzeń do tematu
Teraz wyślij przykładowe zdarzenie do tematu przestrzeni nazw, wykonując kroki opisane w tej sekcji.
Deklarowanie zmiennych
Uruchom usługę Cloud Shell w witrynie Azure Portal. Przejdź do powłoki Bash.
Uruchom następujące polecenie, aby zadeklarować zmienną do przechowywania nazwy grupy zasobów. Zastąp
RESOUREGROUPNAME
ciąg nazwą grupy zasobów platformy Azure.resource_group=RESOURCEGROUPNAME
W usłudze Cloud Shell uruchom następujące polecenie, aby zadeklarować zmienną do przechowywania nazwy przestrzeni nazw. Zastąp
NAMESPACENAME
ciąg nazwą przestrzeni nazw usługi Event Grid.namespace=NAMESPACENAME
Uruchom następujące polecenie, aby zadeklarować zmienną do przechowywania zanotowaną wcześniej wartość klucza dostępu. Zastąp
ACCESSKEY
ciąg wartością klucza dostępu do przestrzeni nazw usługi Event Grid.key=ACCESSKEY
W usłudze Cloud Shell uruchom następujące polecenie, aby zadeklarować zmienną do przechowywania nazwy przestrzeni nazw.
topic=TOPICNAME
Publikowanie zdarzenia
Pobierz nazwę hosta przestrzeni nazw. Służy do tworzenia punktu końcowego HTTP przestrzeni nazw, do którego są wysyłane zdarzenia. Następujące operacje były najpierw dostępne w wersji
2023-06-01-preview
interfejsu API . Nazwę hosta można również uzyskać na stronie Przegląd przestrzeni nazw usługi Event Grid w witrynie Azure Portal.publish_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic:publish?api-version=2023-06-01-preview
Utwórz przykładowe zdarzenie zgodne z rozwiązaniem CloudEvents :
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
Element
data
to ładunek zdarzenia. W tym polu można umieścić dowolną poprawnie sformułowaną zawartość JSON. Aby uzyskać więcej informacji na temat właściwości (nazywanych również atrybutami kontekstu), które mogą przejść w zdarzeniu, zobacz specyfikacje CloudEvents .Użyj narzędzia CURL, aby wysłać zdarzenie do tematu. CURL to narzędzie, które wysyła żądania HTTP.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Sprawdź, czy podgląd usługi Azure Event Grid odebrał zdarzenie
Sprawdź, czy aplikacja internetowa Podgląd usługi Azure Event Grid wyświetla zdarzenia odebrane z usługi Event Grid.
Powiązana zawartość
W tym przewodniku Szybki start użyto elementu webhook jako procedury obsługi zdarzeń. Aby uzyskać przewodnik Szybki start, który używa centrum zdarzeń platformy Azure jako procedury obsługi zdarzeń, zobacz Dostarczanie zdarzeń do usługi Azure Event Hubs przy użyciu tematów przestrzeni nazw.