Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Event Grid je služba zpracování událostí pro cloud. V tomto článku použijete Azure PowerShell k přihlášení k odběru událostí služby Blob Storage, aktivaci události a zobrazení výsledku.
Obvykle odesíláte události do koncového bodu, který data události zpracuje a provede akce. Pro zjednodušení tohoto článku však budete události odesílat do webové aplikace, která shromažďuje a zobrazuje zprávy.
Až budete hotovi, uvidíte, že se data události odeslala do webové aplikace.
Nastavení
Poznámka:
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Tento článek vyžaduje, abyste spustili nejnovější verzi Azure PowerShellu. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace a konfigurace Azure PowerShellu.
Přihlášení k Azure
Přihlaste se ke svému předplatnému Azure pomocí Connect-AzAccount příkazu a podle pokynů na obrazovce proveďte ověření.
Connect-AzAccount
Tento příklad používá westus2 a ukládá výběr do proměnné pro použití v celém prostředí.
$location = "westus2"
Vytvoření skupiny zdrojů
Témata služby Event Grid jsou prostředky Azure a musí být umístěné ve skupině prostředků Azure. Skupina prostředků je logická kolekce, ve které se nasazují a spravují prostředky Azure.
Vytvořte skupinu prostředků pomocí příkazu New-AzResourceGroup .
Následující příklad vytvoří skupinu prostředků gridResourceGroup v lokalitě westus2.
$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location
Vytvoření účtu úložiště
Události služby Blob Storage jsou dostupné v účtech úložiště pro obecné účely verze 2 a v účtech Blob Storage. Účty úložiště pro obecné účely verze 2 podporují všechny funkce ve všech službách úložiště, včetně objektů blob, souborů, front a tabulek. Účet úložiště objektů blob je specializovaný účet úložiště pro ukládání nestrukturovaných dat v podobě objektů blob do služby Azure Storage. Účty úložiště typu Blob jsou podobné účtům úložiště pro obecné účely a sdílejí veškeré skvělé vlastnosti jako odolnost, dostupnost, škálovatelnost a výkonnost, které dnes používáte, včetně 100% konzistentnosti API pro blokové objekty Blob a doplňující objekty Blob. Další informace najdete v tématu Přehled účtu Azure Storage.
Vytvořte účet úložiště Blob s replikací LRS pomocí příkazu New-AzStorageAccount a pak načtěte kontext účtu úložiště, který definuje účet úložiště, který se má použít. Při práci s účtem úložiště odkazujete na kontext místo opakovaného zadávání přihlašovacích údajů. Tento příklad vytvoří účet úložiště volaný gridstorage s místně redundantním úložištěm (LRS).
Poznámka:
Názvy účtů úložiště jsou v globálním prostoru názvů, takže musíte k názvu zadanému v tomto skriptu přidat několik náhodných znaků.
$storageName = "gridstorage"
$storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name $storageName `
-Location $location `
-SkuName Standard_LRS `
-Kind BlobStorage `
-AccessTier Hot `
-AllowBlobPublicAccess $false
$ctx = $storageAccount.Context
Vytvoření koncového bodu zprávy
Před přihlášením k odběru tématu nejprve vytvoříme koncový bod pro zprávu o události. Koncový bod obvykle provádí akce na základě dat události. Pro zjednodušení tohoto rychlého startu nasadíte předem připravenou webovou aplikaci , která zobrazí zprávy událostí. Nasazené řešení zahrnuje plán služby App Service, webovou aplikaci App Service a zdrojový kód z GitHubu.
Nahraďte <your-site-name> jedinečným názvem vaší webové aplikace. Název webové aplikace musí být jedinečný, protože je součástí položky DNS.
$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
Dokončení nasazení může trvat několik minut. Po úspěšném nasazení si webovou aplikaci prohlédněte, abyste se ujistili, že funguje. Ve webovém prohlížeči přejděte na: https://<your-site-name>.azurewebsites.net
Měli byste vidět webovou stránku, kde momentálně nejsou zobrazeny žádné zprávy.
Povolit poskytovatele prostředků Event Grid
Pokud jste ve vašem předplatném Azure ještě službu Event Grid nepoužívali, budete možná muset zaregistrovat poskytovatele prostředků služby Event Grid. Spusťte následující příkaz:
Register-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Dokončení registrace může chvíli trvat. Pokud chcete zkontrolovat stav, spusťte:
Get-AzResourceProvider -ProviderNamespace Microsoft.EventGrid
Jakmile RegistrationStatus je Registered, můžete pokračovat.
Přihlášení k odběru účtu úložiště
Přihlásíte se k odběru tématu a sdělíte službě Event Grid, které události chcete sledovat. Následující příklad se přihlásí k odběru účtu úložiště, který jste vytvořili, a předá adresu URL z vaší webové aplikace jako koncový bod pro oznámení události. Koncový bod pro webovou aplikaci musí obsahovat příponu /api/updates/.
$storageId = (Get-AzStorageAccount -ResourceGroupName $resourceGroup -AccountName $storageName).Id
$endpoint="https://$sitename.azurewebsites.net/api/updates"
New-AzEventGridSubscription `
-EventSubscriptionName gridBlobQuickStart `
-Endpoint $endpoint `
-ResourceId $storageId
Znovu si prohlédněte webovou aplikaci a všimněte si, že se do ní odeslala událost ověření odběru. Pro rozbalení dat události vyberte ikonu oka. Event Grid odešle ověřovací událost, aby koncový bod mohl ověřit, že chce přijímat data událostí. Webová aplikace obsahuje kód pro ověření předplatného.
Aktivace události ze služby Blob Storage
Nyní aktivujeme událost, abychom viděli, jak služba Event Grid distribuuje zprávu do vašeho koncového bodu. Nejprve vytvoříme kontejner a objekt. Pak objekt nahrajeme do kontejneru.
$containerName = "gridcontainer"
New-AzStorageContainer -Name $containerName -Context $ctx
echo $null >> gridTestFile.txt
Set-AzStorageBlobContent -File gridTestFile.txt -Container $containerName -Context $ctx -Blob gridTestFile.txt
Právě jste aktivovali událost a služba Event Grid odeslala zprávu do koncového bodu, který jste nakonfigurovali při přihlášení k odběru. Zobrazte si webovou aplikaci a podívejte se na událost, kterou jste právě odeslali.
[{
"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"
}]
Čištění zdrojů
Pokud chcete pokračovat v práci s tímto účtem úložiště a předplatným událostí, nevyčisťujte prostředky vytvořené v tomto článku. Pokud pokračovat nechcete, pomocí následujícího příkazu odstraňte prostředky, které jste vytvořili v tomto článku.
Remove-AzResourceGroup -Name $resourceGroup
Další kroky
Když teď víte, jak vytvářet témata a odběry událostí, zjistěte více o událostech služby Blob Storage a s čím vám služba Event Grid ještě může pomoct: