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
Usare domini personalizzati per Azure Storage tramite CDN
Conteggiare le connessioni SignalR aperte in Blazor Server
Winget: un nuovo package manager per Windows
Creare un interceptor per ottimizzare il codice SQL generato da Entity Framework Core
Combinare pagine Blazor e ASP.NET Core MVC nello stesso sito
Montare una file share con Azure Container Instance
Progressive Web Apps with Blazor and Azure
Introduzione a Blazor WebAssembly
Registrare un servizio generico nella dependency injection di ASP.NET Core
Mobile Blazor Bindings
Testare una pagina web con Puppeteer e Puppeteer recorder