Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym szybkim starcie używasz Azure CLI, aby utworzyć niestandardowy temat w Azure Event Grid, subskrybować ten temat i wywołać przykładowe zdarzenie, aby zobaczyć wynik.
Zazwyczaj użytkownik wysyła zdarzenia do punktu końcowego, w którym następuje przetwarzanie danych zdarzenia i są wykonywane akcje. Aby jednak uprościć ten szybki start, wysyłasz przykładowe zdarzenia do aplikacji webowej, która zbiera i wyświetla wiadomości. Po zakończeniu zobaczysz dane zdarzenia w aplikacji webowej, co pokazano na poniższym obrazku:
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Użyj środowiska Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with 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 Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy pojawi się monit, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu 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.
- Ten szybki start wymaga wersji 2.0.70 lub nowszej Azure CLI. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.
- Jeśli jesteś nowy w Azure Event Grid, zobacz What's Azure Event Grid, aby zobaczyć przegląd usługi przed rozpoczęciem tego szybkiego startu.
Tworzenie grupy zasobów
Tematy Event Grid to zasoby Azure, które musisz umieścić w grupie zasobów Azure. Grupa zasobów to logiczna kolekcja, do której wdrażasz i zarządzasz zasobami Azure.
Utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie gridResourceGroup w lokalizacji westus2. Zmień nazwę grupy zasobów i lokalizację, jeśli chcesz.
az group create --name gridResourceGroup --location westus2
Włączanie dostawcy zasobów usługi Event Grid
Jeśli po raz pierwszy używasz usługi Event Grid w ramach subskrypcji platformy Azure, może być konieczne zarejestrowanie dostawcy zasobów usługi Event Grid. Uruchom następujące polecenie, aby zarejestrować dostawcę:
az provider register --namespace Microsoft.EventGridUkończenie rejestracji może zająć trochę czasu. Aby sprawdzić stan, uruchom następujące polecenie:
az provider show --namespace Microsoft.EventGrid --query "registrationState"Gdy właściwość
registrationStateuzyska wartośćRegistered, można kontynuować.
Tworzenie tematu niestandardowego
Temat usługi Event Grid zawiera punkt końcowy zdefiniowany przez użytkownika, do którego są ogłaszane zdarzenia. Poniższy przykład tworzy niestandardowy temat w Twojej grupie zasobów za pomocą Bash w Azure Cloud Shell. Zamień <your-topic-name> na unikatową nazwę tematu. Niestandardowa nazwa tematu musi być unikalna, ponieważ jest częścią wpisu w systemie nazw domen (DNS). Ponadto musi mieć od 3 do 50 znaków i zawierać tylko wartości a-z, a-z, 0-9 oraz "-"
Skopiuj następujące polecenie, podaj nazwę tematu i wybierz Enter , aby wykonać polecenie.
topicname=<your-topic-name>Użyj polecenia ,
az eventgrid topic createaby utworzyć temat niestandardowy.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Tworzenie punktu końcowego komunikatów
Przed zasubskrybowaniu tematu niestandardowego utwórz punkt końcowy dla komunikatu o zdarzeniu. Zazwyczaj w punkcie końcowym akcje są wykonywane na podstawie danych zdarzenia. Aby uprościć ten szybki start, wdroż gotową aplikację webową , która pokazuje komunikaty zdarzeń. Wdrożone rozwiązanie zawiera plan usługi App Service, aplikację internetową usługi App Service i kod źródłowy z repozytorium GitHub.
Skopiuj następujące polecenie, podaj nazwę aplikacji webowej (Event Grid Viewer sample) i wybierz Enter , aby wykonać polecenie. Zastąp
<your-site-name>unikatową nazwą aplikacji internetowej. Nazwa aplikacji internetowej musi być unikatowa, ponieważ stanowi część wpisu DNS.sitename=<your-site-name>Uruchom aplikację
az deployment group createwebową za pomocą szablonu Azure Resource Manager.az deployment group create \ --resource-group gridResourceGroup \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" \ --parameters siteName=$sitename hostingPlanName=viewerhost
Ukończenie wdrożenia może potrwać kilka minut. Po pomyślnym wdrożeniu wyświetl aplikację internetową, aby upewnić się, że jest uruchomiona. W przeglądarce sieci Web przejdź do: https://<your-site-name>.azurewebsites.net
Powinieneś zobaczyć stronę bez żadnych wyświetlanych komunikatów.
Subskrybowanie tematu niestandardowego
Subskrybujesz temat usługi Event Grid, aby poinformować usługę Event Grid o zdarzeniach, które mają być śledzone i gdzie mają być wysyłane te zdarzenia. Poniższy przykład ilustruje subskrybowanie utworzonego tematu niestandardowego i przekazanie adresu URL z aplikacji internetowej jako punktu końcowego dla powiadomień o zdarzeniach.
Punkt końcowy dla aplikacji internetowej musi zawierać sufiks /api/updates/.
Skopiuj poniższe polecenie, zastąp
$sitenamego nazwą aplikacji webowej utworzonej w poprzednim kroku i wybierz Enter , aby wykonać polecenie.endpoint=https://$sitename.azurewebsites.net/api/updatesUruchom następujące polecenie, aby uzyskać identyfikator zasobu utworzonego tematu.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Uruchom następujące polecenie, aby utworzyć subskrypcję tematu niestandardowego za pomocą punktu końcowego.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointWyświetl aplikację sieci Web ponownie i zwróć uwagę, że zdarzenie sprawdzania poprawności subskrypcji zostało do niej wysłane. Wybierz ikonę oka, aby rozwinąć dane zdarzenia. Usługa Event Grid wysyła zdarzenie weryfikacyjne, aby punkt końcowy mógł zweryfikować, czy chce otrzymywać dane zdarzeń. Aplikacja internetowa zawiera kod do sprawdzania poprawności subskrypcji.
Wyślij zdarzenie do niestandardowego tematu
Wyzwólmy zdarzenie, aby zobaczyć, jak usługa Event Grid dystrybuuje komunikat do punktu końcowego. Najpierw zdobądź adres URL i klucz do tematu niestandardowego.
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
Aby uprościć ten szybki start, użyj przykładowych danych zdarzeń do niestandardowego tematu. Zazwyczaj aplikacja lub usługa platformy Azure wysyła dane zdarzenia. Poniższy przykład tworzy przykładowe dane zdarzenia:
event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
Element data danych JSON to ładunek zdarzenia. W tym polu można umieścić dowolny prawidłowo sformatowany kod JSON. Można też używać pola tematu do zaawansowanego routingu i filtrowania.
cURL to narzędzie wysyłające żądania HTTP. W tym szybkim starcie użyj cURL, aby wysłać zdarzenie do tematu.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Ty wyzwoliłeś zdarzenie, a usługa Event Grid wysłała komunikat do punktu końcowego, który skonfigurowałeś przy subskrypcji. Otwórz aplikację internetową, aby zobaczyć zdarzenie, które właśnie wysłałeś.
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventGrid/topics/{topic}"
}]
Czyszczenie zasobów
Jeśli planujesz kontynuować pracę z tym wydarzeniem lub aplikacją event viewer, nie sprzątaj zasobów stworzonych w tym szybkim starcie. W przeciwnym razie użyj polecenia, aby usunąć zasoby utworzone w tym szybkim starcie.
az group delete --name gridResourceGroup --yes --no-wait
Treści powiązane
Wiesz już, jak tworzyć tematy i subskrypcje zdarzeń. Dowiedz się więcej na temat tego, co może Ci ułatwić usługa Event Grid:
- Informacje o usłudze Event Grid
- Kierowanie zdarzeń usługi Blob Storage do niestandardowego internetowego punktu końcowego
- Przesyłaj duże zbiory danych do hurtowni danych
Aby dowiedzieć się o publikowaniu zdarzeń do Event Grid i ich konsumowaniu w różnych językach programowania, zobacz poniższe przykłady: