2016-03-07 20 views
6

Memorizzo i dati nelle tabelle di Archiviazione di Azure e nella memoria BLOB. Desidero eseguire automaticamente il backup dei miei dati per proteggerli dalla corruzione accidentale dei dati da parte degli utenti o da un problema software. Non c'è una buona soluzione per questo da Microsoft e, mentre ci sono soluzioni a pagamento per i backup automatici, sembra che ci dovrebbe essere un modo semplice per il backup e il ripristino di questi dati.Come eseguire il backup delle tabelle e dei BLOB di Azure

+0

Per la memorizzazione della tabella, utilizzare [AzCopy] (http://aka.ms/downloadazcopy). Funziona bene e può anche essere utilizzato negli script di automazione. '' 'azcopy.exe/Fonte: http: // PathToYourTableStorage/Dest: C: \ YourFolderPath/Key: StorageAccessKey1or2''' –

+0

Puoi anche usare [questo script] (https://github.com/higtrollers/Scripts/tree/master/Azure % 20Table% 20Storage) nel tuo processo CI. –

+0

Ho creato [questo] script di nodo https://github.com/kritollm/tablesbackup. Effettua il backup delle modifiche solo alle tabelle in modo da poterlo eseguire spesso. – user3717718

risposta

1

Dopo aver svolto numerose ricerche sul modo migliore di eseguire automaticamente il backup dei dati, ho trovato che il modo più semplice per farlo è pianificare un lavoro nell'Utilità di pianificazione di Windows su una macchina virtuale di Azure che utilizza AZCopy. AZCopy esegue il lavoro di spostamento dei dati della tabella nella VM e quindi torna a un archivio BLOB secondario in Azure per conservare il backup. Il file batch fa sì che AZCopy copi direttamente i BLOB dall'account di archiviazione di origine nell'account di destinazione.

Si può vedere una descrizione dettagliata di come ho fatto questo lavoro con i collegamenti ai file batch che uso per automatizzare il backup a questo link: http://www.eastfive.com/2016/03/01/automated-backup-of-azure-storage-tables-and-blobs/

02/08/2018 aggiornamento su questa risposta : Ho sollevato questa domanda al supporto di Azure il 18 gennaio 2018, presumendo che sicuramente avessero un modo per farlo ora tramite un servizio in Azure. Sfortunatamente non è questo il caso e non esiste (secondo il supporto di Microsoft) un modo migliore di fare i backup di tabelle rispetto a quelli che esistevano al momento della prima domanda. Questa è la risposta di un sostegno da 2018/01/24:

"Ho rivisto sopra il vostro caso e purtroppo non c'è un modo di fare un'istantanea di un intero account o contenitore e quindi l'unico modo L'esecuzione di snapshot con Archiviazione di Azure avviene tramite l'applicazione di snapshot e la migrazione degli snap ad un account secondario oppure è possibile semplicemente copiare i file effettivi su un altro account ma con una maggiore latenza e maggiore dispendio di spazio di archiviazione capacità, in cui le istantanee richiederebbero meno e sarebbero più veloci nel trasferimento .
I metodi supportiamo il trasferimento AzCopy e la libreria di spostamento dati che può essere utilizzata per realizzare soluzioni personalizzate di migrazione in Java o C#.
Se si voleva automatizzare questi processi allora si potrebbe fare questo via PowerShell e Azure Automation o con Funzioni Azure, ma l'assistenza con queste soluzioni sarebbe probabilmente bisogno essere sollevato attraverso un'altra richiesta di supporto come la mia squadra puramente supporta Azure. "

Quindi, non esiste ancora alcun metodo automatico per fare questi backup. il mio team sta lavorando su una libreria per fare i backup. Quando abbiamo che completato, mi post qui.

+1

Si potrebbe voler riesaminare l'uso di AzCopy, poiché non è necessario copiare i BLOB su una VM intermedia; è progettato per copiare direttamente blob-to-blob. Con la memoria della tabella, è necessario copiare i dati, anche se si memorizza json/csv in un blob in un secondo momento. –

+0

@DavidMakogon, grazie per aver catturato quell'errore nella mia scrittura. Ho aggiornato la risposta per riflettere che i dati della tabella vengono estratti localmente, mentre i dati blob vengono inviati direttamente alla destinazione. –

+0

Scusa, volevo solo chiarire. Molto tempo fa, la copia blob funzionava solo trasferendo prima uno spazio temporaneo. Non sapevo se quella (fuori dai dati) informazioni fosse ancora in circolazione ... –

1

è inoltre possibile utilizzare strumenti di terze parti come Cerebrata Azure Management Cmdlets o la funzionalità y Asynchronous Copy Blob annunciato dal team di archiviazione di Microsoft Azure che essenzialmente consente di copiare i dati da un account di archiviazione a un altro account di archiviazione senza scaricare i dati localmente.

Controllare la discussione per ulteriori informazioni: What is the best way to backup Azure Blob Storage contents.

Spero che questo aiuti.

+0

Derek, Grazie per il commento. Ho guardato i Cmdlet di Cerebrata e sembravano promettenti, ma erano $ 125, dove i miei comandi di batch out su AZCopy.exe sono gratuiti. Inoltre, se osservi le mie risposte sopra, puoi vedere che ho chiarito che AZCopy fa una copia sul lato server dei BLOB, quindi non devono mai lasciare Azure. La memoria della tabella è una storia diversa: i dati della tabella devono essere estratti localmente, almeno a questo punto. Grazie per il vostro feedback –

+0

@Keith Holloway, Scusa se non l'ho notato e quando il thread che ho allegato pubblicato, AzCopy non dovrebbe essere stato annunciato. A partire da ora, AzCopy dovrebbe essere il modo migliore per eseguire il backup dei dati in Azure. – Derek

+0

I cmdlet di gestione Azure di Cerebrata sono stati interrotti! –

Problemi correlati