Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Syftet med ändringsflödet är att tillhandahålla transaktionsloggar för alla ändringar som sker i blobarna och blobmetadata i ditt lagringskonto. Ändringsflödet innehåller ordnade, garanterade, hållbara, oföränderliga, skrivskyddade loggar för 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 . 
- Som standard behåller Ändringsflöde loggarna på obestämd tid. Kvarhållningsperioden för ändringsflödesloggar kan konfigureras i termer av dagar, vilket gör det möjligt att definiera hur länge loggarna bevaras före automatisk borttagning. Det här kvarhållningsbeteendet kan ändras antingen under den inledande konfigurationen av ändringsflödet eller senare via dataskyddsalternativet under avsnittet Datahantering i Azure-portalen. 
- Om du vill ta bort alla befintliga ändringsflödesloggar uppdaterar du kvarhållningsperioden till 1 dag och inaktiverar sedan funktionen Ändringsflöde. 
Aktivera ändringsflöde för ditt lagringskonto med hjälp av Azure Portal:
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 Portal 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 timsegmentmen 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 timvisa tidsintervallet 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ändelseloggar
Ä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
- Blob raderad
- Blob Egenskaper Uppdaterade
- 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"
        }
    }
}
Schema-version 3
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 3:
- BlobSkapad
- Blob raderad
- Blob Egenskaper Uppdaterade
- 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
- Blob raderad
- Blob Egenskaper Uppdaterade
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsynkronOperationStartad
- RestorePointMarker är skapad
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
- Blob raderad
- Blob Egenskaper Uppdaterade
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsynkronOperationStartad
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"
        }
    }
}
Version 6 av schema
Följande händelsetyper kan samlas in i ändringsflödesposterna med schemaversion 6:
- BlobSkapad
- Blob raderad
- Blob Egenskaper Uppdaterade
- BlobSnapshotSkapad
- BlobTierChanged
- BlobAsynkronOperationStartad
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 dessa poster har lagts till, ä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 i regel inom några minuter efter ändringen. Klientapplikationer kan välja att använda poster när de tillförs för strömmande åtkomst eller i bulk vid någon annan tidpunkt. 
- Ändringshändelseposter ordnas efter ändringarnas ordning 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 - eventTypehar värdet- Controlä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 bearbetningen av alla poster inom en angiven tid, bearbeta både det föregående och efterföljande timsegmentet. 
- Varje segment kan ha ett olika antal - chunkFilePathspå grund av intern partitionering av loggströmmen för att hantera publiceringsgenomströmning. Loggfilerna i var och en- chunkFilePathgaranteras att innehålla ömsesidigt exkluderande blobar och kan konsumeras och bearbetas parallellt utan att bryta mot ordningen av ändringar per blob under iterationen.
- Segmenten börjar med - Publishingstatus. När tillägget av posterna till segmentet är slutfört, kommer det att vara- Finalized. Loggfiler i alla segment som är daterade efter det datum som- LastConsumable-egenskapen har i- $blobchangefeed/meta/Segments.json-filen ska inte användas av ditt program. Här är ett exempel på egenskapen- LastConsumablei en- $blobchangefeed/meta/Segments.jsonfil:
{
    "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 LastConsumablefö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.
- Konvertering av lagringskonto för geo-redundanta lagringskonton där ändringsflödet är 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 för $blobchangefeed-containern. 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.
Support för funktioner
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.
