Témakörök kezelése és események közzététele eseménytartományok használatával
Ez a cikk a következő lépéseket ismerteti:
- Event Grid-tartomány létrehozása
- Feliratkozás az Event Grid-témakörökre
- Listakulcsok
- Események közzététele tartományon
Az eseménytartományokról az Event Grid-témakörök kezelésével kapcsolatos eseménytartományok ismertetése című témakörben olvashat.
Eseménytartomány létrehozása
Nagy témakörkészletek kezeléséhez hozzon létre egy eseménytartományt.
az eventgrid domain create \
-g <my-resource-group> \
--name <my-domain-name> \
-l <location>
A sikeres létrehozás a következő értékeket adja vissza:
{
"endpoint": "https://<my-domain-name>.westus2-1.eventgrid.azure.net/api/events",
"id": "/subscriptions/<sub-id>/resourceGroups/<my-resource-group>/providers/Microsoft.EventGrid/domains/<my-domain-name>",
"inputSchema": "EventGridSchema",
"inputSchemaMapping": null,
"location": "westus2",
"name": "<my-domain-name>",
"provisioningState": "Succeeded",
"resourceGroup": "<my-resource-group>",
"tags": null,
"type": "Microsoft.EventGrid/domains"
}
Figyelje meg a endpoint
tartomány kezeléséhez és id
az események közzétételéhez szükséges és szükséges adatokat.
Témakörökhöz való hozzáférés kezelése
A témakörökhöz való hozzáférés kezelése szerepkör-hozzárendeléssel történik. A szerepkör-hozzárendelés azure-beli szerepköralapú hozzáférés-vezérléssel korlátozza az Azure-erőforrások műveleteit egy adott hatókörben jogosult felhasználók számára.
Az Event Grid két beépített szerepkörrel rendelkezik, amelyekkel bizonyos felhasználók hozzáférését rendelheti hozzá egy tartomány különböző témaköreihez. Ezek a szerepkörök EventGrid EventSubscription Contributor (Preview)
lehetővé teszik az előfizetések létrehozását és törlését, és EventGrid EventSubscription Reader (Preview)
amelyek csak az esemény-előfizetések felsorolását teszik lehetővé.
Az alábbi Azure CLI-parancskorlátok csak a témakör demotopic1
esemény-előfizetéseinek létrehozására és törlésére vonatkoznakalice@contoso.com
:
az role assignment create \
--assignee alice@contoso.com \
--role "EventGrid EventSubscription Contributor (Preview)" \
--scope /subscriptions/<sub-id>/resourceGroups/<my-resource-group>/providers/Microsoft.EventGrid/domains/<my-domain-name>/topics/demotopic1
Az Event Grid-műveletekhez való hozzáférés kezelésével kapcsolatos további információkért tekintse meg az Event Grid biztonságát és hitelesítését ismertető témakört.
Témakörök és előfizetések létrehozása
Az Event Grid szolgáltatás automatikusan létrehozza és kezeli a megfelelő témakört egy tartományban a tartományi témakör esemény-előfizetésének létrehozására irányuló hívás alapján. Nincs külön lépés a témakör tartományon belüli létrehozásához. Hasonlóképpen, ha egy témakör utolsó esemény-előfizetését is törlik, a témakör is törlődik.
A tartomány egy témakörére való feliratkozás ugyanaz, mint bármely más Azure-erőforrásra való feliratkozás. A forráserőforrás-azonosítóhoz adja meg a tartomány korábbi létrehozásakor visszaadott eseménytartomány-azonosítót. A feliratkozni kívánt témakör megadásához adja hozzá /topics/<my-topic>
a forráserőforrás-azonosító végéhez. Ha olyan tartomány hatókörű esemény-előfizetést szeretne létrehozni, amely a tartomány összes eseményét fogadja, adja meg az eseménytartomány azonosítóját témakörök megadása nélkül.
Az előző szakaszban megadott felhasználó általában létrehozza az előfizetést. A cikk egyszerűsítése érdekében létre kell hoznia az előfizetést.
az eventgrid event-subscription create \
--name <event-subscription> \
--source-resource-id "/subscriptions/<sub-id>/resourceGroups/<my-resource-group>/providers/Microsoft.EventGrid/domains/<my-domain-name>/topics/demotopic1" \
--endpoint https://contoso.azurewebsites.net/api/updates
Ha az események előfizetéséhez tesztvégpontra van szüksége, mindig üzembe helyezhet egy előre összeállított webalkalmazást , amely megjeleníti a bejövő eseményeket. Az eseményeket elküldheti a tesztweboldalára: https://<your-site-name>.azurewebsites.net/api/updates
.
A témakörhöz beállított engedélyek a Microsoft Entra-azonosítóban vannak tárolva, és explicit módon kell törölni őket. Az esemény-előfizetések törlése nem vonja vissza a felhasználók hozzáférését az esemény-előfizetések létrehozásához, ha egy témakörhöz írnak hozzáférést.
Események közzététele Event Grid-tartományban
Az események tartományon való közzététele megegyezik az egyéni témakörökben való közzétételsel. Az egyéni témakörbe való közzététel helyett azonban az összes eseményt közzé kell tennie a tartományvégponton. A JSON-eseményadatokban meg kell adnia azt a témakört, ahová az eseményeket el szeretné menni. A következő eseménytömb azt eredményezné, hogy az eseményt "id": "1111"
a témakörbe demotopic1
, míg az eseményt "id": "2222"
a témakörbe demotopic2
küldi:
[{
"topic": "demotopic1",
"id": "1111",
"eventType": "maintenanceRequested",
"subject": "myapp/vehicles/diggers",
"eventTime": "2018-10-30T21:03:07+00:00",
"data": {
"make": "Contoso",
"model": "Small Digger"
},
"dataVersion": "1.0"
},
{
"topic": "demotopic2",
"id": "2222",
"eventType": "maintenanceCompleted",
"subject": "myapp/vehicles/tractors",
"eventTime": "2018-10-30T21:04:12+00:00",
"data": {
"make": "Contoso",
"model": "Big Tractor"
},
"dataVersion": "1.0"
}]
A tartományvégpont azure CLI-vel való lekéréséhez használja a
az eventgrid domain show \
-g <my-resource-group> \
-n <my-domain>
Tartomány kulcsainak lekéréséhez használja a következőt:
az eventgrid domain key list \
-g <my-resource-group> \
-n <my-domain>
Ezután használja a kedvenc HTTP POST metódusát az események Event Grid-tartományában való közzétételéhez.
Feljegyzés
A programozási nyelvi SDK-kkal eseményt event Grid-tartományon való közzétételre használó minták esetében használja az alábbi hivatkozásokat:
Témakörök vagy előfizetések listájának keresése
Számos témakör vagy előfizetés kereséséhez és kezeléséhez az Event Grid API-k támogatják a listázást és a lapozást.
A parancssori felület használata
Az alábbi parancs például felsorolja az összes olyan témakört, amelynek a neve tartalmazza mytopic
.
az eventgrid topic list --odata-query "contains(name, 'mytopic')"
A parancsról további információt a következő témakörben talál az eventgrid topic list
: .
Következő lépések
- Az Eseménytartományok magas szintű fogalmaival és azok hasznosságával kapcsolatos további információkért tekintse meg az eseménytartományok fogalmi áttekintését.