Sdílet prostřednictvím


Koncepty oboru názvů služby Azure Event Grid

Tento článek vás seznámí s hlavními koncepty a funkcemi přidruženými k tématům 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 často označujeme jako samostatnou událost, protože představuje samostatný fakt o systému, který poskytuje přehled, který může být použitelný. 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ů se také označuje jako "události" zpráv, které obsahují datový bod, jako je čtení jednoho zařízení nebo kliknutí na stránku webové aplikace. Tento druh události se obvykle analyzuje v časovém intervalu, aby odvozoval přehledy a podnikl nějakou akci. V dokumentaci služby Event Grid označujeme tento druh události jako datový bod, streamovaná data nebo jednoduše jako telemetrická data. Kromě jiných typů zpráv se tento druh událostí používá s funkcí zprostředkovatele Přenosu telemetrie služby Řízení front zpráv (MQTT) služby Event Grid.

Podpora CloudEvents

Témata oboru názvů Event Gridu přijímají události, které splňují standardní specifikaci CloudEvents 1.0 (CloudEvents 1.0) v souladu s otevřenou specifikací CLOUDEvents 1.0 pomocí vazby protokolu HTTP ve formátu JSON. CloudEvent je druh zprávy, která obsahuje to, co se komunikuje, označuje se jako data událostí a metadata o něm. 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ě, jako je její původ (zdrojový systém), jeho typ atd.

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. Události z vlastní aplikace můžete publikovat při použití témat oboru názvů.

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 oboru názvů jsou podporované zdroje událostí vašimi vlastními aplikacemi.

Obory názvů

Obor názvů Event Gridu je kontejner pro správu pro následující prostředky:

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

Pomocí oboru názvů Azure Event Grid můžete seskupit související prostředky a spravovat je jako jednu jednotku ve vašem předplatném Azure. Poskytuje jedinečný plně kvalifikovaný název domény (FQDN).

Obor názvů zveřejňuje dva koncové body:

  • Koncový bod HTTP pro podporu obecných požadavků na zasílání zpráv pomocí témat oboru názvů
  • Koncový bod MQTT pro zasílání zpráv Nebo řešení IoT, která používají MQTT.

Obor názvů také poskytuje koncové body sítě integrované pomocí 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í. Je to také kontejner spravovaných identit používaných pro obsažené prostředky v oboru názvů.

Tady je několik dalších bodů o oborech názvů:

  • Obor názvů je sledovaný prostředek s vlastnostmi tags a location po vytvoření ho najdete na resources.azure.comwebu .
  • Název oboru názvů může mít délku 3 až 50 znaků. Může obsahovat alfanumerické znaky a spojovník(-) a žádné mezery.
  • Název musí být jedinečný pro každou oblast.

Jednotky propustnosti

Jednotky propustnosti (TU) definují příchozí a výchozí kapacitu rychlosti událostí v oborech názvů. Další informace najdete v tématu Kvóty a omezení služby Azure Event Grid.

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 v oboru názvů se často označují jako témata oboru názvů.

Témata oboru názvů

Témata oboru názvů jsou témata vytvořená v rámci 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 musíte rozhodnout, kolik témat se má vytvořit. U relativně velkých řešení vytvořte téma oboru názvů pro každou kategorii souvisejících událostí. 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í. Pokud chcete oddělit obavy, vytvořte dvě témata 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í změn a doručování nabízených oznámení. Podívejte se, kdy použít doručování změn nebo nabízení, abyste se mohli rozhodnout, jestli je doručení přijetí změn správným přístupem vzhledem k vašim požadavkům.

Odběry událostí

Odběr události je prostředek konfigurace přidružený k jednomu tématu. Kromě jiného použijete odběr událostí k nastavení kritérií výběru události k definování kolekce událostí, která je k dispozici odběrateli z celkové sady událostí dostupných v tématu. Události můžete filtrovat podle požadavků odběratele. Události můžete například filtrovat podle jejich typu události. Kritéria filtru pro vlastnosti dat událostí můžete definovat také v případě, že jako hodnotu datové vlastnosti použijete objekt JSON. Další informace o vlastnostech prostředků najdete v rozhraní REST API služby Event Grid pro operace roviny řízení.

Diagram znázorňující téma a přidružená odběry událostí

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 tématu oboru názvů obsahují zjednodušený model prostředků ve srovnání s tématy o vlastních, doménách, partnerech a systémových tématech (Event Grid Basic). Další informace najdete v tématu Vytvoření, zobrazení a správa odběrů událostí.

Doručení vyžádané replikace

S doručováním změn se vaše aplikace připojí ke službě Event Grid ke čtení zpráv pomocí sémantiky podobné frontě. Vzhledem k tomu, že se aplikace připojují k Event Gridu za účelem využívání událostí, řídí se rychlostí spotřeby událostí a načasováním. 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í změn podporuje následující operace čtení zpráv a řízení stavu zpráv: příjem, potvrzení, uvolnění, odmítnutí a obnovení zámku. Další informace najdete v přehledu doručení změn.

Obrazec dat při příjmu událostí pomocí doručování změn

Při doručování událostí pomocí doručování změn zahrnuje Event Grid pole objektů, které zase zahrnují objekty event a brokerProperties . Hodnota vlastnosti události je CloudEvent doručená ve strukturovaném con režim stanu. Objekt brokerProperties obsahuje token zámku přidružený k doručené 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
                }
            }
        }
    ]
}

Doručování nabízených oznámení

Díky nabízenému doručování služba Event Grid odesílá události do cíle nakonfigurovaného v odběru událostí nabízených oznámení (v režimu doručení). Poskytuje robustní logiku opakování pro případ, že cíl nedokáž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í 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í nabízených oznámení a vyžádání změn

Event Grid podporuje doručování událostí nabízených oznámení a vyžádání pomocí protokolu HTTP. S doručováním nabízených oznámení definujete cíl v odběru událostí, webhooku nebo službě Azure, do které Event Grid odesílá události. S doručováním změn se aplikace odběratelů připojují ke službě Event Grid za účelem využívání událostí. Doručování změn je podporováno pro témata v oboru názvů Event Gridu.

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ů služby Event Grid podporovat všechny cíle, které jsou aktuálně dostupné v Event Gridu Basic, spolu s dalšími cíli.

Diagram vysoké úrovně znázorňující doručování nabízených oznámení a doručování změn s typem zahrnutých prostředků

Kdy použít nabízenou doručení vs. doručení změn

Níže jsou uvedené obecné pokyny, které vám pomůžou rozhodnout, kdy použít doručení vyžádané nebo nabízené replikace.

Doručení vyžádané replikace

  • K příjmu událostí potřebujete úplné řízení. 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 úplnou kontrolu nad spotřebou 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í změn umožňuje aplikaci příjemce uvolnit událost čtení zpět do zprostředkovatele, aby ji bylo možné doručit později.
  • Chcete použít privátní propojení při příjmu událostí, což je možné pouze s doručováním změn, nikoli doručováním nabízených oznámení.
  • Nemáte možnost zveřejnit koncový bod a používat nabízené doručování, ale ke službě Event Grid se můžete připojit, abyste mohli využívat události.

Doručování nabízených oznámení

  • Chcete se vyhnout konstantnímu dotazování, abyste zjistili, že došlo ke změně stavu systému. Event Grid používáte k odesílání událostí v době, kdy dojde ke změnám 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.