Oktatóanyag: Egyéni események átirányítása hibrid Azure Relay-kapcsolatokhoz az Azure CLI és az Event Grid használatával
A hibrid Azure Relay-kapcsolat az egyik támogatott eseménykezelő. A hibrid kapcsolatok eseménykezelőként való használatára akkor lehet szükség, ha olyan alkalmazásokból kell eseményeket kezelnie, amelyek nem rendelkeznek nyilvános végponttal. A vállalati hálózaton belül is lehetnek ilyen alkalmazások. Ebben a cikkben létrehozunk egy egyéni témakört az Azure CLI-vel, feliratkozunk az egyéni témakörre, majd elindítjuk az eseményt az eredmény megtekintéséhez. Az eseményeket hibrid kapcsolatokba küldjük.
Feljegyzés
Ha még nem ismerkedik az Azure Event Gridszel, tekintse meg az Azure Event Gridet , amely áttekintést nyújt a szolgáltatásról, mielőtt végigvezeti az oktatóanyagon.
Előfeltételek
- Ez a cikk feltételezi, hogy már rendelkezik egy hibrid kapcsolattal és egy figyelőalkalmazással. A hibrid kapcsolatok használatbavételéhez tekintse át a Bevezetés a hibrid Relay-kapcsolatok használatába – .NET vagy a Bevezetés a hibrid Relay-kapcsolatok használatába – Node című témakört.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.0.56-os vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Erőforráscsoport létrehozása
Az Event Grid-témakörök Azure-erőforrások, amelyeket egy Azure-erőforráscsoportba kell helyezni. Az erőforráscsoport egy olyan logikai gyűjtemény, amelyben a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.
Hozzon létre egy erőforráscsoportot az az group create paranccsal.
A következő példában létrehozunk egy gridResourceGroup nevű erőforráscsoportot a westus2 helyen.
az group create --name gridResourceGroup --location westus2
Egyéni témakör létrehozása
Az Event Grid-témakör egy felhasználó által definiált végpontot biztosít, amelybe az eseményeket közzéteheti. Az alábbi példa az erőforráscsoportban létrehozza az egyéni témakört. A <topic_name>
elemet cserélje le az egyéni témakör egyedi nevére. Az Event Grid-témakör nevének egyedinek kell lennie, mert egy DNS-bejegyzés jelöli.
az eventgrid topic create --name <topic_name> -l westus2 -g gridResourceGroup
Feliratkozás egyéni témakörre
Előfizethet egy Event Grid-témakörre, hogy elmondja az Event Gridnek, hogy mely eseményeket szeretné nyomon követni. Az alábbi példa feliratkozik a létrehozott egyéni témakörre, és átadja a végpont hibrid kapcsolatának erőforrás-azonosítóját. A hibrid kapcsolat azonosítója a következő formátumot követi:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Relay/namespaces/<relay-namespace>/hybridConnections/<hybrid-connection-name>
Az alábbi szkript lekéri a Relay-névtér erőforrás-azonosítóját. A hibrid kapcsolat azonosítóját hozza létre, és előfizet egy Event Grid-témakörre. A szkript a végpontot hybridconnection
típusúra állítja be, és a hibrid kapcsolat azonosítóját használja végpontként.
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>"
Vegye figyelembe, hogy az előfizetéshez lejárati dátum tartozik.
Alkalmazás létrehozása események feldolgozásához
Olyan alkalmazásra van szüksége, amely eseményeket tud lekérni a hibrid kapcsolatból. Ezt a műveletet a Microsoft Azure Event Grid hibrid kapcsolat C# fogyasztói mintája hajtja végre. Már befejezte az előfeltételként felsorolt lépéseket.
Győződjön meg arról, hogy a Visual Studio 2019-et vagy újabb verziót használja.
Klónozza az adattárat a helyi gépre.
Töltse be a HybridConnectionConsumer projektet a Visual Studióban.
A Program.cs fájlban cserélje le a
<relayConnectionString>
és<hybridConnectionName>
elemeket a továbbítási kapcsolat sztringjére és a létrehozott hibrid kapcsolatra.Fordítsa és futtassa az alkalmazást a Visual Studióból.
Fontos
A kapcsolati sztring használatával hitelesítjük az Azure Relay névterét az oktatóanyag egyszerűségéhez. Javasoljuk, hogy éles környezetben használja a Microsoft Entra ID-hitelesítést. Alkalmazás használatakor engedélyezheti az alkalmazás felügyelt identitását, és hozzárendelheti az identitást egy megfelelő szerepkörhöz (Azure Relay-tulajdonos, Azure Relay-figyelő vagy Azure Relay-küldő) a Relay névtérben. További információ: Felügyelt identitás hitelesítése a Microsoft Entra-azonosítóval az Azure Relay-erőforrások eléréséhez.
Esemény elküldése a témakörbe
Aktiváljunk egy eseményt, és lássuk, hogyan küldi el az üzenetet az Event Grid a végpontnak. Ez a cikk bemutatja, hogyan aktiválhatja az eseményt az Azure CLI használatával. Használhatja az Event Grid közzétételi alkalmazást is.
Először szükségünk lesz az egyéni témakör URL-címére és kulcsára. A <topic_name>
helyett használja ismét az egyéni témakör nevét.
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)
A folyamat leegyszerűsítése érdekében használjon mintául szolgáló eseményadatokat, amelyeket elküldhet az egyéni témakörbe. Egy alkalmazás vagy Azure-szolgáltatás általában eseményadatokat küld el. A CURL egy olyan segédprogram, amely HTTP-kéréseket küld. Ebben a cikkben a CURL használatával küldjük el az eseményt az egyéni témakörbe.
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
A figyelőalkalmazásnak meg kell kapnia az eseményüzenetet.
Az erőforrások eltávolítása
Ha tovább kívánja használni az eseményt, akkor ne törölje a cikkben létrehozott erőforrásokat. Ellenkező esetben a következő paranccsal törölheti a cikkben létrehozott erőforrásokat.
az group delete --name gridResourceGroup
Következő lépések
Most, hogy megismerkedett vele, hogyan hozhat létre témaköröket és eseményfeliratkozásokat, bővebben is tájékozódhat arról, hogy miben nyújthat segítséget az Event Grid: