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 an eventing service for the cloud. In this article, you use Azure PowerShell to subscribe to Blob storage events, trigger an event, and view the result.
Normaal gesproken verzendt u gebeurtenissen naar een eindpunt dat de gebeurtenisgegevens verwerkt en vervolgens in actie komt. However, to simplify this article, you send the events to a web app that collects and displays the messages.
When you're finished, you see that the event data has been sent to the web app.
Configuratie
Opmerking
U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
This article requires that you're running the latest version of Azure PowerShell. If you need to install or upgrade, see Install and configure Azure PowerShell.
Aanmelden bij Azure
Meld u aan bij uw Azure-abonnement met de Connect-AzAccount
opdracht en volg de aanwijzingen op het scherm om te verifiëren.
Connect-AzAccount
This example uses westus2 and stores the selection in a variable for use throughout.
$location = "westus2"
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 New-AzResourceGroup.
The following example creates a resource group named gridResourceGroup in the westus2 location.
$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location
Een opslagaccount maken
Blob storage events are available in general-purpose v2 storage accounts and Blob storage accounts. General-purpose v2 storage accounts support all features for all storage services, including Blobs, Files, Queues, and Tables. A Blob storage account is a specialized storage account for storing your unstructured data as blobs (objects) in Azure Storage. Blob storage accounts are like general-purpose storage accounts and share all the great durability, availability, scalability, and performance features that you use today including 100% API consistency for block blobs and append blobs. Zie Overzicht van Azure-opslagaccount voor meer informatie.
Create a Blob storage account with LRS replication using New-AzStorageAccount, then retrieve the storage account context that defines the storage account to be used. When acting on a storage account, you reference the context instead of repeatedly providing the credentials. This example creates a storage account called gridstorage
with locally redundant storage (LRS).
Opmerking
Storage account names are in a global name space so you need to append some random characters to the name provided in this script.
$storageName = "gridstorage"
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name $storageName `
-Location $location `
-SkuName Standard_LRS `
-Kind BlobStorage `
-AccessTier Hot `
-AllowBlobPublicAccess $false
$ctx = $storageAccount.Context
Een bericht-eindpunt creëren
Before subscribing to the topic, let's create the endpoint for the event message. Normaal gesproken voert het eindpunt acties uit op basis van de gebeurtenisgegevens. Ter vereenvoudiging van deze quickstart implementeert u een vooraf gemaakte web-app die de gebeurtenisberichten weergeeft. 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. The web app name must be unique because it's part of the DNS entry.
$sitename="<your-site-name>"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroup `
-TemplateUri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" `
-siteName $sitename `
-hostingPlanName viewerhost
Het kan enkele minuten duren voordat de implementatie is voltooid. After the deployment has succeeded, view your web app to make sure it's running. Navigeer in een webbrowser naar: https://<your-site-name>.azurewebsites.net
You should see the site with no messages currently displayed.
Enable Event Grid resource provider
If you haven't previously used Event Grid in your Azure subscription, you may need to register the Event Grid resource provider. Voer de volgende opdracht uit:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
It may take a moment for the registration to finish. To check the status, run:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
When RegistrationStatus
is Registered
, you're ready to continue.
Subscribe to your storage account
You subscribe to a topic to tell Event Grid which events you want to track. The following example subscribes to the storage account you created, and passes the URL from your web app as the endpoint for event notification. Het eindpunt voor uw web-app moet het achtervoegsel /api/updates/
bevatten.
$storageId = (Get-AzStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageName).Id
$endpoint="https://$sitename.azurewebsites.net/api/updates"
New-AzEventGridSubscription `
-EventSubscriptionName gridBlobQuickStart `
-Endpoint $endpoint `
-ResourceId $storageId
View your web app again, and notice that a subscription validation event has been sent to it. 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.
Trigger an event from Blob storage
Now, let's trigger an event to see how Event Grid distributes the message to your endpoint. First, let's create a container and an object. Then, let's upload the object into the container.
$containerName = "gridcontainer"
New-AzStorageContainer -Name $containerName -Context $ctx
echo $null >> gridTestFile.txt
Set-AzStorageBlobContent -File gridTestFile.txt -Container $containerName -Context $ctx -Blob gridTestFile.txt
You've triggered the event, and Event Grid sent the message to the endpoint you configured when subscribing. 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/gridcontainer/blobs/gridTestFile.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-08-16T20:33:51.0595757Z",
"id": "4d96b1d4-0001-00b3-58ce-16568c064fab",
"data": {
"api": "PutBlockList",
"clientRequestId": "Azure-Storage-PowerShell-d65ca2e2-a168-4155-b7a4-2c925c18902f",
"requestId": "4d96b1d4-0001-00b3-58ce-16568c000000",
"eTag": "0x8D4E4E61AE038AD",
"contentType": "application/octet-stream",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myblobstorageaccount.blob.core.windows.net/gridcontainer/gridTestFile.txt",
"sequencer": "00000000000000EB0000000000046199",
"storageDiagnostics": {
"batchId": "dffea416-b46e-4613-ac19-0371c0c5e352"
}
},
"dataVersion": "",
"metadataVersion": "1"
}]
De hulpbronnen opschonen
If you plan to continue working with this storage account and event subscription, don't clean up the resources created in this article. 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.
Remove-AzResourceGroup -Name $resourceGroup
Volgende stappen
Now that you know how to create topics and event subscriptions, learn more about Blob storage Events and what Event Grid can help you do: