Cosmos Db è il database documentale (e non solo) per eccellenza della piattaforma di Microsoft Azure. Ha incredibili prestazioni, affidabilità, replica geo distribuita ed è possibile usarlo tramite REST o driver MongoDB.
Si possono presentare situazioni in cui ci troviamo a dover spostare un container (ex collection) in un altro database, oppure vogliamo clonare l'intero database per poter effettuare delle prove di debug o dei test di pre produzione con dati reali. In queste situazioni, in virtù delle norme sulla privacy vigenti in Europa (GDPR) è opportuno usare pratiche che ci permettano di usare questi dati in sicurezza e nel rispetto della normativa. Si rende quindi necessario renderli anonimi, almeno nelle parti considerate personali nel momento in cui le portiamo su un altro database accessibile potenzialmente da più persone che non hanno in gestione i dati.
CosmicClone è uno strumento che possiamo trovare su https://github.com/Microsoft/CosmicClone e permette di clonare un container verso un altro. Possiamo scaricare la release oppure compilare autonomamente la sorgente. Avviandolo ci vengono chieste le coordinate di sorgente e destinazione.
E' sufficiente avere una chiave di lettura e di scrittura per i rispettivi database. Purtroppo, non è supportata la scrittura su database di tipologia diversa. Successivamente ci viene chiesto quali oggetti clonare: molto probabilmente tutti.
Lo step che precede l'avvio della copia è il più importante. Possiamo specificare una o più regole volte a rendere anonimi i dati. Indichiamo il percorso JSON al campo di nostro interesse, impostiamo un eventuale filtro e indichiamo come rendere anonimi i dati: impostiamo a null, valore fisso oppure randomico.
Queste regole possono essere salvate e ricaricate per eventuali successive copie. Non ci resta che avviare la procedura la quale terminerà in base agli RU del database sorgenti e del database destinatario, oltre che alla banda internet disponibile all'applicativo.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Migliora le tue soluzioni ASP.NET Core con Azure OpenAI
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Eseguire operazioni sui blob con Azure Storage Actions
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Ordinare randomicamente una lista in C#
Creare gruppi di client per Event Grid MQTT
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi