2016-03-07 2 views
6

Ich speichere Daten in Azure Storage-Tabellen und Blob-Speicher. Ich möchte meine Daten automatisch sichern, um sie vor versehentlichen Datenbeschädigungen durch Benutzer oder Softwareprobleme zu schützen. Es gibt keine gute Lösung dafür von Microsoft und obwohl es bezahlte Lösungen für automatische Backups gibt, scheint es, als ob es eine direkte Möglichkeit geben sollte, diese Daten zu sichern und wiederherzustellen.Wie sichere ich Azure-Tabellen und Blobs?

+0

Für Tabellenspeicher machen Sie die Verwendung von [AzCopy] (http://aka.ms/downloadazcopy). Es funktioniert gut und kann auch in Automatisierungsskripten verwendet werden. '' 'Azkopie.exe/Quelle: http: // PathToYourTableStorage/Ziel: C: \ YourFolderPath/Key: StorageAccessKey1or2''' –

+0

Sie können auch [dieses Skript] (https://github.com/higtrollers/Scripts/tree/master/Azure) verwenden % 20Table% 20Storage) in Ihrem CI-Prozess. –

+0

Ich habe [this] (https://github.com/kritollm/tablesbackup) Knotenscript erstellt. Es sichert nur Änderungen an Tabellen, so dass Sie es oft ausführen können. – user3717718

Antwort

1

Nachdem ich viele Nachforschungen über den besten Weg zur automatischen Sicherung von Daten angestellt hatte, fand ich die einfachste Möglichkeit, einen Job im Windows Taskplaner auf einer Azure virtuellen Maschine zu planen, die AZCopy verwendet. AZCopy erledigt die Aufgabe, die Tabellendaten auf die VM zu verschieben und dann zu einem zweiten Blob-Speicher in Azure zurückzuschalten, um die Sicherung zu speichern. Die Stapeldatei bewirkt auch, dass AZCopy die Blobs vom Quellspeicherkonto direkt in das Zielkonto kopiert.

Sie können eine detaillierte Beschreibung, wie ich diese Arbeit komplett mit Links zu den Batch-Dateien gemacht, die ich verwende, um die Sicherung zu diesem Link zu automatisieren: http://www.eastfive.com/2016/03/01/automated-backup-of-azure-storage-tables-and-blobs/

02/08/2018 Update auf dieser Antwort : Ich habe diese Frage am 18. Januar 2018 an die Azure-Unterstützung gerichtet, unter der Annahme, dass sie sicherlich über einen Dienst in Azure einen Weg dazu hatten. Leider ist dies nicht der Fall, und es gibt (laut Microsoft-Unterstützung) keinen besseren Weg, Tabellenbackups durchzuführen als die, die bei der ersten Vorlage dieser Frage existierten. Dies ist die Antwort von der Unterstützung von 2018.01.24:

„Ich über Ihren Fall überprüft habe und leider gibt es keine Möglichkeit, eine Momentaufnahme eines ganzen Konto oder Container und so die einzige Möglichkeit, zu tun Snapshots mit Azure Storage zu erstellen ist durch Blob-Iteration und Snapshots anwenden dann die Snapshots auf ein sekundäres Konto migrieren oder Sie können einfach die tatsächlichen Dateien auf ein anderes Konto kopieren, aber dies würde eine höhere Latenz haben und teurer auf Speicher Kapazität, wo Snapshots weniger aufnehmen würden und schneller zu Transfer
Die Methoden Wir unterstützen für die Übertragung sind AzCopy und die Data Movement Library, die verwendet werden kann, um benutzerdefinierte Migration Lösungen in Java oder C#.
Wenn Sie diese Prozesse dann automatisieren wollen Sie dies über Powershell und Azure Automation tun könnten oder mit Azure Funktionen aber Unterstützung bei diesen Lösungen müßte wahrscheinlich durch eine andere Support-Anfrage, wie mein Team angehoben wird rein unterstützt Azure Storage. "

es also, existiert immer noch keine automatisierte Möglichkeit, diese Sicherungen zu tun. Mein Team ist auf einer Bibliothek arbeiten Backups zu tun. Wenn wir abgeschlossen haben, werde ich wieder hier posten.

+1

Sie sollten Ihre Verwendung von AzCopy überprüfen, da Blobs nie auf eine Zwischen-VM kopiert werden müssen. Es wurde entwickelt, um direkt Blob-to-Blob zu kopieren. Beim Tabellenspeicher müssen Sie Daten kopieren, auch wenn Sie json/csv später in einem Blob speichern. –

+0

@DavidMakogon, danke für den Fehler in meinem Schreiben zu fangen. Ich habe die Antwort aktualisiert, um zu reflektieren, dass Tabellendaten lokal gezogen werden, während Blobdaten direkt an das Ziel gesendet werden. –

+0

Sorry -was nur klärte. Vor langer Zeit funktionierte das Kopieren von Blobs nur, indem man es zuerst in ein temporäres Feld transferierte. Wusste nicht, ob das (out of data) Info noch herum schwebte ... –

1

Sie können auch Verwenden Sie Tools von Drittanbietern wie oder die Funktionalit? t y Asynchronous Copy Blob angekündigt von Microsoft Azure Storage-Team, die im Wesentlichen können Sie Daten von einem Speicherkonto auf ein anderes Speicherkonto kopieren, ohne die Daten lokal herunterladen.

Überprüfen Sie den Thread für mehr: What is the best way to backup Azure Blob Storage contents.

Hoffe, das hilft.

+0

Derek, Danke für den Kommentar. Ich schaute auf Cerebrata Cmdlets und sie sahen vielversprechend aus, aber sie waren $ 125, wo meine Batch-Befehle an AZCopy.exe kostenlos sind. Wenn Sie sich die obigen Antworten ansehen, können Sie sehen, dass AZCopy eine serverseitige Kopie von Blobs erstellt hat, sodass Azure nicht verlassen werden muss. Der Tabellenspeicher ist eine andere Geschichte - Tabellendaten müssen zumindest an diesem Punkt lokal gezogen werden. Vielen Dank für Ihr Feedback. –

+0

@Keith Holloway, Tut mir leid, dass ich das nicht bemerkt habe, und wenn der Thread, den ich angeschlagen habe, gepostet wurde, sollte AzCopy nicht angekündigt worden sein. Ab sofort sollte AzCopy die beste Methode zum Sichern von Daten in Azure sein. – Derek

+0

Cerebrata Azure Management Cmdlets wurde eingestellt! –