Stöd för ändringsflöde i Azure Blob Storage
Syftet med ändringsflödet är att tillhandahålla transaktionsloggar för alla ändringar som sker i blobarna och blobmetadata i ditt lagringskonto. Ändringsflödet ger ordnad, garanterad, varaktig, oföränderlig, skrivskyddad logg över dessa ändringar. Klientprogram kan läsa dessa loggar när som helst, antingen i direktuppspelning eller i batchläge. Varje ändring genererar exakt en transaktionsloggpost, så du behöver inte hantera flera loggposter för samma ändring. Med ändringsflödet kan du skapa effektiva och skalbara lösningar som bearbetar ändringshändelser som inträffar i ditt Blob Storage-konto till en låg kostnad.
Information om hur du bearbetar poster i ändringsflödet finns i Processändringsflöde i Azure Blob Storage.
Så här fungerar ändringsflödet
Ändringsflödesposter lagras som blobar i en särskild container i ditt lagringskonto till standardpriskostnaden för blobar. Du kan styra kvarhållningsperioden för dessa filer baserat på dina krav (se villkoren för den aktuella versionen). Ändringshändelser läggs till i ändringsflödet som poster i Apache Avro-formatspecifikationen: ett kompakt, snabbt binärt format som ger omfattande datastrukturer med infogat schema. Det här formatet används ofta i Hadoop-ekosystemet, Stream Analytics och Azure Data Factory.
Du kan bearbeta dessa loggar asynkront, stegvis eller i sin helhet. Valfritt antal klientprogram kan självständigt läsa ändringsflödet parallellt och i sin egen takt. Analysprogram som Apache Drill eller Apache Spark kan använda loggar direkt som Avro-filer, vilket gör att du kan bearbeta dem till en låg kostnad, med hög bandbredd och utan att behöva skriva ett anpassat program.
Följande diagram visar hur poster läggs till i ändringsflödet:
Stöd för ändringsflöde passar bra för scenarier som bearbetar data baserat på objekt som har ändrats. Program kan till exempel:
- Uppdatera ett sekundärt index, synkronisera med ett cacheminne, sökmotor eller andra scenarier för innehållshantering.
- Extrahera företagsanalysinsikter och mått baserat på ändringar som görs i dina objekt, antingen med direktuppspelning eller i ett gruppläge.
- Lagra, granska och analysera ändringar i dina objekt under en viss tidsperiod, för att se säkerhet, efterlevnad eller information om företagets datahantering.
- Skapa lösningar för säkerhetskopiering, spegling eller replikering av objekttillstånd i ditt konto för katastrofhantering eller efterlevnad.
- Skapa anslutna programpipelines som reagerar på ändringshändelser eller schemakörningar baserat på skapat eller ändrat objekt.
Ändringsflöde är en förutsättning för objektreplikering och återställning till tidpunkt för blockblobar.
Kommentar
Ändringsflöde ger en beständig, ordnad loggmodell för de ändringar som sker i en blob. Ändringar skrivs och görs tillgängliga i ändringsflödesloggen inom några minuter efter ändringen. Om ditt program måste reagera mycket snabbare på händelser än så kan du överväga att använda Blob Storage-händelser i stället. Blob Storage-händelser tillhandahåller engångshändelser i realtid som gör att dina Azure Functions eller program snabbt kan reagera på ändringar som sker i en blob.
Aktivera och inaktivera ändringsflödet
Du måste aktivera ändringsflödet på ditt lagringskonto för att börja samla in och registrera ändringar. Inaktivera ändringsflödet för att sluta samla in ändringar. Du kan aktivera och inaktivera ändringar med hjälp av Azure Resource Manager-mallar på portalen eller PowerShell.
Här är några saker att tänka på när du aktiverar ändringsflödet.
Det finns bara en ändringsfeed för blobtjänsten i varje lagringskonto. Ändringsflödesposter lagras i containern $blobchangefeed .
Ändringarna Skapa, Uppdatera och Ta bort registreras endast på blobtjänstnivå.
Ändringsflödet samlar in alla ändringar för alla tillgängliga händelser som inträffar på kontot. Klientprogram kan filtrera bort händelsetyper efter behov. (Se villkoren för den aktuella versionen).
Endast standardkonton för generell användning v2, Premium-blockblob och Blob Storage kan aktivera ändringsflödet. Konton med ett hierarkiskt namnområde aktiverat stöds inte för närvarande. Allmänna v1-lagringskonton stöds inte men kan uppgraderas till generell användning v2 utan driftstopp. Mer information finns i Uppgradera till ett GPv2-lagringskonto .
Aktivera ändringsflöde för ditt lagringskonto med hjälp av Azure-portalen:
Använda ändringsflödet
Ändringsflödet genererar flera metadata och loggfiler. Dessa filer finns i $blobchangefeed containern för lagringskontot. Den $blobchangefeed containern kan visas antingen via Azure-portalen eller via Azure Storage Explorer.
Dina klientprogram kan använda ändringsflödet med hjälp av det blobändringsflödesprocessorbibliotek som medföljer ändringsflödesprocessorns SDK. Information om hur du bearbetar poster i ändringsflödet finns i Bearbeta ändringsflödesloggar i Azure Blob Storage.
Ändra flödessegment
Ändringsflödet är en logg över ändringar som ordnas i timsegment men läggs till och uppdateras med några minuters mellanrum. Dessa segment skapas bara när det finns blobändringshändelser som inträffar under den timmen. Detta gör att klientprogrammet kan använda ändringar som inträffar inom vissa tidsperioder utan att behöva söka igenom hela loggen. Mer information finns i Specifikationer.
Ett tillgängligt timsegment i ändringsflödet beskrivs i en manifestfil som anger sökvägarna till ändringsflödesfilerna för det segmentet. Listan över den $blobchangefeed/idx/segments/
virtuella katalogen visar dessa segment ordnade efter tid. Segmentets sökväg beskriver början av det tidsintervall per timme som segmentet representerar. Du kan använda den listan för att filtrera bort de segment av loggar som är av intresse för dig.
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
Kommentar
$blobchangefeed/idx/segments/1601/01/01/0000/meta.json
Skapas automatiskt när du aktiverar ändringsflödet. Du kan ignorera den här filen på ett säkert sätt. Det är en alltid tom initieringsfil.
Segmentmanifestfilen (meta.json
) visar sökvägen till ändringsflödesfilerna för segmentet i chunkFilePaths
egenskapen. Här är ett exempel på en segmentmanifestfil.
{
"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"
}
}
}
Kommentar
Containern $blobchangefeed
visas först när du har aktiverat ändringsflödesfunktionen på ditt konto. Du måste vänta några minuter efter att du har aktiverat ändringsflödet innan du kan lista blobarna i containern.
Ändra händelseposter
Ändringsflödesfilerna innehåller en serie ändringshändelseposter. Varje ändringshändelsepost motsvarar en ändring av en enskild blob. Posterna serialiseras och skrivs till filen med apache Avro-formatspecifikationen . Posterna kan läsas med hjälp av Avro-filformatspecifikationen. Det finns flera bibliotek tillgängliga för att bearbeta filer i det formatet.
Ändringsflödesfiler lagras i den $blobchangefeed/log/
virtuella katalogen som tilläggsblobar. Den första ändringsflödesfilen under varje sökväg kommer att ha 00000
i filnamnet (till exempel 00000.avro
). Namnet på varje efterföljande loggfil som läggs till i sökvägen ökar med 1 (till exempel: 00001.avro
).
Scheman för händelseposter
En beskrivning av varje egenskap finns i Azure Event Grid-händelseschema för Blob Storage. Händelserna BlobPropertiesUpdated och BlobSnapshotCreated är för närvarande exklusiva för ändringsflöde och stöds ännu inte för Blob Storage-händelser.
Kommentar
Ändringsflödesfilerna för ett segment visas inte omedelbart när ett segment har skapats. Fördröjningens längd ligger inom det normala intervallet för publiceringsfördröjningen för ändringsflödet, som ligger inom några minuter efter ändringen.
Schemaversion 1
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 1:
- BlobSkapad
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotSkapad
I följande exempel visas en ändringshändelsepost i JSON-format som använder händelseschema version 1:
{
"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"
}
}
}
Schemaversion 3
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 3:
- BlobSkapad
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotSkapad
I följande exempel visas en ändringshändelsepost i JSON-format som använder händelseschema version 3:
{
"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"
}
}
}
Schemaversion 4
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 4:
- BlobSkapad
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsyncOperationInitiated
- RestorePointMarkerSkapad
I följande exempel visas en ändringshändelsepost i JSON-format som använder händelseschema version 4:
{
"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"
}
}
}
Schemaversion 5
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 5:
- BlobSkapad
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsyncOperationInitiated
I följande exempel visas en ändringshändelsepost i JSON-format som använder händelseschema version 5:
{
"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"
}
}
}
Schemaversion 6
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 6:
- BlobSkapad
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsyncOperationInitiated
Schema version 6 lägger till stöd för kall nivå.
I följande exempel visas en ändringshändelsepost i JSON-format som använder händelseschema version 6:
{
"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"
}
}
}
Specifikationer
Ändringshändelser läggs bara till i ändringsflödet. När de här posterna har bifogats är de oföränderliga och postpositionen är stabil. Klientprogram kan behålla sin egen kontrollpunkt i ändringsflödets läsposition.
Ändringshändelseposter läggs till inom några minuter efter ändringen. Klientprogram kan välja att använda poster när de läggs till för direktuppspelningsåtkomst eller massvis vid någon annan tidpunkt.
Ändringshändelseposter ordnas efter ändringsordning per blob. Ordningen på ändringar mellan blobar är odefinierad i Azure Blob Storage. Alla ändringar i ett tidigare segment sker före eventuella ändringar i efterföljande segment.
Ändringshändelseposter serialiseras i loggfilen med hjälp av Apache Avro 1.8.2-formatspecifikationen .
Ändra händelseposter där
eventType
har värdetControl
är interna systemposter och återspeglar inte en ändring av objekt i ditt konto. Du kan ignorera dessa poster på ett säkert sätt.Värden i egenskapsväskan
storageDiagnostics
är endast avsedda för internt bruk och är inte utformade för användning av ditt program. Dina program bör inte ha något avtalsberoende av dessa data. Du kan ignorera dessa egenskaper på ett säkert sätt.Den tid som representeras av segmentet är ungefärlig med gränser på 15 minuter. För att säkerställa förbrukning av alla poster inom en angiven tid använder du segmentet föregående och nästa timme.
Varje segment kan ha olika antal på grund av
chunkFilePaths
intern partitionering av loggströmmen för att hantera publiceringsdataflödet. Loggfilerna i var och enchunkFilePath
kommer garanterat att innehålla ömsesidigt uteslutande blobar och kan användas och bearbetas parallellt utan att ändra ordningen per blob under iterationen.Segmenten börjar i
Publishing
status. När posterna i segmentet har slutförts blirFinalized
det . Loggfiler i ett segment som är daterat efter datumet förLastConsumable
egenskapen i$blobchangefeed/meta/Segments.json
filen ska inte användas av ditt program. Här är ett exempel på egenskapenLastConsumable
i en$blobchangefeed/meta/Segments.json
fil:
{
"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"
}
}
}
Villkor och kända problem
I det här avsnittet beskrivs kända problem och villkor i den aktuella versionen av ändringsflödet.
- Om du aktiverar brandväggsregler för ditt lagringskonto kan begäranden om livscykelhantering för att ta bort blobar i $blobchangefeed container blockeras. Du kan avblockera dessa begäranden genom att tillhandahålla undantag för betrodda Microsoft-tjänster. Mer information finns i avsnittet Undantag i Konfigurera brandväggar och virtuella nätverk.
- Egenskapen
LastConsumable
för filen segments.json visar inte det allra första segment som ändringsflödet slutför. Det här problemet uppstår först när det första segmentet har slutförts. Alla efterföljande segment efter den första timmen registreras korrekt i egenskapenLastConsumable
. - Du kan för närvarande inte se $blobchangefeed-containern när du anropar ListContainers-API:et. Du kan visa innehållet genom att anropa ListBlobs API på $blobchangefeed containern direkt.
- Redundansväxling av lagringskonto för geo-redundanta lagringskonton med ändringsflödet aktiverat kan leda till inkonsekvenser mellan ändringsflödesloggarna och blobdata och/eller metadata. Mer information om sådana inkonsekvenser finns i Inkonsekvenser i ändringsflöde och blobdata.
- Du kan se felen 404 (hittades inte) och 412 (förhandsvillkor misslyckades) som rapporterats på $blobchangefeed - och $blobchangefeedsys-containrarna . Du kan ignorera dessa fel utan att oroa dig.
- BlobDeleted-händelser genereras inte när blobversioner eller ögonblicksbilder tas bort. En BlobDeleted-händelse läggs bara till när en basblob (rot) tas bort.
- Händelseposter läggs bara till för ändringar i blobar som uppstår från begäranden till Blob Service-slutpunkten (
blob.core.windows.net
). Ändringar som beror på begäranden till Data Lake Storage-slutpunkten (dfs.core.windows.net
) loggas inte och visas inte i ändringsflödesposter.
Vanliga frågor och svar
Se Vanliga frågor och svar om ändringsflödessupport.
Funktionsstöd
Stöd för den här funktionen kan påverkas genom att aktivera Data Lake Storage Gen2, NFS 3.0-protokoll (Network File System) eller SSH File Transfer Protocol (SFTP). Om du har aktiverat någon av dessa funktioner kan du läsa Stöd för Blob Storage-funktioner i Azure Storage-konton för att utvärdera stödet för den här funktionen.