Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Event Grid is een gebeurtenisservice voor de cloud. In dit artikel gebruikt u de Azure CLI om u te abonneren op Blob Storage-gebeurtenissen en activeert u de gebeurtenis om het resultaat weer te geven.
Normaal gesproken verzendt u gebeurtenissen naar een eindpunt dat de gebeurtenisgegevens verwerkt en vervolgens in actie komt. Als u dit artikel echter wilt vereenvoudigen, verzendt u de gebeurtenissen naar een web-app die de berichten verzamelt en weergeeft.
Wanneer u de stappen in dit artikel uitvoert, ziet u dat de gebeurtenisgegevens naar de web-app zijn verzonden.
Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.
Vereiste voorwaarden
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container te draaien. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
- Voor dit artikel is versie 2.0.70 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Een brongroep maken
Event Grid-onderwerpen zijn Azure-resources en moeten in een Azure-resourcegroep worden geplaatst. De resourcegroep is een logische verzameling waarin Azure-resources worden geïmplementeerd en beheerd.
Maak een resourcegroep met de opdracht az group create.
In het volgende voorbeeld wordt een resourcegroep met de naam <resource_group_name>
gemaakt op de locatie westcentralus. Vervang <resource_group_name>
door een unieke naam voor uw resourcegroep.
az group create --name <resource_group_name> --location westcentralus
Een opslagaccount maken
Blob Storage-gebeurtenissen zijn beschikbaar in v2-opslagaccounts voor algemeen gebruik en Blob Storage-accounts. V2-opslagaccounts voor algemeen gebruik ondersteunen alle functies voor alle opslagservices, waaronder blobs, bestanden, wachtrijen en tabellen. Een Blob Storage-account is een speciaal opslagaccount voor het opslaan van ongestructureerde gegevens als blobs (objecten) in Azure Storage. Blob Storage-accounts zijn net als opslagaccounts voor algemeen gebruik en delen alle geweldige duurzaamheid, beschikbaarheid, schaalbaarheid en prestatiefuncties die u momenteel gebruikt, inclusief 100% API-consistentie voor blok-blobs en toevoeg-blobs. Zie Overzicht van Azure-opslagaccount voor meer informatie.
Vervang door <storage_account_name>
een unieke naam voor uw opslagaccount en <resource_group_name>
door de resourcegroep die u eerder hebt gemaakt.
az storage account create \
--name <storage_account_name> \
--location westcentralus \
--resource-group <resource_group_name> \
--sku Standard_LRS \
--kind BlobStorage \
--access-tier Hot
Een bericht-eindpunt creëren
Voordat u zich abonneert op het onderwerp, gaan we het eindpunt voor het gebeurtenisbericht maken. Normaal gesproken voert het eindpunt acties uit op basis van de gebeurtenisgegevens. Ter vereenvoudiging van deze snelstart gaat u een vooraf gebouwde web-app implementeren waarmee de gebeurtenisberichten worden weergegeven. De geïmplementeerde oplossing bevat een App Service-plan, een App Service-web-app en broncode van GitHub.
Vervang <your-site-name>
door een unieke naam voor de web-app. De naam van de web-app moet uniek zijn omdat deze deel uitmaakt van de DNS-vermelding.
sitename=<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=$sitename hostingPlanName=viewerhost
Het kan enkele minuten duren voordat de implementatie is voltooid. Nadat de implementatie is voltooid, bekijkt u de web-app om te controleren of deze wordt uitgevoerd. Navigeer in een webbrowser naar: https://<your-site-name>.azurewebsites.net
Je zou op de site momenteel geen berichten moeten zien worden weergegeven.
De Event Grid-resourceprovider inschakelen
Als dit de eerste keer is dat u Event Grid in uw Azure-abonnement gebruikt, moet u mogelijk de Event Grid-resourceprovider registreren. Voer de volgende opdracht uit om de provider te registreren:
az provider register --namespace Microsoft.EventGrid
Het kan even duren voordat de registratie is voltooid. Voer de volgende opdracht uit om de status te controleren:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Wanneer
registrationState
Registered
is, bent u klaar om door te gaan.
Abonneren op uw opslagaccount
U abonneert u op een onderwerp om Event Grid te laten weten welke gebeurtenissen u wilt traceren en waar deze gebeurtenissen naartoe moeten worden gestuurd. In het volgende voorbeeld meldt u zich aan voor het opslagaccount dat u hebt aangemaakt, en wordt de URL van uw webapp doorgegeven als eindpunt voor gebeurtenismeldingen. Vervang <event_subscription_name>
door een naam voor het gebeurtenisabonnement. Gebruik voor <resource_group_name>
en <storage_account_name>
de waarden die u eerder hebt gemaakt.
Het eindpunt voor uw web-app moet het achtervoegsel /api/updates/
bevatten.
storageid=$(az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $storageid \
--name <event_subscription_name> \
--endpoint $endpoint
Bekijk uw webapp opnieuw en merk op dat er een validatiegebeurtenis voor het abonnement is verzonden. Selecteer het oogpictogram om de gebeurtenisgegevens uit te breiden. Event Grid verzendt de validatie-gebeurtenis, zodat het eindpunt kan controleren of het gebeurtenisgegevens wil ontvangen. De web-app bevat code om het abonnement te valideren.
Een gebeurtenis activeren vanuit Blob Storage
Nu gaan we een gebeurtenis activeren om te zien hoe het bericht via Event Grid naar het eindpunt wordt gedistribueerd. Eerst gaan we de naam en sleutel voor het opslagaccount configureren en vervolgens een container maken en vervolgens een bestand maken en uploaden. Gebruik opnieuw de waarden voor <storage_account_name>
en <resource_group_name>
u hebt eerder gemaakt.
export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_KEY="$(az storage account keys list --account-name <storage_account_name> --resource-group <resource_group_name> --query "[0].value" --output tsv)"
az storage container create --name testcontainer
touch testfile.txt
az storage blob upload --file testfile.txt --container-name testcontainer --name testfile.txt
U hebt de gebeurtenis geactiveerd en Event Grid heeft het bericht verzonden naar het eindpunt dat u hebt geconfigureerd toen u zich abonneerde. Bekijk uw web-app om de gebeurtenis te zien die u zojuist hebt verzonden.
[{
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myrg/providers/Microsoft.Storage/storageAccounts/myblobstorageaccount",
"subject": "/blobServices/default/containers/testcontainer/blobs/testfile.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-08-16T20:33:51.0595757Z",
"id": "4d96b1d4-0001-00b3-58ce-16568c064fab",
"data": {
"api": "PutBlockList",
"clientRequestId": "d65ca2e2-a168-4155-b7a4-2c925c18902f",
"requestId": "4d96b1d4-0001-00b3-58ce-16568c000000",
"eTag": "0x8D4E4E61AE038AD",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myblobstorageaccount.blob.core.windows.net/testcontainer/testfile.txt",
"sequencer": "00000000000000EB0000000000046199",
"storageDiagnostics": {
"batchId": "dffea416-b46e-4613-ac19-0371c0c5e352"
}
},
"dataVersion": "",
"metadataVersion": "1"
}]
De hulpbronnen opschonen
Als u van plan bent om door te gaan met werken met dit opslagaccount en evenementabonnement, moet u de resources die in dit artikel zijn gemaakt niet opschonen. Als u niet van plan bent om door te gaan, gebruikt u de volgende opdracht om de resources te verwijderen die u in dit artikel hebt gemaakt.
Vervang <resource_group_name>
door de resourcegroep die u eerder hebt gemaakt.
az group delete --name <resource_group_name>
Volgende stappen
Nu u weet hoe u onderwerpen en gebeurtenisabonnementen maakt, vindt u meer informatie over Blob Storage-gebeurtenissen en wat Event Grid u kan helpen: