Supporto del feed di modifiche in Archiviazione BLOB di Azure
Lo scopo del feed di modifiche è fornire i log delle transazioni di tutte le modifiche apportate ai BLOB e ai metadati BLOB nell'account di archiviazione. Il feed di modifiche fornisce un log ordinato, garantito, durevole, non modificabile e di sola lettura di queste modifiche. Le applicazioni client possono leggere questi log in qualsiasi momento, in streaming o in modalità batch. Il feed di modifiche consente di creare soluzioni efficienti e scalabili che elaborano gli eventi di modifica che si verificano nell'account di archiviazione BLOB a un costo basso.
Per informazioni su come elaborare i record nel feed di modifiche, vedere Elaborare il feed di modifiche in Archiviazione BLOB di Azure.
Funzionamento del feed di modifiche
I record del feed di modifiche vengono archiviati come BLOB in un contenitore speciale nell'account di archiviazione con un costo standard per i prezzi dei BLOB . È possibile controllare il periodo di conservazione di questi file in base ai requisiti (vedere le condizioni della versione corrente). Gli eventi di modifica vengono aggiunti al feed di modifiche come record nella specifica di formato Apache Avro : un formato compatto, veloce e binario che fornisce strutture di dati avanzate con schema inline. Questo formato è largamente usato nell'ecosistema Hadoop, dall'analisi di flusso e da Azure Data Factory.
È possibile elaborare questi log in modo asincrono, incrementale o completo. Qualsiasi numero di applicazioni client può leggere in modo indipendente il feed di modifiche, in parallelo e al proprio ritmo. Le applicazioni di analisi, ad esempio Apache Drill o Apache Spark , possono usare i log direttamente come file Avro, che consentono di elaborarli a un costo basso, con larghezza di banda elevata e senza dover scrivere un'applicazione personalizzata.
Il diagramma seguente mostra come i record vengono aggiunti al feed di modifiche:
Il supporto del feed di modifiche è particolarmente adatto per gli scenari che elaborano i dati in base agli oggetti modificati. Ad esempio, le applicazioni possono:
- Aggiornare un indice secondario ed eseguire la sincronizzazione con una cache, un motore di ricerca o qualsiasi altro scenario di gestione dei contenuti.
- Estrarre informazioni dettagliate e metriche sulle analisi di business basate sulle modifiche apportate agli oggetti in modalità flusso o batch.
- Archiviare, controllare e analizzare le modifiche apportate agli oggetti, in qualsiasi intervallo di tempo, per la gestione dei dati sulla sicurezza, la conformità o l'intelligenza a livello aziendale.
- Creare soluzioni per eseguire il backup, il mirroring o replicare lo stato dell'oggetto nell'account per la gestione o la conformità di emergenza.
- Creare pipeline di applicazioni connesse che reagiscono agli eventi di modifica o pianificano le esecuzioni in base all'oggetto creato o modificato.
Il feed di modifiche è una funzionalità prerequisita per la replica di oggetti e il ripristino temporizzato per i BLOB in blocchi.
Nota
Il feed di modifiche fornisce un modello di log durevole e ordinato delle modifiche apportate a un BLOB. Le modifiche vengono scritte e rese disponibili nel log del feed di modifiche entro pochi minuti dalla modifica. Se l'applicazione deve reagire agli eventi molto più velocemente di questo, è consigliabile usare invece gli eventi di archiviazione BLOB . Gli eventi di archiviazione BLOB forniscono eventi monouso in tempo reale che consentono alle Funzioni di Azure o alle applicazioni di reagire rapidamente alle modifiche apportate a un BLOB.
Abilitare e disabilitare il feed di modifiche
È necessario abilitare il feed di modifiche nell'account di archiviazione per avviare l'acquisizione e la registrazione delle modifiche. Disabilitare il feed di modifiche per interrompere l'acquisizione delle modifiche. È possibile abilitare e disabilitare le modifiche usando i modelli di Resource Manager di Azure nel portale o in PowerShell.
Ecco alcuni aspetti da tenere presenti quando si abilita il feed di modifiche.
In ogni account di archiviazione è presente un solo feed di modifiche per il servizio BLOB. I record del feed di modifiche vengono archiviati nel contenitore $blobchangefeed .
Le modifiche create, Update ed Delete vengono acquisite solo a livello di servizio BLOB.
Il feed di modifiche acquisisce tutte le modifiche per tutti gli eventi disponibili che si verificano nell'account. Le applicazioni client possono filtrare i tipi di evento in base alle esigenze. Vedere le condizioni della versione corrente.
Solo gli account standard per utilizzo generico v2, BLOB in blocchi Premium e Archiviazione BLOB possono abilitare il feed di modifiche. Gli account con uno spazio dei nomi gerarchico abilitato non sono attualmente supportati. Gli account di archiviazione per utilizzo generico v1 non sono supportati, ma possono essere aggiornati a utilizzo generico v2 senza tempi di inattività, vedere Eseguire l'aggiornamento a un account di archiviazione per utilizzo generico v2 per altre informazioni.
Abilitare il feed di modifiche nell'account di archiviazione usando portale di Azure:
Selezionare l'account di archiviazione nel portale di Azure.
Passare all'opzione Protezione dati in Gestione dati.
In Rilevamento selezionare Abilita feed di modifiche BLOB.
Scegliere il pulsante Salva per confermare le impostazioni di protezione dei dati.
Utilizzare il feed di modifiche
Il feed di modifiche produce diversi file di metadati e di log. Questi file si trovano nel contenitore $blobchangefeed dell'account di archiviazione. Il contenitore $blobchangefeed può essere visualizzato tramite il portale di Azure o tramite Azure Storage Explorer.
Le applicazioni client possono usare il feed di modifiche usando la libreria del processore dei feed di modifiche BLOB fornita con l'SDK del processore dei feed di modifiche. Per informazioni su come elaborare i record nel feed di modifiche, vedere Elaborare i log dei feed di modifiche in Archiviazione BLOB di Azure.
Segmenti dei feed di modifiche
Il feed di modifiche è un log delle modifiche organizzate in segmentiorari, ma aggiunti a e aggiornati ogni pochi minuti. Questi segmenti vengono creati solo quando sono presenti eventi di modifica blob che si verificano in quell'ora. In questo modo l'applicazione client può utilizzare le modifiche che si verificano entro intervalli di tempo specifici senza dover eseguire ricerche nell'intero log. Per altre informazioni, vedere Le specifiche.
Un segmento orario disponibile del feed di modifiche viene descritto in un file manifesto che specifica i percorsi dei file del feed di modifiche per tale segmento. L'elenco della directory virtuale mostra questi segmenti ordinati in base all'ora $blobchangefeed/idx/segments/
. Il percorso del segmento descrive l'inizio dell'intervallo di tempo orario rappresentato dal segmento. È possibile usare tale elenco per filtrare i segmenti di log di interesse.
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
Nota
L'oggetto $blobchangefeed/idx/segments/1601/01/01/0000/meta.json
viene creato automaticamente quando si abilita il feed di modifiche. È possibile ignorare in modo sicuro questo file. Si tratta di un file di inizializzazione sempre vuoto.
Il file manifesto del segmento (meta.json
) mostra il percorso dei file del feed di modifiche per tale segmento nella chunkFilePaths
proprietà . Ecco un esempio di file manifesto del segmento.
{
"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"
}
}
}
Nota
Il $blobchangefeed
contenitore viene visualizzato solo dopo aver abilitato la funzionalità feed di modifiche nell'account. È necessario attendere alcuni minuti dopo aver abilitato il feed di modifiche prima di poter elencare i BLOB nel contenitore.
Modificare i record degli eventi
I file del feed di modifiche contengono una serie di record di eventi di modifica. Ogni record di evento di modifica corrisponde a una modifica a un singolo BLOB. I record vengono serializzati e scritti nel file usando la specifica di formato Apache Avro . I record possono essere letti usando la specifica del formato di file Avro. Sono disponibili diverse librerie per elaborare i file in tale formato.
I file del feed di modifiche vengono archiviati nella $blobchangefeed/log/
directory virtuale come BLOB di accodamento. Il primo file del feed di modifiche in ogni percorso avrà 00000
il nome del file ( ad esempio 00000.avro
). Il nome di ogni file di log successivo aggiunto a tale percorso verrà incrementato di 1 (ad esempio: 00001.avro
).
Schemi dei record eventi
Per una descrizione di ogni proprietà, vedere Griglia di eventi di Azure schema di eventi per l'archiviazione BLOB. Gli eventi BlobPropertiesUpdated e BlobSnapshotCreated sono attualmente esclusivi del feed di modifiche e non sono ancora supportati per gli eventi di archiviazione BLOB.
Nota
I file del feed di modifiche per un segmento non vengono visualizzati immediatamente dopo la creazione di un segmento. La lunghezza del ritardo rientra nell'intervallo normale di latenza di pubblicazione del feed di modifiche entro pochi minuti dalla modifica.
Schema versione 1
I tipi di evento seguenti possono essere acquisiti nei record del feed di modifiche con schema versione 1:
- BLOBCreato
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotCreated
L'esempio seguente mostra un record di eventi di modifica in formato JSON che usa lo schema eventi versione 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 versione 3
I tipi di evento seguenti possono essere acquisiti nei record del feed di modifiche con schema versione 3:
- BLOBCreato
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotCreated
L'esempio seguente mostra un record di eventi di modifica in formato JSON che usa lo schema eventi versione 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"
}
}
}
Schema versione 4
I tipi di evento seguenti possono essere acquisiti nei record del feed di modifiche con schema versione 4:
- BLOBCreato
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotCreated
- BlobTierChanged
- BlobAsyncOperationInitiated
- RestorePointMarkerCreated
L'esempio seguente mostra un record di eventi di modifica in formato JSON che usa lo schema eventi versione 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"
}
}
}
Schema versione 5
I tipi di evento seguenti possono essere acquisiti nei record del feed di modifiche con schema versione 5:
- BLOBCreato
- BlobDeleted
- BlobPropertiesUpdated
- BlobSnapshotCreated
- BlobTierChanged
- BlobAsyncOperationInitiated
L'esempio seguente mostra un record di eventi di modifica in formato JSON che usa lo schema eventi versione 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"
}
}
}
Specifiche
I record degli eventi di modifica vengono aggiunti solo al feed di modifiche. Dopo aver aggiunto questi record, sono non modificabili e la posizione dei record è stabile. Le applicazioni client possono mantenere il proprio checkpoint nella posizione di lettura del feed di modifiche.
I record degli eventi di modifica vengono aggiunti entro pochi minuti dalla modifica. Le applicazioni client possono scegliere di utilizzare i record quando vengono aggiunti per l'accesso in streaming o in blocco in qualsiasi altro momento.
I record eventi di modifica vengono ordinati in base all'ordine di modifica per ogni BLOB. L'ordine delle modifiche tra BLOB non è definito in Archiviazione BLOB di Azure. Tutte le modifiche apportate a un segmento precedente sono prima di eventuali modifiche nei segmenti successivi.
I record eventi di modifica vengono serializzati nel file di log usando la specifica di formato Apache Avro 1.8.2 .
Modificare i record degli eventi in cui ha
eventType
un valore di sono record diControl
sistema interni e non riflettono una modifica agli oggetti nell'account. È possibile ignorare in modo sicuro tali record.I valori nel contenitore delle
storageDiagnostics
proprietà sono destinati solo all'uso interno e non sono progettati per l'uso da parte dell'applicazione. Le applicazioni non devono avere una dipendenza contrattuale da tali dati. È possibile ignorare in modo sicuro tali proprietà.Il tempo rappresentato dal segmento è approssimativo con limiti di 15 minuti. Quindi, per garantire l'utilizzo di tutti i record entro un determinato periodo di tempo, utilizzare il segmento consecutivo precedente e successivo.
Ogni segmento può avere un numero
chunkFilePaths
diverso a causa del partizionamento interno del flusso di log per gestire la velocità effettiva di pubblicazione. I file di log in ognuno di essichunkFilePath
sono garantiti contenere BLOB che si escludono a vicenda e possono essere utilizzati ed elaborati in parallelo senza violare l'ordinamento delle modifiche per BLOB durante l'iterazione.I segmenti iniziano con
Publishing
lo stato. Al termine dell'aggiunta dei record al segmento, saràFinalized
. I file di log in qualsiasi segmento datato dopo laLastConsumable
data della proprietà nel$blobchangefeed/meta/Segments.json
file non devono essere utilizzati dall'applicazione. Ecco un esempio dellaLastConsumable
proprietà in un$blobchangefeed/meta/Segments.json
file:
{
"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"
}
}
}
Condizioni e problemi noti
Questa sezione descrive i problemi noti e le condizioni nella versione corrente del feed di modifiche.
- La
url
proprietà del file di log è attualmente sempre vuota. - La
LastConsumable
proprietà del file segment.json non elenca il primo segmento finalizzato dal feed di modifiche. Questo problema si verifica solo dopo la finalizzazione del primo segmento. Tutti i segmenti successivi dopo la prima ora vengono acquisiti accuratamente nellaLastConsumable
proprietà . - Attualmente non è possibile visualizzare il contenitore $blobchangefeed quando si chiama l'API ListContainers. È possibile visualizzare il contenuto chiamando direttamente l'API ListBlobs nel contenitore $blobchangefeed.
- Il failover dell'account di archiviazione non è supportato negli account con il feed di modifiche abilitato. Disabilitare il feed di modifiche prima di avviare un failover.
- Gli account di archiviazione che hanno avviato in precedenza un failover dell'account potrebbero avere problemi con il file di log che non viene visualizzato. Eventuali failover futuri dell'account possono influire anche sul file di log.
- Potrebbero essere visualizzati errori 404 (Non trovato) e 412 (precondizione non riuscita) segnalati nei contenitori $blobchangefeed e $blobchangefeedsys . È possibile ignorare questi errori.
Supporto funzionalità
Il supporto per questa funzionalità potrebbe essere influenzato dall'abilitazione di Data Lake Storage Gen2, del protocollo NFS (Network File System) 3.0 o di SSH File Transfer Protocol (SFTP).
Se è stata abilitata una di queste funzionalità, vedere Supporto delle funzionalità di archiviazione BLOB negli account di archiviazione di Azure per valutare il supporto per questa funzionalità.
Domande frequenti
Qual è la differenza tra il feed di modifiche e la registrazione Analisi archiviazione?
I log di analisi includono record di tutte le operazioni di lettura, scrittura, elenco ed eliminazione con richieste riuscite e non riuscite in tutte le operazioni. I log di analisi sono ottimali e non è garantito alcun ordinamento.
Il feed di modifiche è una soluzione che fornisce un log transazionale di mutazioni riuscite o modifiche all'account, ad esempio la creazione, la modifica e le eliminazioni dei BLOB. Il feed di modifiche garantisce che tutti gli eventi vengano registrati e visualizzati nell'ordine delle modifiche riuscite per ogni BLOB, pertanto non è necessario filtrare il rumore da un volume enorme di operazioni di lettura o richieste non riuscite. Il feed di modifiche è fondamentalmente progettato e ottimizzato per lo sviluppo di applicazioni che richiedono determinate garanzie.
È consigliabile usare il feed di modifiche o gli eventi di archiviazione?
È possibile sfruttare entrambe le funzionalità come feed di modifiche e gli eventi di archiviazione BLOB forniscono le stesse informazioni con la stessa garanzia di affidabilità del recapito, con la differenza principale che rappresenta la latenza, l'ordinamento e l'archiviazione dei record eventi. Il feed di modifiche pubblica i record nel log entro pochi minuti dalla modifica e garantisce anche l'ordine delle operazioni di modifica per BLOB. Gli eventi di archiviazione vengono inseriti in tempo reale e potrebbero non essere ordinati. Gli eventi del feed di modifiche vengono archiviati in modo permanente all'interno dell'account di archiviazione come log stabili di sola lettura con la conservazione definita, mentre gli eventi di archiviazione sono temporanei da utilizzare dal gestore eventi, a meno che non vengano archiviati in modo esplicito. Con il feed di modifiche, un numero qualsiasi di applicazioni può usare i log in modo pratico usando API BLOB o SDK.
Passaggi successivi
- Vedere un esempio di come leggere il feed di modifiche usando un'applicazione client .NET. Vedere Elaborare i log dei feed di modifiche in Archiviazione BLOB di Azure.
- Informazioni su come reagire agli eventi in tempo reale. Vedere Reacting to BLOB Storage events (Reagire agli eventi di archiviazione BLOB)
- Altre informazioni sulla registrazione dettagliata per le operazioni riuscite e non riuscite per tutte le richieste. Vedere Registrazione di Analisi archiviazione di Azure