Rychlý start: Odesílání vlastních událostí do webového koncového bodu pomocí webu Azure Portal a Azure Event Gridu
V tomto rychlém startu vytvoříte téma, vytvoříte odběr tohoto tématu pomocí koncového bodu Webhooku, aktivujete ukázkovou událost a pak zobrazíte výsledek. Obvykle odesíláte události do koncového bodu, který data události zpracuje a provede akce. Pokud ale chcete tento kurz zjednodušit, odešlete události do webové aplikace, která shromažďuje a zobrazuje zprávy.
Požadavky
- Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure, než začnete.
- Pokud jste novou službou Azure Event Grid, podívejte se na přehled služby Event Grid.
Registrace poskytovatele prostředků Event Gridu
Pokud jste službu Event Grid ještě nepoužívali, budete muset zaregistrovat poskytovatele prostředků Event Gridu. Pokud jste službu Event Grid používali dříve, přejděte k další části.
Na webu Azure Portal proveďte následující kroky:
V nabídce vlevo vyberte Předplatná.
V seznamu odběrů vyberte předplatné , které chcete použít pro Event Grid.
Na stránce Předplatné vyberte v části Nastavení v nabídce vlevo možnost Poskytovatelé prostředků.
Vyhledejte Microsoft.EventGrid a ověřte, že stav není zaregistrovaný.
V seznamu zprostředkovatelů vyberte Microsoft.EventGrid .
Na panelu příkazů vyberte Zaregistrovat .
Aktualizujte, abyste měli jistotu , že je stav Microsoft.EventGrid změněn na Zaregistrovaný.
Vytvoření vlastního tématu
Téma Event Gridu poskytuje uživatelem definovaný koncový bod, do kterého publikujete události.
Přihlaste se na portál Azure.
Na panelu hledání v tématu zadejte Témata Event Gridu a v rozevíracím seznamu vyberte Témata Event Gridu.
Na stránce Témata event Gridu vyberte na panelu nástrojů možnost + Vytvořit.
Na stránce Vytvořit téma postupujte takto:
Vyberte své předplatné Azure.
Vyberte existující skupinu prostředků nebo vyberte Vytvořit novou a zadejte název skupiny prostředků.
Zadejte jedinečný název vlastního tématu. Název tématu musí být jedinečný, protože je reprezentován položkou DNS. Nepoužívejte název zobrazený na obrázku. Místo toho vytvořte vlastní název – musí mít délku 3–50 znaků a obsahovat pouze hodnoty a-z, A-Z, 0-9 a
-
.Vyberte umístění tématu Event Gridu.
Vyberte Zkontrolovat a vytvořit v dolní části stránky.
Na kartě Zkontrolovat a vytvořit na stránce Vytvořit téma vyberte Vytvořit.
Po úspěšném nasazení vyberte Přejít k prostředku a přejděte na stránku tématu Event Gridu pro vaše téma. Nechte tuto stránku otevřenou. Použijete ho později v rychlém startu.
Poznámka:
Pokud chcete rychlý start zachovat jednoduchý, budete k vytvoření tématu používat jenom stránku Základy . Podrobný postup konfigurace nastavení sítě, zabezpečení a rezidence dat na jiných stránkách průvodce najdete v tématu Vytvoření vlastního tématu.
Vytvoření koncového bodu zpráv
Před vytvořením odběru vlastního tématu vytvořte koncový bod pro zprávu události. Koncový bod obvykle provede 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.
Na stránce článku vyberte Nasadit do Azure a nasaďte řešení do vašeho předplatného. Na webu Azure Portal zadejte hodnoty pro parametry.
Na stránce Vlastní nasazení proveďte následující kroky:
V části Skupina prostředků vyberte existující skupinu prostředků nebo vytvořte skupinu prostředků.
Jako název webu zadejte název webové aplikace.
Jako název plánu hostování zadejte název plánu služby App Service, který se má použít k hostování webové aplikace.
Vyberte Zkontrolovat a vytvořit.
Na stránce Zkontrolovat a vytvořit vyberte Vytvořit.
Dokončení nasazení může trvat několik minut. Na portálu vyberte Výstrahy (ikona zvonku) a pak vyberte Přejít do skupiny prostředků.
Na stránce Skupina prostředků v seznamu prostředků vyberte webovou aplikaci (contosoegriviewer v následujícím příkladu), kterou jste vytvořili.
Na stránce služby App Service pro vaši webovou aplikaci vyberte adresu URL a přejděte na web. Adresa URL by měla být v tomto formátu:
https://<your-site-name>.azurewebsites.net
.Potvrďte, že se web zobrazuje, ale zatím se do něj nezveřejnily žádné události.
Přihlášení k odběru vlastního tématu
Přihlásíte se k odběru tématu Event Gridu, abyste službě Event Grid řekli, které události chcete sledovat a kam se mají události odesílat.
Teď na stránce Téma event Gridu pro vlastní téma vyberte na panelu nástrojů možnost + Odběr událostí.
Na stránce Vytvořit odběr události postupujte takto:
Zadejte název odběru události.
Jako typ koncového bodu vyberte WebHook.
Zvolte Vybrat koncový bod.
Jako koncový bod webhooku zadejte adresu URL vaší webové aplikace a do adresy URL domovské stránky přidejte
api/updates
. Zvolte Potvrdit výběr.Zpět na stránce Vytvořit odběr události vyberte Vytvořit.
Podívejte se na webovou aplikaci znovu a všimněte si, že do ní byla odeslána událost ověření odběru. Vyberte ikonu oka a rozbalte data události. Služba Event Grid odešle událost ověření, aby koncový bod mohl ověřit, že data události chce přijímat. Webová aplikace obsahuje kód pro ověření odběru.
Odeslání události do tématu
Nyní aktivujeme událost, abychom viděli, jak služba Event Grid distribuuje zprávu do vašeho koncového bodu. K odeslání testovací události do vlastního tématu použijte Azure CLI nebo PowerShell. Obvykle by aplikace nebo služba Azure odesílala data události.
V prvním příkladu se používá Azure CLI. Načte adresu URL a klíč vlastního tématu a data ukázkové události. Místo položky <topic name>
použijte název vlastního tématu. Vytvoří se ukázková data události. Element JSON data
je datová část vaší události. V tomto poli může být libovolný JSON ve správném formátu. Můžete také použít pole subject (předmět) pro pokročilé směrování a filtrování. CURL je nástroj, který odesílá požadavky HTTP.
Azure CLI
Na webu Azure Portal vyberte Cloud Shell. Cloud Shell se otevře v dolním podokně webového prohlížeče.
Pokud Cloud Shell otevře relaci PowerShellu, v levém horním rohu okna Cloud Shellu vyberte Přepnout na Bash . Pokud ne, pokračujte dalším krokem.
Spuštěním následujícího příkazu získejte koncový bod tématu: Po zkopírování a vložení příkazu před spuštěním příkazu aktualizujte název tématu a název skupiny prostředků. Do tohoto koncového bodu tématu publikujete ukázkové události.
endpoint=$(az eventgrid topic show --name <topic name> -g <resource group name> --query "endpoint" --output tsv)
Spuštěním následujícího příkazu získejte klíč pro vlastní téma: Po zkopírování a vložení příkazu aktualizujte název tématu a název skupiny prostředků před spuštěním příkazu. Je to primární klíč tématu Event Gridu. Pokud chcete tento klíč získat z webu Azure Portal, přejděte na kartu Přístupové klíče na stránce Téma event gridu. Abyste mohli publikovat událost do vlastního tématu, potřebujete přístupový klíč.
key=$(az eventgrid topic key list --name <topic name> -g <resource group name> --query "key1" --output tsv)
Zkopírujte následující příkaz s definicí události a stiskněte ENTER.
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"} ]'
Spuštěním následujícího příkazu Curl publikujte událost: V příkazu je hlavička nastavená na přístupový klíč,
aeg-sas-key
který jste získali dříve.curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Azure PowerShell
Druhý příklad používá k podobnému postupu PowerShell.
Na webu Azure Portal vyberte Cloud Shell (případně přejděte na
https://shell.azure.com/
). Cloud Shell se otevře v dolním podokně webového prohlížeče.V Cloud Shellu vyberte PowerShell v levém horním rohu okna Cloud Shellu. Podívejte se na ukázkový obrázek okna Cloud Shellu v části Azure CLI.
Nastavte následující proměnné. Po zkopírování a vložení každého příkazu aktualizujte název tématu a název skupiny prostředků před spuštěním příkazu:
Skupina prostředků:
$resourceGroupName = "<resource group name>"
Název tématu Event Gridu:
$topicName = "<topic name>"
Spuštěním následujících příkazů získejte koncový bod a klíče pro dané téma:
$endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
Připravte událost. Zkopírujte a spusťte příkazy v okně Cloud Shellu.
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct body using Hashtable $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert event body from Hashtable to JSON Object #Append square brackets to the converted JSON payload since they are expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"
K odeslání události použijte rutinu Invoke-WebRequest .
Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
Ověření v prohlížeči Event Gridu
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. Podívejte se na webovou aplikaci, abyste si zobrazili událost, kterou jste právě odeslali.
Vyčištění prostředků
Pokud chcete pokračovat v práci s touto událostí, nevyčišťujte prostředky vytvořené v rámci tohoto článku. V opačném případě odstraňte prostředky, které jste v rámci tohoto článku vytvořili.
V nabídce vlevo vyberte Skupiny prostředků. Pokud ji v nabídce vlevo nevidíte, vyberte v nabídce vlevo všechny služby a vyberte Skupiny prostředků.
Výběrem skupiny prostředků spusťte stránku Skupina prostředků.
Na panelu nástrojů vyberte Odstranit skupinu prostředků.
Potvrďte odstranění zadáním názvu skupiny prostředků a vyberte Odstranit.
Druhá skupina prostředků, kterou vidíte v imagi, byla vytvořena a používána oknem Cloud Shellu. Pokud nechcete později okno Cloud Shellu používat, odstraňte ho.
Související obsah
Když teď víte, jak vytvářet vlastní témata a odběry událostí, zjistěte, s čím vám služba Event Grid ještě může pomoct: