Quando dobbiamo leggere o scrivere un file in maniera affidabile e scalabile Azure Blob Storage è il servizio della piattaforma di riferimento. Via HTTP possiamo godere di moltissime funzionalità tra le quali ovviamente anche la manipolazione degli stessi.
Abbiamo già visto nello script #109 che possiamo mantenere una versione di blob cancellati, ma questo può non bastare. Al fine di effettuare un logging, ma anche per automazioni sui blob stessi si rende necessario tenere traccia di tutto ciò che è stato effettuato su blob e container.
Di recente è stata aggiunta la possibilità di abilitare il change feed, in pratica un registro depositato all?interno di un container speciale, nel quale vengono indicati le caratteristiche delle modifiche. Abilitarlo richiede pochi passi, perché è sufficiente recarsi tramite portale nella sezione Data protection e abilitare la relativa voce.
Il feed si attiva subito e nel container inalterabile di nome $blobchangefeed inserisce dei file nel formato Apache Avro tutti i cambiamenti apportati. Si tratta di un formato binario, veloce e compatto che molti strumenti di analitica, tra cui Data Factory o Stream Analytics, sanno trattare. Il costo del servizio è quindi relativo al costo del mantenimento di questi file, perciò è molto basso.
Consumare questo feed ci permette non solo di tenere traccia di quello che succede, ma realizzare altri scenari, come sincronizzazioni, indicizzazioni o estrazioni di dati, ed è infatti propedeutico ad altre funzionalità offerte dal blob. Per facilitare il suo consumo è disponibile un SDK apposito https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-change-feed-how-to per permetterci di leggere in maniera sequenziale e in streaming i cambiamenti, partendo eventualmente da una posizione precisa.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire liste di tipi semplici con Entity Framework Core
Migliorare l'organizzazione delle risorse con Azure Policy
Eseguire script pre e post esecuzione di un workflow di GitHub
Utilizzare i primary constructor in C#
Cambiare la chiave di partizionamento di Azure Cosmos DB
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Potenziare Azure AI Search con la ricerca vettoriale
Effettuare il refresh dei dati di una QuickGrid di Blazor
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Creazione di componenti personalizzati in React.js con Tailwind CSS