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
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Gestire il colore CSS con HWB
Eseguire i worklow di GitHub su runner potenziati
Utilizzare Hybrid Cache in .NET 9
Utilizzare Locust con Azure Load Testing
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Utilizzare Azure AI Studio per testare i modelli AI
Escludere alcuni file da GitHub Secret Scanning
Gestire la cancellazione di una richiesta in streaming da Blazor
Creare una custom property in GitHub
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel