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 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.

  1. Ujistěte se, že máte Visual Studio 2019 nebo novější.

  2. Naklonujte si úložiště na místní počítač.

  3. Načtěte projekt HybridConnectionConsumer v sadě Visual Studio.

  4. 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.

  5. 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: