Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A változáscsatorna célja, hogy tranzakciónaplókat adjon meg a tárfiók blobjainak és blob-metaadatainak változásairól. A változáscsatorna rendezett, garantált, tartós, nem módosítható, írásvédett naplókat biztosít ezekről a változásokról. Az ügyfélalkalmazások bármikor elolvashatják ezeket a naplókat streamelés vagy kötegelt módban. Minden módosítás pontosan egy tranzakciónapló-bejegyzést hoz létre, így nem kell több naplóbejegyzést kezelnie ugyanahhoz a változáshoz. A változáscsatorna lehetővé teszi, hogy hatékony és méretezhető megoldásokat hozzon létre, amelyek alacsony költséggel dolgozzák fel a Blob Storage-fiókban előforduló változáseseményeket.
A változáscsatorna rekordjainak feldolgozásáról az Azure Blob Storage változáscsatornájának feldolgozása című témakörben olvashat.
A változáscsatorna működése
A változáscsatornarekordok blobokként vannak tárolva a tárfiókban egy speciális tárolóban, normál blob-árszabás szerinti költséggel. A fájlok megőrzési idejét a követelmények alapján szabályozhatja (lásd az aktuális kiadás feltételeit ). A változási események az Apache Avro formátumspecifikáció rekordjaiként vannak hozzáfűzve a változáscsatornához: egy 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.
Ezeket a naplókat aszinkron módon, növekményesen vagy teljes egészében is feldolgozhatja. Tetszőleges számú ügyfélalkalmazás képes egymástól függetlenül olvasni a változáscsatornát, párhuzamosan és a saját tempójukban. Az olyan elemzési alkalmazások, mint az Apache Drill vagy az Apache Spark , közvetlenül Avro-fájlokként használhatják a naplókat, így alacsony költséggel, nagy sávszélességgel és egyéni alkalmazás írása nélkül is feldolgozhatók.
Az alábbi diagram bemutatja, hogyan lesznek hozzáadva rekordok a változáscsatornához:
A változáscsatorna támogatása jól használható olyan forgatókönyvekhez, amelyek a módosított objektumok alapján dolgozzák fel az adatokat. Az alkalmazások például:
- Másodlagos index frissítése, gyorsítótárral, keresőmotorral vagy más tartalomkezelési forgatókönyvekkel való szinkronizálás.
- Üzleti elemzések és metrikák kinyerése az objektumok változásai alapján, folyamatos vagy kötegelt üzemmódban.
- Az objektumok módosításainak tárolása, naplózása és elemzése bármely időszakban a vállalati adatkezelés biztonsága, megfelelősége vagy intelligenciája érdekében.
- Hozzon létre megoldásokat az objektumállapot biztonsági mentésére, tükrözésére vagy replikálására fiókjában a katasztrófakezelés vagy a megfelelőségi követelmények teljesítése érdekében.
- Olyan csatlakoztatott alkalmazásfolyamatokat hozhat létre, amelyek reagálnak az események módosítására, vagy végrehajtásokat ütemeznek a létrehozott vagy módosított objektum alapján.
A változáscsatorna előfeltétele a blokkblobok objektumreplikációs és időponthoz kötött visszaállításának.
Megjegyzés:
A változáscsatorna tartós, rendezett naplómodellt biztosít a blobok változásairól. A módosítások íródnak és elérhetővé válnak a változtatási hírcsatorna naplójában a módosítástól számított néhány percen belül. Ha az alkalmazásnak ennél sokkal gyorsabban kell reagálnia az eseményekre, fontolja meg inkább a Blob Storage-események használatát. A Blob Storage-események valós idejű egyszeri eseményeket biztosítanak, amelyek lehetővé teszik, hogy az Azure Functions vagy az alkalmazások gyorsan reagáljanak a blobok változásaira.
A változáscsatorna engedélyezése és letiltása
A módosítások felvételéhez és rögzítéséhez engedélyeznie kell a változáskövetést a tárfiókján. Tiltsa le a változási adatfolyamot, hogy leálljon a módosítások rögzítése. A módosításokat azure Resource Manager-sablonokkal engedélyezheti és tilthatja le a Portálon vagy a PowerShellben.
Az alábbiakban néhány dolgot érdemes szem előtt tartani a változáscsatorna engedélyezésekor.
Minden tárfiókhoz csak egy változási napló létezik a blob szolgáltatáshoz. A változáscsatornarekordok a $blobchangefeed tárolóban vannak tárolva.
A módosítások létrehozása, frissítése és törlése csak a blobszolgáltatás szintjén lesz rögzítve.
A változáscsatorna rögzíti a fiókban előforduló összes elérhető esemény összes módosítását. Az ügyfélalkalmazások szükség szerint szűrhetik az eseménytípusokat. (Lásd az aktuális kiadás feltételeit ).
A változáscsatornát csak a standard általános célú v2-, prémium szintű blokkblob- és Blob Storage-fiókok engedélyezhetik. A hierarchikus névtérrel rendelkező fiókok jelenleg nem támogatottak. Az általános célú v1-tárfiókok nem támogatottak, de általános célú v2-re frissíthetők állásidő nélkül. További információt a GPv2-tárfiókra való frissítés című témakörben talál.
Alapértelmezés szerint a Change Feed határozatlan ideig megőrzi a naplófájlokat. A Változáscsatorna naplóinak megőrzési időtartama napok szerint konfigurálható, így megadhatja, hogy mennyi ideig őrizze meg a naplókat az automatikus törlés előtt. Ez a megőrzési viselkedés módosítható a változáscsatorna kezdeti konfigurációja során, vagy később az Azure Portal Adatkezelés szakaszában található Adatvédelmi beállítással.
Az összes meglévő változáscsatornanapló törléséhez frissítse az adatmegőrzési időtartamot 1 napra, majd tiltsa le a Változáscsatorna funkciót.
A tárfiók változáscsatornáinak engedélyezése az Azure Portal használatával:
Az Azure Portalon válassza ki a tárfiókot.
Navigáljon az Adatkezelés területen azAdatvédelmi beállításhoz.
A Nyomon követés csoportban válassza az 'Blob-változáscsatorna engedélyezése' opciót.
A Mentés gombra kattintva erősítse meg az adatvédelmi beállításokat.
A változáscsatorna felhasználása
A változáscsatorna több metaadatot és naplófájlt hoz létre. Ezek a fájlok a tárfiók $blobchangefeed tárolójában találhatók. A $blobchangefeed tároló az Azure Portalon vagy az Azure Storage Exploreren keresztül tekinthető meg.
Az ügyfélalkalmazások a változáscsatornát a változáscsatorna-feldolgozó könyvtár segítségével használhatják, amelyet a blobmódosítás-feldolgozó SDK biztosít. A változáscsatorna rekordjainak feldolgozásáról további információt az Azure Blob Storage változáscsatorna-naplóinak feldolgozása című témakörben talál.
Adatfolyam szegmensek módosítása
A változáscsatorna a változások naplója, amely óránkéntiszegmensekbe van rendezve, de néhány percenként hozzá van fűzve és frissítve. Ezek a szegmensek csak akkor jönnek létre, ha az adott órában blobmódosítási események történnek. Ez lehetővé teszi az ügyfélalkalmazás számára, hogy bizonyos időtartományokon belül bekövetkező módosításokat használjon anélkül, hogy a teljes naplóban kellene keresnie. További információkért tekintse meg a specifikációkat.
A változáscsatorna rendelkezésre álló óránkénti szegmensét egy jegyzékfájl ismerteti, amely meghatározza az adott szegmens változáscsatornafájljainak elérési útját. A virtuális könyvtár $blobchangefeed/idx/segments/
listája az időrendben rendezett szegmenseket jeleníti meg. A szegmens elérési útja a szegmens által képviselt óránkénti időtartomány kezdetét írja le. Ezzel a listával kiszűrheti az Önt érdeklő naplók szegmenseit.
Name Blob Type Blob Tier Length Content Type
---------------------------------------------------------------------- ----------- ----------- -------- ----------------
$blobchangefeed/idx/segments/1601/01/01/0000/meta.json BlockBlob 584 application/json
$blobchangefeed/idx/segments/2019/02/22/1810/meta.json BlockBlob 584 application/json
$blobchangefeed/idx/segments/2019/02/22/1910/meta.json BlockBlob 584 application/json
$blobchangefeed/idx/segments/2019/02/23/0110/meta.json BlockBlob 584 application/json
Megjegyzés:
A $blobchangefeed/idx/segments/1601/01/01/0000/meta.json
elemet a rendszer automatikusan létrehozza, amikor engedélyezi a változáscsatornát. Ezt a fájlt nyugodtan figyelmen kívül hagyhatja. Ez egy mindig üres inicializálási fájl.
A szegmenshez tartozó változáscsatorna-fájlok elérési útját a szegmens jegyzékfájlja (meta.json
) a chunkFilePaths
tulajdonságban mutatja. Íme egy példa egy szegmensjegyzékfájlra.
{
"version": 0,
"begin": "2019-02-22T18:10:00.000Z",
"intervalSecs": 3600,
"status": "Finalized",
"config": {
"version": 0,
"configVersionEtag": "0x8d698f0fba563db",
"numShards": 2,
"recordsFormat": "avro",
"formatSchemaVersion": 1,
"shardDistFnVersion": 1
},
"chunkFilePaths": [
"$blobchangefeed/log/00/2019/02/22/1810/",
"$blobchangefeed/log/01/2019/02/22/1810/"
],
"storageDiagnostics": {
"version": 0,
"lastModifiedTime": "2019-02-22T18:11:01.187Z",
"data": {
"aid": "55e507bf-8006-0000-00d9-ca346706b70c"
}
}
}
Megjegyzés:
A $blobchangefeed
tároló csak akkor jelenik meg, ha engedélyezte a változáscsatorna funkciót a fiókjában. A változási napló engedélyezése után néhány percet várnia kell, mielőtt listázhatja a tárolóban lévő blobokat.
Eseményrekordok módosítása
A változáscsatorna fájljai számos változásesemény-rekordot tartalmaznak. Minden változási eseményrekord egy adott blobhoz tartozó változásnak felel meg. A rekordok szerializálva vannak, és az Apache Avro formátumspecifikációval vannak megírva a fájlba. A rekordok az Avro fájlformátum-specifikációjának használatával olvashatók. Az ilyen formátumú fájlok feldolgozásához több kódtár is rendelkezésre áll.
A változáscsatornafájlok $blobchangefeed/log/
vannak tárolva a virtuális könyvtárban. Az egyes elérési utak alatti első változáscsatornafájl a fájlnévben lesz 00000
(például 00000.avro
). Az elérési úthoz hozzáadott minden további naplófájl neve 1-zel nő (például: 00001.avro
).
Eseményrekord sémái
Az egyes tulajdonságok leírását a Blob Storage Azure Event Grid eseménysémában talál. A BlobPropertiesUpdated és a BlobSnapshotCreated események jelenleg kizárólag a hírcsatorna módosítására használhatók, és a Blob Storage-események esetében még nem támogatottak.
Megjegyzés:
A szegmensek változáscsatornafájljai nem jelennek meg azonnal egy szegmens létrehozása után. A késés hossza a változáscsatorna közzétételi késésének szokásos időközén belül van, amely a módosítástól számított néhány percen belül van.
Séma 1. verziója
Az alábbi eseménytípusok rögzíthetők a változáscsatorna rekordjaiban az 1. sémaverzióval:
- Blob létrehozva
- Blob törölve
- BlobTulajdonságokFrissítve
- AdatblokkPillanatképLétrehozva
Az alábbi példa egy JSON formátumú változásesemény-rekordot mutat be, amely az eseményséma 1-es verzióját használja:
{
"schemaVersion": 1,
"topic": "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"subject": "/blobServices/default/containers/<container>/blobs/<blob>",
"eventType": "BlobCreated",
"eventTime": "2022-02-17T12:59:41.4003102Z",
"id": "322343e3-8020-0000-00fe-233467066726",
"data": {
"api": "PutBlob",
"clientRequestId": "f0270546-168e-4398-8fa8-107a1ac214d2",
"requestId": "322343e3-8020-0000-00fe-233467000000",
"etag": "0x8D9F2155CBF7928",
"contentType": "application/octet-stream",
"contentLength": 128,
"blobType": "BlockBlob",
"url": "https://www.myurl.com",
"sequencer": "00000000000000010000000000000002000000000000001d",
"storageDiagnostics": {
"bid": "9d725a00-8006-0000-00fe-233467000000",
"seq": "(2,18446744073709551615,29,29)",
"sid": "4cc94e71-f6be-75bf-e7b2-f9ac41458e5a"
}
}
}
Séma 3. verziója
A változáscsatorna rekordjaiban a következő eseménytípusok rögzíthetők a 3. sémaverzióval:
- Blob létrehozva
- Blob törölve
- BlobTulajdonságokFrissítve
- AdatblokkPillanatképLétrehozva
Az alábbi példa egy JSON formátumú változásesemény-rekordot mutat be, amely a 3. eseményséma verzióját használja:
{
"schemaVersion": 3,
"topic": "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"subject": "/blobServices/default/containers/<container>/blobs/<blob>",
"eventType": "BlobCreated",
"eventTime": "2022-02-17T13:05:19.6798242Z",
"id": "eefe8fc8-8020-0000-00fe-23346706daaa",
"data": {
"api": "PutBlob",
"clientRequestId": "00c0b6b7-bb67-4748-a3dc-86464863d267",
"requestId": "eefe8fc8-8020-0000-00fe-233467000000",
"etag": "0x8D9F216266170DC",
"contentType": "application/octet-stream",
"contentLength": 128,
"blobType": "BlockBlob",
"url": "https://www.myurl.com",
"sequencer": "00000000000000010000000000000002000000000000001d",
"previousInfo": {
"SoftDeleteSnapshot": "2022-02-17T13:08:42.4825913Z",
"WasBlobSoftDeleted": "true",
"BlobVersion": "2024-02-17T16:11:52.0781797Z",
"LastVersion" : "2022-02-17T16:11:52.0781797Z",
"PreviousTier": "Hot"
},
"snapshot": "2022-02-17T16:09:16.7261278Z",
"blobPropertiesUpdated" : {
"ContentLanguage" : {
"current" : "pl-Pl",
"previous" : "nl-NL"
},
"CacheControl" : {
"current" : "max-age=100",
"previous" : "max-age=99"
},
"ContentEncoding" : {
"current" : "gzip, identity",
"previous" : "gzip"
},
"ContentMD5" : {
"current" : "Q2h1Y2sgSW51ZwDIAXR5IQ==",
"previous" : "Q2h1Y2sgSW="
},
"ContentDisposition" : {
"current" : "attachment",
"previous" : ""
},
"ContentType" : {
"current" : "application/json",
"previous" : "application/octet-stream"
}
},
"storageDiagnostics": {
"bid": "9d726370-8006-0000-00ff-233467000000",
"seq": "(2,18446744073709551615,29,29)",
"sid": "4cc94e71-f6be-75bf-e7b2-f9ac41458e5a"
}
}
}
Séma 4-es verziója
A változáscsatorna rekordjaiban a következő eseménytípusok rögzíthetők a 4-es sémaverzióval:
- Blob létrehozva
- Blob törölve
- BlobTulajdonságokFrissítve
- AdatblokkPillanatképLétrehozva
- BlobTierChanged
- BlobAszinkronMűveletElindítva
- VisszaállításiPontJelölőLétrehozva
Az alábbi példa egy JSON formátumú változásesemény-rekordot mutat be, amely az eseményséma 4-es verzióját használja:
{
"schemaVersion": 4,
"topic": "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"subject": "/blobServices/default/containers/<container>/blobs/<blob>",
"eventType": "BlobCreated",
"eventTime": "2022-02-17T13:08:42.4835902Z",
"id": "ca76bce1-8020-0000-00ff-23346706e769",
"data": {
"api": "PutBlob",
"clientRequestId": "58fbfee9-6cf5-4096-9666-c42980beee65",
"requestId": "ca76bce1-8020-0000-00ff-233467000000",
"etag": "0x8D9F2169F42D701",
"contentType": "application/octet-stream",
"contentLength": 128,
"blobType": "BlockBlob",
"blobVersion": "2022-02-17T16:11:52.5901564Z",
"containerVersion": "0000000000000001",
"blobTier": "Archive",
"url": "https://www.myurl.com",
"sequencer": "00000000000000010000000000000002000000000000001d",
"previousInfo": {
"SoftDeleteSnapshot": "2022-02-17T13:08:42.4825913Z",
"WasBlobSoftDeleted": "true",
"BlobVersion": "2024-02-17T16:11:52.0781797Z",
"LastVersion" : "2022-02-17T16:11:52.0781797Z",
"PreviousTier": "Hot"
},
"snapshot": "2022-02-17T16:09:16.7261278Z",
"blobPropertiesUpdated" : {
"ContentLanguage" : {
"current" : "pl-Pl",
"previous" : "nl-NL"
},
"CacheControl" : {
"current" : "max-age=100",
"previous" : "max-age=99"
},
"ContentEncoding" : {
"current" : "gzip, identity",
"previous" : "gzip"
},
"ContentMD5" : {
"current" : "Q2h1Y2sgSW51ZwDIAXR5IQ==",
"previous" : "Q2h1Y2sgSW="
},
"ContentDisposition" : {
"current" : "attachment",
"previous" : ""
},
"ContentType" : {
"current" : "application/json",
"previous" : "application/octet-stream"
}
},
"asyncOperationInfo": {
"DestinationTier": "Hot",
"WasAsyncOperation": "true",
"CopyId": "copyId"
},
"storageDiagnostics": {
"bid": "9d72687f-8006-0000-00ff-233467000000",
"seq": "(2,18446744073709551615,29,29)",
"sid": "4cc94e71-f6be-75bf-e7b2-f9ac41458e5a"
}
}
}
Séma 5-ös verziója
Az alábbi eseménytípusok rögzíthetők a változáscsatorna rekordjaiban az 5. sémaverzióval:
- Blob létrehozva
- Blob törölve
- BlobTulajdonságokFrissítve
- AdatblokkPillanatképLétrehozva
- BlobTierChanged
- BlobAszinkronMűveletElindítva
Az alábbi példa egy JSON formátumú változásesemény-rekordot mutat be, amely az eseményséma 5-ös verzióját használja:
{
"schemaVersion": 5,
"topic": "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"subject": "/blobServices/default/containers/<container>/blobs/<blob>",
"eventType": "BlobCreated",
"eventTime": "2022-02-17T13:12:11.5746587Z",
"id": "62616073-8020-0000-00ff-233467060cc0",
"data": {
"api": "PutBlob",
"clientRequestId": "b3f9b39a-ae5a-45ac-afad-95ac9e9f2791",
"requestId": "62616073-8020-0000-00ff-233467000000",
"etag": "0x8D9F2171BE32588",
"contentType": "application/octet-stream",
"contentLength": 128,
"blobType": "BlockBlob",
"blobVersion": "2022-02-17T16:11:52.5901564Z",
"containerVersion": "0000000000000001",
"blobTier": "Archive",
"url": "https://www.myurl.com",
"sequencer": "00000000000000010000000000000002000000000000001d",
"previousInfo": {
"SoftDeleteSnapshot": "2022-02-17T13:12:11.5726507Z",
"WasBlobSoftDeleted": "true",
"BlobVersion": "2024-02-17T16:11:52.0781797Z",
"LastVersion" : "2022-02-17T16:11:52.0781797Z",
"PreviousTier": "Hot"
},
"snapshot" : "2022-02-17T16:09:16.7261278Z",
"blobPropertiesUpdated" : {
"ContentLanguage" : {
"current" : "pl-Pl",
"previous" : "nl-NL"
},
"CacheControl" : {
"current" : "max-age=100",
"previous" : "max-age=99"
},
"ContentEncoding" : {
"current" : "gzip, identity",
"previous" : "gzip"
},
"ContentMD5" : {
"current" : "Q2h1Y2sgSW51ZwDIAXR5IQ==",
"previous" : "Q2h1Y2sgSW="
},
"ContentDisposition" : {
"current" : "attachment",
"previous" : ""
},
"ContentType" : {
"current" : "application/json",
"previous" : "application/octet-stream"
}
},
"asyncOperationInfo": {
"DestinationTier": "Hot",
"WasAsyncOperation": "true",
"CopyId": "copyId"
},
"blobTagsUpdated": {
"previous": {
"Tag1": "Value1_3",
"Tag2": "Value2_3"
},
"current": {
"Tag1": "Value1_4",
"Tag2": "Value2_4"
}
},
"restorePointMarker": {
"rpi": "cbd73e3d-f650-4700-b90c-2f067bce639c",
"rpp": "cbd73e3d-f650-4700-b90c-2f067bce639c",
"rpl": "test-restore-label",
"rpt": "2022-02-17T13:56:09.3559772Z"
},
"storageDiagnostics": {
"bid": "9d726db1-8006-0000-00ff-233467000000",
"seq": "(2,18446744073709551615,29,29)",
"sid": "4cc94e71-f6be-75bf-e7b2-f9ac41458e5a"
}
}
}
Séma 6-os verziója
A változáscsatorna rekordjaiban a következő eseménytípusok rögzíthetők a 6-os sémaverzióval:
- Blob létrehozva
- Blob törölve
- BlobTulajdonságokFrissítve
- AdatblokkPillanatképLétrehozva
- BlobTierChanged
- BlobAszinkronMűveletElindítva
A séma 6-os verziója támogatja a hideg réteget.
Az alábbi példa egy JSON formátumú változásesemény-rekordot mutat be, amely az eseményséma 6-os verzióját használja:
{
"schemaVersion": 6,
"topic": "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
"subject": "/blobServices/default/containers/<container>/blobs/<blob>",
"eventType": "BlobCreated",
"eventTime": "2023-10-11T13:12:11.5746587Z",
"id": "62616073-8020-0000-00ff-233467060cc0",
"data": {
"api": "PutBlob",
"clientRequestId": "b3f9b39a-ae5a-45ac-afad-95ac9e9f2791",
"requestId": "62616073-8020-0000-00ff-233467000000",
"etag": "0x8D9F2171BE32588",
"contentType": "application/octet-stream",
"contentLength": 128,
"blobType": "BlockBlob",
"blobVersion": "2023-10-11T16:11:52.5901564Z",
"containerVersion": "0000000000000001",
"blobTier": "Archive",
"url": "https://www.myurl.com",
"sequencer": "00000000000000010000000000000002000000000000001d",
"previousInfo": {
"SoftDeleteSnapshot": "2023-10-11T13:12:11.5726507Z",
"WasBlobSoftDeleted": "true",
"BlobVersion": "2024-02-17T16:11:52.0781797Z",
"LastVersion" : "2023-10-11T16:11:52.0781797Z",
"PreviousTier": "Hot"
},
"snapshot" : "2023-10-11T16:09:16.7261278Z",
"blobPropertiesUpdated" : {
"ContentLanguage" : {
"current" : "pl-Pl",
"previous" : "nl-NL"
},
"CacheControl" : {
"current" : "max-age=100",
"previous" : "max-age=99"
},
"ContentEncoding" : {
"current" : "gzip, identity",
"previous" : "gzip"
},
"ContentMD5" : {
"current" : "Q2h1Y2sgSW51ZwDIAXR5IQ==",
"previous" : "Q2h1Y2sgSW="
},
"ContentDisposition" : {
"current" : "attachment",
"previous" : ""
},
"ContentType" : {
"current" : "application/json",
"previous" : "application/octet-stream"
}
},
"asyncOperationInfo": {
"DestinationTier": "Hot",
"WasAsyncOperation": "true",
"CopyId": "copyId"
},
"blobTagsUpdated": {
"previous": {
"Tag1": "Value1_3",
"Tag2": "Value2_3"
},
"current": {
"Tag1": "Value1_4",
"Tag2": "Value2_4"
}
},
"restorePointMarker": {
"rpi": "cbd73e3d-f650-4700-b90c-2f067bce639c",
"rpp": "cbd73e3d-f650-4700-b90c-2f067bce639c",
"rpl": "test-restore-label",
"rpt": "2023-10-11T13:56:09.3559772Z"
},
"storageDiagnostics": {
"bid": "9d726db1-8006-0000-00ff-233467000000",
"seq": "(2,18446744073709551615,29,29)",
"sid": "4cc94e71-f6be-75bf-e7b2-f9ac41458e5a"
}
}
}
Specifikációk
A változásesemény-rekordok csak a változáscsatornához vannak hozzáfűzve. A rekordok hozzáfűzése után nem módosíthatók, és a rekord pozíciója stabil. Az ügyfélalkalmazások saját ellenőrzőpontot tarthatnak fenn a változáscsatorna olvasási pozíciójában.
A változási eseményrekordokat a rendszer a módosítástól számított néhány percen belül hozzáfűzi. Az ügyfélalkalmazások eldönthetik, hogy a rekordokat folyamatosan fogyasztják, ahogy azok a streameléshez hozzáadódnak, vagy bármikor tömegesen is elérhetik.
A módosítási eseményrekordok blobonkénti módosítási sorrend szerint vannak rendezve. A blobok változásainak sorrendje nincs meghatározva az Azure Blob Storage-ban. A korábbi szegmensek minden módosítása a későbbi szegmensekben bekövetkező változások előtt van.
Az eseményrekordok módosítása az Apache Avro 1.8.2 formátumspecifikációval szerializálva lesz a naplófájlban.
Eseményrekordok, amelyeknél a
eventType
értékétControl
-nek állítják be, belső rendszerrekordok, és nem tükrözik a fiók objektumainak módosítását. Ezeket a rekordokat nyugodtan figyelmen kívül hagyhatja.A tulajdonságcsomag értékei
storageDiagnostics
csak belső használatra szolgálnak, és nem az alkalmazás által való használatra vannak kialakítva. Az alkalmazásoknak nem szabad szerződéses függésben lenniük az adatoktól. Ezeket a tulajdonságokat nyugodtan figyelmen kívül hagyhatja.A szegmens által képviselt idő körülbelül 15 perc. Annak érdekében, hogy az összes rekord felhasználása meghatározott időn belül történjen, használja fel az egymást követő előző és a következő óra szegmenst.
Minden szegmens különböző számú
chunkFilePaths
-al rendelkezhet a naplófolyam belső particionálása miatt, hogy kezelhető legyen a közzétételi átviteli sebesség. Az egyeschunkFilePath
naplófájlok garantáltan kölcsönösen kizáró blobokat tartalmaznak, és egyidejűleg felhasználhatók és feldolgozhatók anélkül, hogy megsértenék a blobonkénti módosítások sorrendjét az iteráció során.A szegmensek kezdetben
Publishing
állapotban vannak. Miután a rekordok hozzáfűzése befejeződik a szegmenshez, azFinalized
lesz. Az alkalmazás nem használhatja fel azokat a naplófájlokat, amelyek bármely szegmensben aLastConsumable
fájl$blobchangefeed/meta/Segments.json
tulajdonságának dátuma utáni dátummal szerepelnek. Íme egy példa egyLastConsumable
fájl tulajdonságára$blobchangefeed/meta/Segments.json
:
{
"version": 0,
"lastConsumable": "2019-02-23T01:10:00.000Z",
"storageDiagnostics": {
"version": 0,
"lastModifiedTime": "2019-02-23T02:24:00.556Z",
"data": {
"aid": "55e551e3-8006-0000-00da-ca346706bfe4",
"lfz": "2019-02-22T19:10:00.000Z"
}
}
}
Feltételek és ismert problémák
Ez a szakasz a változásfolyam aktuális kiadásának ismert problémáit és állapotait ismerteti.
- Ha engedélyezi a tárfiók tűzfalszabályait, az életciklus-felügyeleti kérések blokkolhatják $blobchangefeed tárolón belüli blobok törlését. A kérések blokkolását úgy oldhatja fel, ha kivételeket ad meg a megbízható Microsoft-szolgáltatásokra vonatkozóan. További információ: A tűzfalak és virtuális hálózatok konfigurálásacímű kivételek szakasz.
- A
LastConsumable
segments.json fájl tulajdonsága nem sorolja fel az első szegmenst, amelyet a változáscsatorna véglegesít. Ez a probléma csak az első szegmens véglegesítése után jelentkezik. Az első óra utáni összes további szegmens pontosan rögzítve lesz aLastConsumable
tulajdonságban. - A ListContainers API meghívásakor jelenleg nem látja a $blobchangefeed tárolót. A tartalmat úgy tekintheti meg, hogy közvetlenül meghívja a ListBlobs API-t a $blobchangefeed tárolóban.
- A georedundáns tárfiókok azon feladatátvétele, amelyen engedélyezve van a változáscsatorna, inkonzisztenciát okozhat a változáscsatorna naplói és a blobadatok és/vagy metaadatok között. Az ilyen inkonzisztenciákról további információt a Változási napló és blobadatok inkonzisztenciák című témakörben talál.
- Előfordulhat, hogy 404 (Nem található) és 412 (Előfeltétel-meghiúsulás) hibák jelennek meg a $blobchangefeed konténereken. Ezeket a hibákat nyugodtan figyelmen kívül hagyhatja.
- A BlobDeleted események nem jönnek létre a blobverziók vagy pillanatképek törlésekor. A BlobDeleted esemény csak alapszintű (gyökér) blob törlésekor lesz hozzáadva.
- Az eseményrekordok csak a blobok azon módosításaihoz lesznek hozzáadva, amelyek a Blob Service-végpontra (
blob.core.windows.net
) irányuló kérelmekből erednek. A Data Lake Storage-végpontra (dfs.core.windows.net
) irányuló kérelmekből eredő módosítások nincsenek naplózva, és nem jelennek meg a változáscsatorna-rekordokban.
Gyakran ismételt kérdések (FAQ)
Lásd a Változási hírcsatorna támogatásának GYIK-jét.
Funkciók támogatása
Ennek a funkciónak a támogatását befolyásolhatja a Data Lake Storage Gen2, a Network File System (NFS) 3.0 protokoll vagy az SSH File Transfer Protocol (SFTP) engedélyezése. Ha engedélyezte bármelyik képességet, tekintse meg az Azure Storage fiókok Blob Storage funkció támogatását, hogy felmérhesse a funkció támogatását.