Megosztás a következőn keresztül:


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

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

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