Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I denna quickstart använder du Azure CLI för att skapa ett anpassat ämne i Azure Event Grid, prenumerera på det anpassade ämnet och trigga en exempelhändelse för att visa resultatet.
Normalt kan du skicka händelser till en slutpunkt som bearbetar informationen om händelsen och utför åtgärder. Men för att förenkla denna snabbstart skickar du exempelhändelser till en webbapp som samlar in och visar meddelandena. När du är klar ser du händelsedata i webbappen, som visas i följande bild:
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Denna quickstart kräver version 2.0.70 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
- Om du är ny på Azure Event Grid, se What's Azure Event Grid för en översikt av tjänsten innan du startar denna quickstart.
Skapa en resursgrupp
Event Grid-ämnen är Azure-resurser som du måste placera i en Azure-resursgrupp. Resursgruppen är en logisk samling där du distribuerar och hanterar Azure-resurser.
Skapa en resursgrupp med kommandot az group create. I följande exempel skapas en resursgrupp med namnet gridResourceGroup på platsen westus2. Byt namn på resursgruppen och platsen om du vill.
az group create --name gridResourceGroup --location westus2
Aktivera Event Grid-resursprovidern
Om det är första gången du använder Event Grid i din Azure-prenumeration kan du behöva registrera Event Grid-resursprovidern. Registrera providern genom att köra följande kommando:
az provider register --namespace Microsoft.EventGridDet kan ta en stund innan registreringen är klar. Kontrollera statusen genom att köra följande kommando:
az provider show --namespace Microsoft.EventGrid --query "registrationState"När
registrationStateärRegisteredkan du fortsätta.
Skapa ett anpassat ämne
Ett Event Grid-ämne innehåller en användardefinierad slutpunkt som du publicerar dina händelser till. Följande exempel skapar det anpassade ämnet i din resursgrupp genom att använda Bash i Azure Cloud Shell. Ersätt <your-topic-name> med ett unikt namn för ditt ämne. Det anpassade ämnesnamnet måste vara unikt eftersom det är en del av DNS-posten (Domain Name System). Dessutom måste den vara mellan 3–50 tecken och endast innehålla värdena a–ö, A–ö, 0–9 och "-"
Kopiera följande kommando, ange ett namn för ämnet och välj Enter för att köra kommandot.
topicname=<your-topic-name>az eventgrid topic createAnvänd kommandot för att skapa ett anpassat ämne.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Skapa en slutpunkt för meddelanden
Innan du prenumererar på det anpassade ämnet skapar du slutpunkten för händelsemeddelandet. Slutpunkten utför vanligtvis åtgärder baserat på informationen om händelsen. För att förenkla denna snabbstart, distribuera en färdigbyggd webbapp som visar händelsemeddelandena. Den distribuerade lösningen innehåller en App Service-plan,en webbapp för App Service och källkod från GitHub.
Kopiera följande kommando, ange ett namn för webbappen (Event Grid Viewer exempel) och välj Enter för att köra kommandot. Ersätt
<your-site-name>med ett unikt namn för din webbapp. Webbappnamnet måste vara unikt eftersom det är en del av DNS-posten.sitename=<your-site-name>Kör
az deployment group createför att distribuera webbappen med hjälp av en Azure Resource Manager-mall.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
Det kan ta några minuter innan driftsättningen slutförs. När distributionen har slutförts kontrollerar du webbappen för att försäkra dig om att den körs. I en webbläsare navigerar du till: https://<your-site-name>.azurewebsites.net
Du borde se sidan utan några meddelanden som visas.
Prenumerera på ett anpassat ämne
Du prenumererar på ett Event Grid-ämne för att berätta för Event Grid vilka händelser du vill spåra och var dessa händelser ska skickas. I följande exempel prenumererar vi på det anpassade ämne du just skapat, och URL från din webbapp skickas som slutpunkt för händelseavisering.
Slutpunkten för ditt webbprogram måste innehålla suffixet /api/updates/.
Kopiera följande kommando, ersätt
$sitenamemed namnet på webbappen du skapade i föregående steg och välj Enter för att köra kommandot.endpoint=https://$sitename.azurewebsites.net/api/updatesKör följande kommando för att hämta resurs-ID:t för det ämne som du skapade.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)Kör följande kommando för att skapa en prenumeration på det anpassade ämnet med hjälp av slutpunkten.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpointGå tillbaka till webbappen och lägg märke till att en valideringshändelse för prenumerationen har skickats till den. Välj ögonikonen för att utöka informationen om händelsen. Händelserutnätet skickar valideringshändelsen så att slutpunkten kan bekräfta att den vill ta emot händelsedata. Webbappen inkluderar kod för att verifiera prenumerationen.
Skicka en händelse till ditt anpassade ämne
Nu ska vi utlösa en händelse och se hur Event Grid distribuerar meddelandet till slutpunkten. Först, hämta URL:en och nyckeln för det anpassade ämnet.
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)
För att förenkla denna snabbstart, använd exempelhändelsedata för att skicka till det anpassade ämnet. Vanligtvis skickar ett program eller En Azure-tjänst händelsedata. I följande exempel skapas exempelhändelsedata:
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"} ]'
Elementet data av JSON är händelsens nyttolast. All välformulerad JSON kan stå i det här fältet. Du kan också använda ämnesfältet för avancerad omdirigering och filtrering.
cURL är ett verktyg som skickar HTTP-förfrågningar. I denna snabbstart använder du cURL för att skicka händelsen till ämnet.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Du utlöste händelsen och Event Grid skickade meddelandet till den slutpunkt som du konfigurerade när du prenumererade. Öppna webbappen för att se händelsen som du just skickade.
[{
"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}"
}]
Rensa resurser
Om du planerar att fortsätta arbeta med den här händelsen eller appen Händelsevisaren, ta inte bort resurserna som du skapade i den här snabbstarten. Annars, använd följande kommando för att ta bort de resurser du skapade i denna snabbstart.
az group delete --name gridResourceGroup --yes --no-wait
Relaterat innehåll
Nu när du vet hur du skapar ämnen och prenumerationer på händelser kan du läsa mer om vad Event Grid kan hjälpa dig med:
- Om Event Grid
- Dirigera Blob Storage-händelser till en anpassad webbslutpunkt
- Strömma stordata till ett datalager
För att lära dig om publicering av händelser till och konsumtion av händelser från Event Grid i olika programmeringsspråk, se följande exempel: