Események rögzítése az Azure Event Hubson keresztül az Azure Blob Storage-ban vagy az Azure Data Lake Storage-ban

Az Azure Event Hubs lehetővé teszi a streamelési adatok automatikus rögzítését az Event Hubsban egy Ön által választott Azure Blob Storage - vagy Azure Data Lake Storage Gen 1- vagy Gen 2-fiókban , az idő- vagy méretintervallumok megadásával. A Capture gyors beállítása nem jár adminisztrációs költségekkel, és automatikusan skálázható az Event Hubs átviteli egységeivel a standard szinten vagy a prémium szintű feldolgozási egységekben. Az Event Hubs Capture a streamelési adatok Azure-ba való betöltésének legegyszerűbb módja, és lehetővé teszi, hogy az adatfeldolgozásra összpontosítson az adatrögzítés helyett.

Az Event Hubs-adatok Azure Storage-ba vagy Azure Data Lake Storage-ba történő rögzítését bemutató kép

Feljegyzés

Az Event Hubs Capture konfigurálása az Azure Data Lake Storage Gen 2 használatára ugyanaz, mint az Azure Blob Storage használatára való konfigurálása. További részletekért tekintse meg az Event Hubs Capture konfigurálása című témakört.

Az Event Hubs Capture lehetővé teszi a valós idejű és kötegelt folyamatok feldolgozását ugyanazon a streamen. Ez azt jelenti, hogy olyan megoldásokat hozhat létre, amelyek idővel az igényeinek megfelelően növekednek. Akár kötegelt alapú rendszereket készít ma a jövőbeli valós idejű feldolgozás szemével, akár egy meglévő valós idejű megoldáshoz szeretne hatékony hideg utat adni, az Event Hubs Capture megkönnyíti a streamelési adatok használatát.

Fontos

  • Ha nem használ felügyelt identitást hitelesítéshez, a céltárfióknak (Azure Storage vagy Azure Data Lake Storage) ugyanabban az előfizetésben kell lennie, mint az eseményközpont.
  • Az Event Hubs nem támogatja az események rögzítését egy prémium szintű tárfiókban.
  • Az Event Hubs capture támogatja a nem prémium szintű Azure Storage-fiókokat a blokkblobok támogatásával.

Az Event Hubs Capture működése

Az Event Hubs az elosztott naplókhoz hasonlóan a telemetriai bejövő telemetria-bejövő adatok időmegőrzési tartós puffere. Az Event Hubsban a skálázás kulcsa a particionált fogyasztói modell. Az egyes partíciók az adatok független szegmensei, és egymástól függetlenül lesznek felhasználva. Idővel ezek az adatok a konfigurálható megőrzési idő alapján elavadnak. Ennek eredményeképpen egy adott eseményközpont soha nem lesz "túl megtelt".

Az Event Hubs Capture lehetővé teszi saját Azure Blob Storage-fiók és -tároló vagy Azure Data Lake Storage-fiók megadását, amelyek a rögzített adatok tárolására szolgálnak. Ezek a fiókok ugyanabban a régióban lehetnek, mint az eseményközpont vagy egy másik régió, ami az Event Hubs Capture funkció rugalmasságát teszi lehetővé.

A rögzített adatok Apache Avro formátumban íródtak: kompakt, gyors bináris formátum, amely részletes adatstruktúrákat és beágyazott sémákat biztosít. Ezt a formátumot széles körben használják a Hadoop-ökoszisztémában, a Stream Analyticsben és az Azure Data Factoryben. Az Avro használatával kapcsolatos további információk a cikk későbbi részében érhetők el.

Feljegyzés

Ha nem használ kódszerkesztőt az Azure Portalon, akkor parquet formátumban rögzítheti a streamelési adatokat az Event Hubsban egy Azure Data Lake Storage Gen2-fiókban. További információ : Az Event Hubs adatainak rögzítése Parquet formátumban és oktatóanyag: Event Hubs-adatok rögzítése Parquet formátumban és elemzés az Azure Synapse Analytics használatával.

Ablakos rögzítés

Az Event Hubs Capture lehetővé teszi egy ablak beállítását a rögzítés vezérléséhez. Ez az ablak egy minimális méret- és időkonfiguráció az "első nyerési szabályzattal", ami azt jelenti, hogy az első eseményindító egy rögzítési műveletet okoz. Ha tizenöt perces, 100 MB-os rögzítési ablaka van, és másodpercenként 1 MB-ot küld, a méretablak az időablak előtt aktiválódik. Minden partíció egymástól függetlenül rögzíti a blokkblobokat, és a rögzítés időpontjában egy befejezett blokkblobot ír, amelyet a rögzítési időköz időpontjának neveznek el. A tárolási elnevezési konvenció a következő:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

A dátumértékek nullákkal vannak kipárnázva; példafájlnév lehet:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

Ha az Azure Storage-blob átmenetileg nem érhető el, az Event Hubs Capture megőrzi az adatokat az eseményközpontban konfigurált adatmegőrzési időszakra, és a tárfiók újbóli rendelkezésre állása után vissza fogja tölteni az adatokat.

Átviteli sebességegységek vagy feldolgozási egységek skálázása

Az Event Hubs standard szintjén a forgalmat átviteli egységek vezérlik, a prémium szintű Event Hubsban pedig feldolgozási egységek vezérlik. Az Event Hubs Capture közvetlenül a belső Event Hubs-tárolóból másolja az adatokat, megkerüli az átviteli egységeket vagy a feldolgozási egységek kimenő kvótáit, és menti a kimenő forgalmat más feldolgozó olvasók, például a Stream Analytics vagy a Spark számára.

A konfigurálás után az Event Hubs Capture automatikusan elindul az első esemény elküldésekor, és továbbra is fut. Annak érdekében, hogy az alsóbb rétegbeli feldolgozás könnyebben tudja, hogy a folyamat működik, az Event Hubs üres fájlokat ír, ha nincs adat. Ez a folyamat kiszámítható ütemet és jelölőt biztosít, amely képes táplálni a kötegelt processzorokat.

Az Event Hubs Capture beállítása

Az eseményközpont létrehozási ideje alatt konfigurálhatja a Capture szolgáltatást az Azure Portalon vagy az Azure Resource Manager-sablonok használatával. További információért tekintse át az alábbi cikkeket:

Feljegyzés

Ha engedélyezi a Rögzítés funkciót egy meglévő eseményközponthoz, a funkció rögzíti azokat az eseményeket, amelyek a funkció bekapcsolása után érkeznek az eseményközpontba. Nem rögzíti az eseményközpontban a funkció bekapcsolása előtt létező eseményeket.

Az Event Hubs Capture díja

A rögzítési funkció a prémium szint részét képezi, ezért az adott szintért nincs további díj. A Standard szint esetében a szolgáltatás havi díjat számít fel, és a díj közvetlenül arányos a névtérhez vásárolt átviteli egységek vagy feldolgozási egységek számával. Mivel az átviteli egységek vagy a feldolgozási egységek száma növekszik és csökken, az Event Hubs Capture mérői növekednek és csökkennek az egyező teljesítmény biztosítása érdekében. A mérők tandemben fordulnak elő. A díjszabás részleteiért tekintse meg az Event Hubs díjszabását.

A rögzítés nem használja fel a kimenő kvótát, mivel külön számlázzák.

Integráció az Event Griddel

Létrehozhat egy Azure Event Grid-előfizetést, amelynek forrása egy Event Hubs-névtér. Az alábbi oktatóanyag bemutatja, hogyan hozhat létre Event Grid-előfizetést egy eseményközponttal forrásként és egy Azure Functions-alkalmazással fogadóként: Feldolgozhatja és migrálhatja a rögzített Event Hubs-adatokat egy Azure Synapse Analyticsbe az Event Grid és az Azure Functions használatával.

Rögzített fájlok felfedezése

A rögzített Avro-fájlok feltárásáról a rögzített Avro-fájlok felfedezése című témakörben olvashat.

Azure Storage-fiók célként

Ha engedélyezni szeretné a rögzítést egy eseményközponton az Azure Storage rögzítési célhelyként, vagy frissíteni szeretné egy eseményközpont tulajdonságait az Azure Storage rögzítési célhelyként, a felhasználónak vagy a szolgáltatásnévnek rendelkeznie kell egy RBAC-szerepkörrel, amelyhez a tárfiók hatókörében az alábbi engedélyek vannak hozzárendelve. 

Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write

 

A fenti engedély nélkül az alábbi hibaüzenet jelenik meg:

Generic: Linked access check failed for capture storage destination <StorageAccount Arm Id>.
User or the application with object id <Object Id> making the request doesn't have the required data plane write permissions.
Please enable Microsoft.Storage/storageAccounts/blobServices/containers/write, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write permission(s) on above resource for the user or the application and retry.
TrackingId:<ID>, SystemTracker:mynamespace.servicebus.windows.net:myhub, Timestamp:<TimeStamp>

A Storage Blob Data Owner egy beépített szerepkör, amely a fenti engedélyekkel rendelkezik, ezért adja hozzá a felhasználói fiókot vagy a szolgáltatásnevet ehhez a szerepkörhöz.  

Következő lépések

Az Event Hubs Capture a legegyszerűbb módja az adatok Azure-ba való beolvasásának. Az Azure Data Lake, az Azure Data Factory és az Azure HDInsight használatával tetszőleges léptékben végezhet kötegelt feldolgozást és egyéb elemzéseket az Ön által választott ismerős eszközökkel és platformokkal.

Ismerje meg, hogyan engedélyezheti ezt a funkciót az Azure Portal és az Azure Resource Manager-sablon használatával: