Kurz: Směrování vlastních událostí do hybridních připojení Azure Relay pomocí Azure CLI a Event Gridu
Azure Relay Hybrid Connections je jednou z podporovaných obslužných rutin událostí. Hybridní připojení použijete jako obslužnou rutinu události, když je potřeba zpracovat události z aplikací, které nemají veřejný koncový bod. Tyto aplikace se můžou nacházet ve vaší podnikové síti. V tomto článku vytvoříte pomocí Azure CLI vlastní téma, přihlásíte se k jeho odběru a aktivujete událost, abyste viděli výsledek. Události odešlete do hybridního připojení.
Poznámka:
Pokud s Azure Event Gridem teprve začínáte, přečtěte si , co je Azure Event Grid , abyste získali přehled o službě, než si projdete tímto kurzem.
Požadavky
- Tento článek předpokládá, že už máte hybridní připojení a aplikaci naslouchacího procesu. Pokud chcete začít používat hybridní připojení, přečtěte si téma Začínáme s Relay Hybrid Connections – .NET nebo Začínáme s Relay Hybrid Connections – Node.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento článek vyžaduje verzi 2.0.56 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
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 az group create.
Následující příklad vytvoří skupinu prostředků gridResourceGroup v umístění westus2.
az group create --name gridResourceGroup --location westus2
Vytvoření vlastního tématu
Téma Event Gridu poskytuje uživatelem definovaný koncový bod, do kterého publikujete události. Následující příklad vytvoří vlastní téma ve vaší skupině prostředků. Nahraďte <topic_name>
jedinečným názvem vlastního tématu. Název tématu Event Gridu musí být jedinečný, protože je reprezentován položkou DNS (Domain Name System).
az eventgrid topic create --name <topic_name> -l westus2 -g gridResourceGroup
Přihlášení k odběru vlastního tématu
Přihlásíte se k odběru tématu Event Gridu 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 vlastního tématu, které jste vytvořili, a předá ID prostředku hybridního připojení pro koncový bod. ID hybridního připojení je ve formátu:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Relay/namespaces/<relay-namespace>/hybridConnections/<hybrid-connection-name>
Následující skript načte ID prostředku oboru názvů přenosu. Vytvoří ID pro hybridní připojení a přihlásí se k odběru tématu Event Gridu. Skript nastaví typ koncového bodu na hybridconnection
a použije ID hybridního připojení pro daný koncový bod.
relaynsname=<namespace-name>
relayrg=<resource-group-for-relay>
hybridname=<hybrid-name>
relayid=$(az relay namespace show --resource-group $relayrg --name $relaynsname --query id --output tsv)
hybridid="$relayid/hybridConnections/$hybridname"
topicid=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name <event_subscription_name> \
--endpoint-type hybridconnection \
--endpoint $hybridid \
--expiration-date "<yyyy-mm-dd>"
Všimněte si, že je nastavené datum vypršení platnosti odběru.
Vytvoření aplikace pro zpracování událostí
Potřebujete aplikaci, která dokáže načítat události z hybridního připojení. Tuto operaci provádí ukázka příjemce hybridního připojení Microsoft Azure Event Grid pro jazyk C#. Už jste dokončili požadované kroky.
Ujistěte se, že máte Visual Studio 2019 nebo novější.
Naklonujte si úložiště na místní počítač.
Načtěte projekt HybridConnectionConsumer v sadě Visual Studio.
V souboru Program.cs nahraďte
<relayConnectionString>
a<hybridConnectionName>
připojovacím řetězcem předávání a názvem hybridního připojení, které jste vytvořili.V sadě Visual Studio zkompilujte a spusťte aplikaci.
Důležité
K ověřování v oboru názvů Služby Azure Relay používáme připojovací řetězec, aby byl kurz jednoduchý. V produkčních prostředích doporučujeme používat ověřování Microsoft Entra ID. Při použití aplikace můžete pro aplikaci povolit spravovanou identitu a přiřadit jí odpovídající roli (vlastník služby Azure Relay, naslouchací proces azure relay nebo odesílatel služby Azure Relay) v oboru názvů služby Relay. Další informace najdete v tématu Ověření spravované identity pomocí ID Microsoft Entra pro přístup k prostředkům Azure Relay.
Odeslání události do tématu
Teď aktivujeme událost, abychom viděli, jak služba Event Grid distribuuje zprávu do vašeho koncového bodu. Tento článek ukazuje, jak aktivovat událost pomocí Azure CLI. Alternativně můžete použít aplikaci vydavatele Event Grid.
Nejprve získáme adresu URL a klíč vlastního tématu. Znovu místo položky <topic_name>
použijte název vlastního tématu.
endpoint=$(az eventgrid topic show --name <topic_name> -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name <topic_name> -g gridResourceGroup --query "key1" --output tsv)
V zájmu zjednodušení tohoto článku použijte k odeslání do vlastního tématu ukázková data události. Obvykle by aplikace nebo služba Azure odesílala data události. CURL je nástroj, který odesílá požadavky HTTP. V tomto článku používáme nástroj CURL k odeslání události do vlastního tématu.
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"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Aplikace naslouchacího procesu by měla dostat zprávu o událostech.
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. Jinak pomocí následujícího příkazu odstraňte prostředky, které jste v rámci tohoto článku vytvořili.
az group delete --name gridResourceGroup
Další kroky
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: