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 směrování událostí pro cloud. Azure Functions je jedním z podporovaných obslužných rutin událostí.
V tomto rychlém startu pomocí webu Azure Portal vytvoříte vlastní téma, přihlásíte se k odběru vlastního tématu a aktivujete událost, aby se zobrazil výsledek. Události odešlete do funkce Azure.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Požadavky
- Visual Studio Code nainstalovaný na jedné z podporovaných platforem
- Rozšíření Azure Functions
Vytvoření funkce s triggerem Event Gridu pomocí editoru Visual Studio Code
V této části pomocí editoru Visual Studio Code vytvoříte funkci s triggerem Event Gridu.
Vytvoření funkce
Otevřete Visual Studio Code.
Na levém panelu vyberte Azure.
V levém podokně v části PRACOVNÍ PROSTOR vyberte na panelu příkazů Azure Functions . Pak vyberte Vytvořit funkci.
Vyberte složku, do které chcete kód funkce uložit.
Jako příkaz Vytvořit nový projekt vyberte jazykC#. Stiskněte klávesu Enter.
V případě modulu runtime .NET vyberte .NET 8.0 Isolated LTS a pak vyberte Enter.
Jako šablonu pro funkci vyberte spouštěč Azure Event Gridu. Stiskněte klávesu Enter.
Jako název funkce zadejte název funkce. Stiskněte klávesu Enter.
Pro Obor názvů zadejte název funkce. Stiskněte klávesu Enter.
Otevřete projekt v aktuálním okně nebo v novém okně nebo ho přidejte do pracovního prostoru.
Počkejte, až se funkce vytvoří. Stav vytvoření funkce se zobrazí v pravém dolním rohu.
Prohlédněte si kód v souboru YourFunctionName.cs , konkrétně metodu
Run
. Vytiskne informace pomocí protokolovacího nástroje.[Function(nameof(MyEventGridTriggerFunc))] public void Run([EventGridTrigger] CloudEvent cloudEvent) { _logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject); }
Nasazení funkce do Azure
Pokud podokno Azure ještě není otevřené, vyberte tlačítko Azure na levém panelu.
Najeďte myší na projekt a vyberte tlačítko Nasadit do Azure .
V rozevíracím seznamu palety příkazů vyberte + Vytvořit novou aplikaci funkcí a pak vyberte Enter.
Do pole Název zadejte globálně jedinečný název nové aplikace funkcí. Stiskněte klávesu Enter.
V případě zásobníku modulu runtime vyberte .NET 8 Isolated.
V části Umístění prostředků Azure vyberte oblast, která je blízko vás.
Stav vytvoření aplikace funkcí se zobrazí na kartě AZURE v dolním podokně. Po vytvoření aplikace funkcí se zobrazí stav nasazení funkce, kterou jste vytvořili místně do aplikace funkcí.
Po úspěšném nasazení rozbalte zprávu Vytvoření aplikace funkcí bylo úspěšné. Vyberte Kliknutím zobrazíte zdroj. Ověřte, že je vaše funkce vybrána v části PROSTŘEDKY v levém podokně.
Klikněte pravým tlačítkem na funkci a pak vyberte Otevřít na portálu.
V případě potřeby se přihlaste k Azure a ověřte, že se pro vaši funkci zobrazí stránka aplikace funkcí.
V dolním podokně vyberte funkci.
Přepněte na kartu Protokoly . Nechte tuto kartu otevřenou, abyste při odesílání události do tématu Event Gridu dále v tomto článku viděli protokolované zprávy.
Vytvoření vlastního tématu
Téma Event Gridu poskytuje uživatelem definovaný koncový bod, do kterého publikujete události.
Na nové kartě okna webového prohlížeče se přihlaste k webu Azure Portal.
Na panelu hledání v tématu vyhledejte témata Event Gridu a pak vyberte Témata Event Gridu.
Na stránce Témata vyberte na panelu příkazů + Vytvořit.
V podokně Vytvořit téma postupujte takto:
Jako předplatné vyberte své předplatné Azure.
V části Skupina prostředků vyberte stejnou skupinu prostředků z předchozích kroků.
Jako Název zadejte jedinečný název vlastního tématu. Název tématu musí být jedinečný, protože položka DNS (Domain Name System) ji představuje.
Nepoužívejte název zobrazený v ukázkovém obrázku. Místo toho vytvořte vlastní název. Musí mít 3–50 znaků a obsahovat pouze hodnoty a-z, A-Z, 0-9 a spojovník (
-
).V části Oblast vyberte umístění tématu Event Gridu.
Vyberte Zkontrolovat a vytvořit.
Na kartě Zkontrolovat a vytvořit zkontrolujte nastavení a pak vyberte Vytvořit.
Po vytvoření vlastního tématu vyberte Přejít k prostředku a otevřete stránku tématu Event Gridu pro dané téma.
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.
Na stránce Téma Event Gridu pro vlastní téma vyberte na panelu nástrojů možnost + Odběr událostí.
V podokně Vytvořit odběr událostí postupujte takto:
Jako Název zadejte název odběru události.
V případě schématu událostí vyberte Schéma cloudové události verze 1.0.
Jako typ koncového bodu vyberte funkci Azure Functions.
Vyberte Konfigurovat koncový bod.
V podokně Vybrat funkci Azure postupujte takto:
V části Předplatné vyberte předplatné Azure, které má funkci.
V části Skupina prostředků vyberte skupinu prostředků, která má funkci.
V případě aplikace funkcí vyberte svou aplikaci funkcí.
Jako funkci vyberte funkci v aplikaci funkcí.
Zvolte Potvrdit výběr.
Tento krok je volitelný, ale doporučujeme ho pro produkční scénáře. V podokně Vytvořit odběr událostí přejděte na kartu Další funkce a nastavte hodnoty maximálních událostí na dávku a upřednostňovanou velikost dávky v kilobajtech.
Dávkování vám může poskytnout vysokou propustnost. U maximálních událostí na dávku nastavte maximální počet událostí, které předplatné zahrnuje v dávce. Upřednostňovaná velikost dávky v kilobajtech nastaví upřednostňovanou horní mez velikosti dávky, ale dá se překročit, pokud je jedna událost větší než tato prahová hodnota.
V podokně Vytvořit odběr událostí vyberte Vytvořit.
Odeslání události do tématu
Teď aktivujte událost, abyste viděli, jak Event Grid distribuuje zprávu do koncového bodu. K odeslání testovací události do vlastního tématu použijte Azure CLI nebo Azure PowerShell. Aplikace nebo služba Azure obvykle odesílají data událostí.
První příklad používá Azure CLI. Získá adresu URL a klíč pro vlastní téma a ukázková data událostí. Místo položky topicname
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í.
Nástroj cURL odesílá požadavky HTTP. V tomto článku použijete cURL k odeslání události do vlastního tématu.
Azure CLI (příkazový řádek nástroje Azure)
Na webu Azure Portal vyberte Cloud Shell. Pokud jste v režimu Azure PowerShellu, vyberte Přepnout na Bash.
Nastavte proměnné
topicname
resourcegroupname
, které se používají v příkazech.Nahraďte
TOPICNAME
názvem tématu Event Gridu.topicname="TOPICNAME"
Nahraďte
RESOURCEGROUPNAME
názvem skupiny prostředků Azure, která obsahuje téma Event Gridu.resourcegroupname="RESOURCEGROUPNAME"
K získání koncového bodu tématu použijte následující příkaz. Po zkopírování a vložení příkazu před spuštěním aktualizujte název tématu a název skupiny prostředků.
endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --query "endpoint" --output tsv)
Pomocí následujícího příkazu získejte klíč pro vlastní téma. Po zkopírování a vložení příkazu před spuštěním aktualizujte název tématu a název skupiny prostředků.
key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --query "key1" --output tsv)
Zkopírujte následující příkaz s definicí události a pak vyberte 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:
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Ověřte, že se zpráva z funkce zobrazí na kartě Protokoly pro vaši funkci na webu Azure Portal.
Azure PowerShell
Druhý příklad používá Azure PowerShell k provedení podobných kroků.
Na webu Azure Portal vyberte Cloud Shell nebo přejděte na stránku Azure Cloud Shell. V levém horním rohu okna Cloud Shellu vyberte Přepnout na PowerShell.
Nastavte následující proměnné. Po zkopírování a vložení každého příkazu před spuštěním aktualizujte název tématu a název skupiny prostředků.
$resourceGroupName = "RESOURCEGROUPNAME"
$topicName = "TOPICNAME"
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 tyto příkazy v okně Cloud Shellu:
$eventID = Get-Random 99999 #Date format should be SortableDateTimePattern (ISO 8601) $eventDate = Get-Date -Format s #Construct the body by using a hash table $htbody = @{ id= $eventID eventType="recordInserted" subject="myapp/vehicles/motorcycles" eventTime= $eventDate data= @{ make="Ducati" model="Monster" } dataVersion="1.0" } #Use ConvertTo-Json to convert the event body from a hash table to a JSON object #Append square brackets to the converted JSON payload because they're expected in the event's JSON payload syntax $body = "["+(ConvertTo-Json $htbody)+"]"
Invoke-WebRequest
K odeslání události použijte rutinu:Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
Ověřte, že se zpráva z funkce zobrazí na kartě Protokoly pro vaši funkci na webu Azure Portal.
Ověřte, že funkce přijala událost.
Aktivovali jste událost a Event Grid odeslal zprávu do koncového bodu, který jste nakonfigurovali při přihlášení k odběru. Teď můžete zkontrolovat, jestli ji funkce přijala.
Otevřete kartu Vyvolání své funkce.
Pokud chcete zobrazit podrobnosti, vyberte vyvolání.
Můžete také použít kartu Protokoly .
Vyčištění prostředků
Pokud chcete pokračovat v práci s touto událostí, nevyčistíte prostředky, které jste vytvořili v tomto článku. Jinak odstraňte prostředky, které jste vytvořili v tomto článku.
Do vyhledávacího pole webu Azure Portal zadejte skupiny prostředků a pak vyberte Skupiny prostředků.
Výběrem skupiny prostředků otevřete podokno s podrobnostmi.
Na panelu nástrojů vyberte Odstranit skupinu prostředků.
Potvrďte odstranění zadáním názvu skupiny prostředků a pak vyberte Odstranit.
Okno Cloud Shellu se vytvořilo a použilo druhou skupinu prostředků, která se zobrazí na stránce Skupiny prostředků. Tuto skupinu prostředků odstraňte, pokud později neplánujete používat okno Cloud Shellu.
Související obsah
Když teď víte, jak vytvářet témata a odběry událostí, zjistěte, s čím vám služba Event Grid ještě může pomoct:
- Informace o službě Event Grid
- Směrování událostí služby Azure Blob Storage do vlastního webového koncového bodu
- Monitorování změn virtuálního počítače pomocí služeb Azure Event Grid a Logic Apps
- Streamování velkých objemů dat do datového skladu
Informace o publikování událostí do Event Gridu a jejich využívání pomocí různých programovacích jazyků najdete v následujících ukázkách: