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
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Potenziare la ricerca su Cosmos DB con Full Text Search
Estrarre dati randomici da una lista di oggetti in C#
Escludere alcuni file da GitHub Secret Scanning
Configurare lo startup di applicazioni server e client con .NET Aspire
Recuperare App Service cancellati su Azure
Utilizzare Azure AI Studio per testare i modelli AI
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode