Az Azure Event Grid-névtér fogalmai
Ez a cikk bemutatja a névtér témaköreihez kapcsolódó fő fogalmakat és funkciókat.
esemény
Az esemény a legkisebb mennyiségű információ, amely teljes mértékben leírja a rendszerben történteket. Gyakran különálló eseménynek nevezünk egy eseményt, mert az egy különálló, önazonos tényt jelent egy olyan rendszerről, amely egy végrehajtható megállapítást nyújt. Minden esemény közös információkkal rendelkezik, például source
az eseményről, time
az eseményről és egy egyedi azonosítóról. Minden esemény rendelkezik egy type
egyedi azonosítóval is, amely leírja, hogy milyen típusú bejelentéshez használják az eseményt.
Például az Azure Storage-ban létrehozott új fájlról szóló esemény a fájlról tartalmaz információkat, például a lastTimeModified
értéket. Egy Event Hubs-esemény a rögzített fájl URL-címével rendelkezik. Előfordulhat, hogy a Rendelések mikroszolgáltatásban egy új megrendeléssel kapcsolatos esemény rendelkezik egy orderId
attribútummal és egy URL-attribútummal a rendelés állapotának ábrázolásához. Néhány további példa az eseménytípusokra: com.yourcompany.Orders.OrderCreated
, org.yourorg.GeneralLedger.AccountChanged
, io.solutionname.Auth.MaximumNumberOfUserLoginAttemptsReached
.
Íme egy mintaesemény:
{
"specversion" : "1.0",
"type" : "com.yourcompany.order.created",
"source" : "/orders/account/123",
"subject" : "O-28964",
"id" : "A234-1234-1234",
"time" : "2018-04-05T17:31:00Z",
"comexampleextension1" : "value",
"comexampleothervalue" : 5,
"datacontenttype" : "application/json",
"data" : {
"orderId" : "O-28964",
"URL" : "https://com.yourcompany/orders/O-28964"
}
}
Egy másik típusú esemény
A felhasználói közösség "eseményeknek" is nevezik azokat az üzeneteket, amelyek adatpontot hordoznak, például egyetlen eszköz olvasását vagy egy weblapra való kattintást. Az ilyen típusú eseményeket általában egy időablakban elemzik, hogy megállapításokat nyerjenek és műveletet hajtanak végre. Az Event Grid dokumentációjában ezt az eseményt adatpontként, streamelési adatként vagy egyszerűen telemetriaként hivatkozunk. Más típusú üzenetek mellett ez az eseménytípus az Event Grid Message Queuing Telemetry Transport (MQTT) közvetítő funkciójával is használható.
A CloudEvents támogatása
Az Event Grid névtértémakörök olyan eseményeket fogadnak el, amelyek megfelelnek a Cloud Native Computing Foundation (CNCF) nyílt standard CloudEvents 1.0 specifikációjának jSON formátumú HTTP protokollkötéssel. A CloudEvent egyfajta üzenet, amely tartalmazza a kommunikációt, más néven eseményadatokat és metaadatokat. Az eseményvezérelt architektúrák eseményadatai általában a rendszerállapot változását bejelentő információkat hordoznak. A CloudEvents metaadatai olyan attribútumokból állnak, amelyek környezeti információkat nyújtanak az üzenetről, például a forrásrendszerről, annak típusáról stb.
További információ: CloudEvents-séma támogatása.
Kiadók
A közzétevő az az alkalmazás, amely eseményeket küld az Event Gridnek. Ez lehet ugyanaz az alkalmazás, ahol az események származnak, az esemény forrása. Névtértémakörök használata esetén saját alkalmazásból is közzétehet eseményeket.
Eseményforrások
Az esemény forrása az esemény. Minden eseményforrás egy vagy több eseménytípust támogat. Az alkalmazás például a rendszer által definiált egyéni események eseményforrása. Névtértémakörök használata esetén a támogatott eseményforrások saját alkalmazások.
Névterek
Az Event Grid-névtér a következő erőforrások felügyeleti tárolója:
Erőforrás | Protokoll támogatott |
---|---|
Névtértémakörök | HTTP |
Témakör szóközei | MQTT |
Ügyfelek | MQTT |
Ügyfélcsoportok | MQTT |
Hitelesítésszolgáltatói tanúsítványok | MQTT |
Engedélykötések | MQTT |
Az Azure Event Grid-névtérrel csoportosíthatja a kapcsolódó erőforrásokat, és egyetlen egységként kezelheti őket az Azure-előfizetésben. Egyedi, teljes tartománynevet (FQDN) biztosít.
A névtér két végpontot tesz elérhetővé:
- EGY HTTP-végpont, amely névtértémák használatával támogatja az általános üzenetkezelési követelményeket.
- MQTT-végpont IoT-üzenetküldéshez vagy MQTT-t használó megoldásokhoz.
A névtér DNS-integrált hálózati végpontokat is biztosít. Emellett számos hozzáférés-vezérlési és hálózati integrációkezelési funkciót is kínál, például a nyilvános IP-címek bejövő forgalmának szűrését és a privát kapcsolatokat. Ez a névtérben tárolt erőforrásokhoz használt felügyelt identitások tárolója is.
Íme néhány további pont a névterekről:
- A névtér egy nyomon követett erőforrás
tags
location
és tulajdonságok, és a létrehozás után a következő webhelyenresources.azure.com
található: . - A névtér neve 3–50 karakter hosszú lehet. Tartalmazhat alfanumerikus és kötőjelet(-), szóközök nélkül.
- A névnek régiónként egyedinek kell lennie.
Átviteli egységek
Az átviteli egységek (TU-k) határozzák meg a bejövő és kimenő eseménysebesség kapacitását a névterekben. További információ: Azure Event Grid-kvóták és korlátok.
Témakörök
A témakör az Event Gridben közzétett eseményeket tartalmazza. Általában egy témakörerőforrást használ a kapcsolódó események gyűjteményéhez. A névtéren belüli témaköröket gyakran névtértémaköröknek nevezzük.
Névtértémakörök
A névtértémakörök olyan témakörök, amelyek egy Event Grid-névtérben jönnek létre. Az alkalmazás egy HTTP-névtérvégponton teszi közzé az eseményeket, megadva egy névtértémakört, amelyben a közzétett események logikailag vannak tárolva. Az alkalmazás tervezésekor el kell döntenie, hogy hány témakört kell létrehoznia. Viszonylag nagy méretű megoldásokhoz hozzon létre egy névtér témakört a kapcsolódó események kategóriáihoz. Vegyük például azt az alkalmazást, amely a felhasználói fiókokat és egy másik alkalmazást kezel az ügyfélrendelésekkel kapcsolatban. Nem valószínű, hogy minden esemény-előfizető mindkét alkalmazásból szeretne eseményeket. A problémák elkülönítéséhez hozzon létre két névtértémát: egyet minden alkalmazáshoz. Az eseményfogyasztók a saját igényeiknek megfelelően iratkozzanak fel a témára. Kis megoldások esetén érdemes lehet az összes eseményt egyetlen témakörbe elküldeni.
A névtér témakörei támogatják a lekéréses kézbesítést és a leküldéses kézbesítést. Megtudhatja , mikor érdemes lekéréses vagy leküldéses kézbesítést használni annak eldöntéséhez, hogy a lekéréses kézbesítés a megfelelő megközelítés-e a követelményeknek megfelelően.
Esemény-előfizetések
Az esemény-előfizetés egy egyetlen témakörhöz társított konfigurációs erőforrás. Többek között egy esemény-előfizetés használatával állíthatja be az eseményválasztási feltételeket az előfizető számára elérhető eseménygyűjtemény meghatározásához a témakörben elérhető teljes eseménykészletből. Az eseményeket az előfizető igényei szerint szűrheti. Szűrheti például az eseményeket az eseménytípusuk alapján. Ha JSON-objektumot használ az adattulajdonság értékeként, az eseményadatok tulajdonságaira vonatkozó szűrési feltételeket is meghatározhat. Az erőforrástulajdonságokról további információt az Event Grid REST API vezérlősík-műveleteiben talál.
Ha például névtértémakörökhöz szeretne előfizetéseket létrehozni, tekintse meg az üzenetek közzétételével és felhasználásával kapcsolatos témaköröket a parancssori felület használatával.
Feljegyzés
A névtér témakörében szereplő esemény-előfizetések egyszerűsített erőforrásmodellt használnak az egyéni, tartomány-, partner- és rendszertémákhoz (Event Grid Basic) használthoz képest. További információ: Esemény-előfizetések létrehozása, megtekintése és kezelése.
Lekéréses kézbesítés
A lekéréses kézbesítéssel az alkalmazás az Event Gridhez csatlakozva üzenetsorszerű szemantikával olvassa az üzeneteket. Amikor az alkalmazások az Event Gridhez csatlakoznak az események felhasználásához, ők irányítják az eseményhasználati arányt és annak időzítését. A fogyasztói alkalmazások privát végpontokat is használhatnak az Event Gridhez való csatlakozáskor, hogy privát IP-címtér használatával olvassák az eseményeket.
A lekéréses kézbesítés az alábbi műveleteket támogatja az üzenetek olvasásához és az üzenetállapot szabályozásához: fogadás, nyugtázás, kiadás, elutasítás és megújítási zárolás. További információkért tekintse meg a lekéréses kézbesítés áttekintését.
Adatalakzat események fogadása lekéréses kézbesítéssel
Amikor lekéréses kézbesítéssel kézbesít eseményeket, az Event Grid egy objektumtömböt tartalmaz, amely magában foglalja az eseményt és a brokerProperties objektumokat. Az eseménytulajdonság értéke a strukturált con sátormód-ben kézbesített CloudEvent. A brokerProperties objektum tartalmazza a kézbesített CloudEventhez társított zárolási jogkivonatot. A következő json-objektum egy fogadási művelet mintaválasza, amely két eseményt ad vissza:
{
"value": [
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDXYS23Z+5Hq754VqQjxywE",
"deliveryCount": 2
},
"event": {
"specversion": "1.0",
"id": "A234-1234-1235",
"source": "/mycontext",
"time": "2018-04-05T17:31:00Z",
"type": "com.example.someeventtype",
"data": "some data"
}
},
{
"brokerProperties": {
"lockToken": "CiYKJDUwNjE4QTFFLUNDODQtNDZBQy1BN0Y4LUE5QkE3NjEwNzQxMxISChDLeaL+nRJLNq3/5NXd/T0b",
"deliveryCount": 1
},
"event": {
"specversion": "1.0",
"id": "B688-1234-1235",
"source": "/mycontext",
"type": "com.example.someeventtype",
"time": "2018-04-05T17:31:00Z",
"data": {
"somekey" : "value",
"someOtherKey" : 9
}
}
}
]
}
Leküldéses kézbesítés
A leküldéses kézbesítéssel az Event Grid eseményeket küld egy leküldéses (kézbesítési) esemény-előfizetésben konfigurált célhelyre. Robusztus újrapróbálkozást biztosít arra az esetre, ha a cél nem tud eseményeket fogadni.
Fontos
Az Event Grid-névterek leküldéses kézbesítése jelenleg az Azure Event Hubsot támogatja célként. A jövőben az Event Grid-névterek több célhelyet is támogatnak, beleértve az Event Grid Basic által támogatott összes célhelyet is.
Event Hubs eseménykézbesítés
Az Event Grid az Event Hubs SDK használatával küld eseményeket az Event Hubsnak az AMQP használatával. Az események bájttömbként lesznek elküldve a CloudEventet tartalmazó tömb minden elemével.
Leküldéses és lekéréses kézbesítés
Az Event Grid http használatával támogatja a leküldéses és lekéréses eseménykézbesítést. A leküldéses kézbesítéssel meghatározhat egy célhelyet egy esemény-előfizetésben, egy webhookban vagy egy Azure-szolgáltatásban, amelyre az Event Grid eseményeket küld. A lekéréses kézbesítéssel az előfizető alkalmazások az Event Gridhez csatlakoznak az események felhasználásához. A lekéréses kézbesítés az Event Grid-névtér témaköreiben támogatott.
Fontos
Az Event Hubs a névtértémakörökre vonatkozó előfizetések célhelyeként támogatott. A következő kiadásokban az Event Grid-névterek támogatják az Event Grid Basicben jelenleg elérhető összes célhelyet, valamint további célhelyeket is.
Mikor érdemes leküldéses kézbesítést és lekéréses kézbesítést használni?
Az alábbi általános irányelvek segítenek eldönteni, hogy mikor érdemes lekéréses vagy leküldéses kézbesítést használni.
Lekéréses kézbesítés
- Az események fogadásának időpontjával kapcsolatos teljes körű ellenőrzésre van szüksége. Előfordulhat például, hogy az alkalmazás nem áll naprakészen, nem elég stabil, vagy bizonyos időpontokban dolgoz fel adatokat.
- Teljes körűen szabályoznia kell az eseményhasználatot. A fogyasztói alkalmazásban például egy downstream szolgáltatás vagy réteg olyan problémával rendelkezik, amely megakadályozza az események feldolgozását. Ebben az esetben a lekéréses kézbesítési API lehetővé teszi a fogyasztói alkalmazás számára, hogy kiadjon egy már olvasható eseményt a közvetítőnek, hogy később kézbesíthető legyen.
- Privát hivatkozásokat szeretne használni az események fogadásakor, ami csak a lekéréses kézbesítéssel lehetséges, nem pedig a leküldéses kézbesítéssel.
- Nem tehet közzé végpontot, és nem használhat leküldéses kézbesítést, de az események felhasználásához csatlakozhat az Event Gridhez.
Leküldéses kézbesítés
- El szeretné kerülni az állandó lekérdezést annak megállapításához, hogy rendszerállapot-változás történt-e. Az Event Grid használatával inkább eseményeket küldhet Önnek az állapotváltozások idején.
- Van egy olyan alkalmazása, amely nem tud kimenő hívásokat kezdeményezni. Előfordulhat például, hogy a szervezet aggódik az adatok kiszivárgása miatt. Az alkalmazás azonban nyilvános végponton keresztül fogadhatja az eseményeket.
Következő lépések
- Az Event Grid ismertetése: Az Event Grid bemutatása.
- A névtértémakörök használatának megkezdéséhez tekintse meg az események névtértémakörökkel való közzétételét.