Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje hlavní koncepty a funkce spojené s tématy oboru názvů.
Události
Událost je nejmenší množství informací, které plně popisují něco, co se stalo v systému. Událost se často označuje jako samostatná událost, protože představuje samostatný fakt o systému, který poskytuje přehled o akci. Každá událost má běžné informace jako source událost, time událost se uskutečnila a jedinečný identifikátor. Každá událost má také jedinečný typeidentifikátor, který obvykle popisuje typ oznámení, pro které se událost používá.
Například událost související s vytvářením nového souboru v Azure Storage obsahuje podrobnosti o daném souboru, jako je hodnota lastTimeModified. Událost Event Hubs má adresu URL zachyceného souboru. Událost týkající se nové objednávky v mikroslužbě Orders může mít orderId atribut a atribut URL reprezentace stavu objednávky. Několik dalších příkladů typů událostí: com.yourcompany.Orders.OrderCreated, org.yourorg.GeneralLedger.AccountChanged, io.solutionname.Auth.MaximumNumberOfUserLoginAttemptsReached.
Tady je ukázková událost:
{
"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"
}
}
Další druh události
Komunita uživatelů také označuje zprávy, které obsahují datový bod, například čtení jednoho zařízení nebo kliknutí na stránku webové aplikace jako "události". Tento druh události obvykle analyzujete v průběhu časového intervalu, abyste mohli odvodit přehledy a provést akci. V dokumentaci ke službě Event Grid se tento druh události nazývá datový bod, streamovaná data nebo jednoduše telemetrie. Funkce zprostředkovatele MQTT v Event Gridu využívá tento typ události vedle dalších typů zpráv.
Podpora CloudEvents
Témata oboru názvů služby Event Grid přijímají události, které splňují specifikaci otevřeného standardu nadace Cloud Native Computing Foundation (CNCF) CloudEvents 1.0 pomocí vazby protokolu HTTP a formátu JSON. CloudEvent je druh zprávy, která obsahuje to, co je sdělováno, označované jako data události, a metadata o události. Data událostí v architekturách řízených událostmi obvykle obsahují informace o změnách stavu systému. Metadata CloudEvents se skládají ze sady atributů, které poskytují kontextové informace o zprávě, například odkud pochází (zdrojový systém) a jeho typ.
Další informace najdete v tématu Podpora schématu CloudEvents.
Vydavatelé
Vydavatel je aplikace, která odesílá události do Event Gridu. Může se jednat o stejnou aplikaci, ve které události pocházejí, zdroj události. Při použití témat v oboru názvů můžete publikovat události z vlastní aplikace.
Zdroje událostí
Zdrojem událostí je místo, kde k události dochází. Každý zdroj událostí podporuje jeden nebo více typů událostí. Vaše aplikace je například zdrojem událostí pro vlastní události, které váš systém definuje. Při použití témat v oboru názvů jsou podporovanými zdroji událostí vaše vlastní aplikace.
Obory názvů
Obor názvů Event Gridu je kontejnerem pro správu následujících prostředků:
| Prostředek | Podporovaný protokol |
|---|---|
| Témata oboru názvů | HTTP |
| Prostory témat | MQTT |
| Klienti | MQTT |
| Skupiny klientů | MQTT |
| Certifikáty certifikační autority | MQTT |
| Vazby oprávnění | MQTT |
Použitím jmenného prostoru Azure Event Grid můžete seskupit související zdroje a spravovat je jako jednu jednotku ve svém předplatném Azure. Poskytuje jedinečný plně kvalifikovaný název domény (FQDN).
Obor názvů zveřejňuje dva koncové body:
- HTTP endpoint pro podporu obecných požadavků na zprávy pomocí témat jmenného prostoru.
- Koncový bod MQTT pro zasílání zpráv Nebo řešení IoT, která používají MQTT.
Obor názvů také poskytuje síťové koncové body integrované s DNS. Poskytuje také řadu funkcí řízení přístupu a správy integrace sítě, jako jsou filtrování příchozího přenosu dat veřejných IP adres a privátní propojení. Slouží také jako kontejner spravovaných identit používaných pro prostředky v něm obsažené v rámci jmenného prostoru.
Zde je ještě několik bodů k oborům názvů:
- Jmenný prostor je sledovaný zdroj s vlastnostmi
tagsalocation. Poté, co ji vytvoříte, najdete ji naresources.azure.com. - Název oblasti názvů může být dlouhý 3 až 50 znaků. Může obsahovat alfanumerické znaky, pomlčky (-) a žádné mezery.
- Název musí být jedinečný pro každou oblast.
Jednotky propustnosti
Jednotky propustnosti (TU) definují kapacitu rychlosti příchozích a odchozích událostí v prostorech názvů. Další informace najdete v tématu Kvóty a omezení služby Azure Event Grid.
Automatické škálování
Autoscale automaticky upravuje počet jednotek propustnosti přiřazených jmennému prostoru Event Grid na základě provozu v reálném čase a využití zdrojů. Nepřetržitě monitoruje klíčové ukazatele výkonu a škáluje kapacitu v rámci minimálních a maximálních limitů, které nastavíte. Toto chování pomáhá udržovat konzistentní výkon během nárůstu pracovní zátěže a snižuje náklady během období s nízkou aktivitou bez nutnosti manuálního zásahu.
Pro použití Autoscale ho povolíte v jmenném prostoru a uvedete:
- Minimální průtokové jednotky: Minimální kapacita. Jmenný prostor se neškáluje pod tuto hodnotu.
- Maximální propustnost: Strop kapacity. Jmenný prostor se nad tuto hodnotu neškáluje.
Event Grid hodnotí využití napříč vstupem událostí, výstupem událostí, příchozími a odchozími publikačními rychlostmi MQTT a počtem registrovaných klientů MQTT. Pokud některá kategorie překročí práh pro rozšíření, jsou zřízeny další TU. Když všechny kategorie spadnou pod práh pro zmenšení škálování, jsou vydávány TU. Ochlazovací doby mezi škálovacími operacemi brání rychlému kmitání.
Automatické škálování se hodí pro úlohy MQTT, kde se rozesílání zpráv více odběratelům a nárůst počtu odběrů mohou rychle měnit s tím, jak se zařízení připojují a odpojují. Je také vhodný pro úlohy zprostředkovatele událostí s nárazovými špičkami provozu.
Podrobnosti o konfiguraci a limity kapacity na jednotku TU najdete v přehledu Autoscale a praktickém průvodci.
Témata
Téma obsahuje události publikované ve službě Event Grid. Prostředek tématu obvykle používáte pro kolekci souvisejících událostí. Témata uvnitř oboru názvů se často nazývají témata oboru názvů.
Témata oboru názvů
Témata oboru názvů jsou témata, která se vytvářejí v oboru názvů služby Event Grid. Aplikace publikuje události do koncového bodu oboru názvů HTTP určující téma oboru názvů, ve kterém jsou publikované události logicky obsaženy. Při návrhu aplikace rozhodněte, kolik témat se má vytvořit. Pro poměrně rozsáhlá řešení vytvořte pro každou kategorii souvisejících událostí téma v oboru názvů. Představte si například aplikaci, která spravuje uživatelské účty a jinou aplikaci týkající se objednávek zákazníků. Je nepravděpodobné, že všichni předplatitelé událostí chtějí události z obou aplikací. Pro oddělení jednotlivých oblastí odpovědnosti vytvořte dvě témata v oboru názvů: jedno pro každou aplikaci. Umožnit uživatelům událostí přihlásit se k odběru tématu podle jejich požadavků. U malých řešení můžete chtít posílat všechny události do jednoho tématu.
Témata oboru názvů podporují doručování vyžádáním a doručování oznámení. Podívejte se na to, kdy použít pull nebo push doručování, což vám pomůže rozhodnout, zda je pull doručování s ohledem na vaše požadavky správným přístupem.
Odběry událostí
Odběr události je prostředek konfigurace přidružený k jednomu tématu. Mimo jiné použijte předplatné akce k nastavení kritérií výběru akce, která definují sbírku akcí dostupných předplatiteli z celkového souboru dostupných událostí v daném tématu. Události můžete filtrovat podle požadavků odběratele. Události můžete například filtrovat podle jejich typu události. Filtrační kritéria pro vlastnosti dat události můžete také definovat, pokud použijete JSON objekt jako hodnotu pro danou vlastnost. Pro více informací o vlastnostech zdrojů viz dokumentaci Event Grid REST API .
Příklad vytváření odběrů témat oboru názvů najdete v tématu Publikování a používání zpráv pomocí témat oboru názvů pomocí rozhraní příkazového řádku.
Poznámka:
Odběry událostí v rámci tématu jmenného prostoru obsahují zjednodušený model zdrojů ve srovnání s modelem používaným pro vlastní, doménové, partnerské a systémové témata (Event Grid Basic). Další informace najdete v tématu Vytvoření, zobrazení a správa odběrů událostí.
Doručení na vyžádání
Při vyžádaném doručování se vaše aplikace připojuje ke službě Event Grid, aby četla zprávy se sémantikou podobnou frontě. Vzhledem k tomu, že se aplikace připojují ke službě Event Grid, aby mohly využívat události, řídí rychlost a načasování spotřeby událostí. Aplikace příjemců můžou také používat privátní koncové body při připojování ke službě Event Grid ke čtení událostí pomocí privátního prostoru IP adres.
Doručování vyžádáním podporuje následující operace pro čtení zpráv a řízení jejich stavu: přijetí, potvrzení, uvolnění, odmítnutí a obnovení zámku. Další informace najdete v přehledu doručování vyžádáním.
Struktura dat při přijímání událostí pomocí modelu pull
Když doručujete události pomocí doručování vyžádáním, Event Grid zahrnuje pole objektů, které dále obsahuje objekty událost a brokerProperties. Hodnota vlastnosti event je CloudEvent doručený v režimu strukturovaného obsahu. Objekt brokerProperties obsahuje token zámku přidružený k doručované službě CloudEvent. Následující objekt JSON je ukázková odpověď z operace příjmu , která vrací dvě události:
{
"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
}
}
}
]
}
Push doručování
Při doručování push služba Event Grid odesílá události do cíle nakonfigurovaného v odběru událostí (v režimu doručení). Poskytuje robustní logiku opakování pro případ, že cíl nemůže přijímat události.
Důležité
Doručování nabízených oznámení služby Event Grid v současné době podporuje službu Azure Event Hubs jako cíl. V budoucnu budou obory názvů Služby Event Grid podporovat více cílů, včetně všech cílů podporovaných službou Event Grid Basic.
Doručování událostí služby Event Hubs
Event Grid používá sadu Event Hubs SDK k odesílání událostí do služby Event Hubs pomocí AMQP. Události se odesílají jako bajtové pole s každým prvkem v poli obsahujícím CloudEvent.
Doručování push a pull
Event Grid podporuje doručování událostí modelem push i pull pomocí protokolu HTTP. Pomocí doručování push zadáte cíl v rámci odběru událostí, webhooku nebo ve službě Azure, kam Event Grid odesílá události. S pull doručováním se aplikace odběratelů připojují ke službě Event Grid, aby zpracovávaly události. Doručování vyžádáním je podporováno pro témata v oboru názvů Event Grid.
Důležité
Služba Event Hubs je podporovaná jako cíl pro odběry témat oboru názvů. V nadcházejících verzích budou obory názvů Event Gridu podporovat všechny cíle, které jsou aktuálně dostupné v základní verzi Event Gridu, spolu s dalšími cíli.
Kdy použít push doručování vs. pull doručování
Následující obecné pokyny vám pomohou rozhodnout, kdy použít replikaci typu pull nebo push.
Doručení na vyžádání
- Potřebujete mít plnou kontrolu nad tím, kdy budete události přijímat. Vaše aplikace například nemusí být neustále vzhůru, není dostatečně stabilní nebo zpracováváte data v určitých časech.
- Potřebujete mít plnou kontrolu nad zpracováním událostí. Například podřízená služba nebo vrstva ve vaší aplikaci příjemce má problém, který brání zpracování událostí. V takovém případě rozhraní API pro doručování metodou pull umožňuje aplikaci příjemce vrátit již přečtenou událost zpět brokeru, aby mohla být doručena později.
- Chcete při příjmu událostí použít privátní odkazy, což je možné pouze s doručováním typu pull, nikoli s doručováním typu push.
- Nemáte možnost vystavit koncový bod a používat doručování metodou push, ale můžete se připojit ke službě Event Grid a zpracovávat události.
Push doručování
- Chcete se vyhnout konstantnímu dotazování, abyste zjistili, že došlo ke změně stavu systému. Event Grid raději použijete k odesílání událostí, když dojde ke změně stavu.
- Máte aplikaci, která nemůže provádět odchozí volání. Vaše organizace se například může zabývat exfiltrací dat. Vaše aplikace ale může přijímat události prostřednictvím veřejného koncového bodu.
Související obsah
- Úvod do Event Gridu najdete v článku Informace o službě Event Grid.
- Pokud chcete začít s tématy oboru názvů, přečtěte si téma Publikování událostí pomocí témat oboru názvů.