Tutorial: Migrieren von lokalen Daten zu Cloudspeicher mit AzCopy

AzCopy ist ein Befehlszeilentool zum Kopieren von Daten in oder aus Azure Blob Storage, Azure Files und Azure Table Storage mittels einfacher Befehle. Die Befehle sind für optimale Leistung konzipiert. Mit AzCopy können Sie Daten entweder zwischen einem Dateisystem und einem Speicherkonto oder zwischen Speicherkonten kopieren. AzCopy kann zum Kopieren von Daten aus lokalen Daten in ein Speicherkonto verwendet werden.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen Sie ein Speicherkonto.
  • Verwenden Sie AzCopy, um all Ihre Daten hochzuladen.
  • Ändern Sie die Daten für Testzwecke.
  • Erstellen Sie einen geplanten Task oder Cron-Auftrag, um neue Dateien für den Upload zu identifizieren.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Voraussetzungen

Laden Sie für dieses Tutorial die neueste Version von AzCopy herunter. Informationen finden Sie unter Übertragen von Daten mit AzCopy v10.

Unter Windows ist Schtasks erforderlich, da das Tool in diesem Tutorial zum Planen einer Aufgabe verwendet wird. Linux-Benutzer verwenden stattdessen den Befehl „crontab“.

Führen Sie diese Schritte aus, wenn Sie ein allgemeines Speicherkonto vom Typ „General Purpose v2“ über das Azure-Portal erstellen möchten:

  1. Wählen Sie unter Azure-Dienste die Option Speicherkonten aus.
  2. Wählen Sie auf der Seite Speicherkonten die Option + Erstellen aus.
  3. Wählen Sie auf dem Blatt Grundlagen das Abonnement aus, in dem das Speicherkonto erstellt werden soll.
  4. Wählen Sie unter dem Feld Ressourcengruppe Ihre gewünschte Ressourcengruppe aus, oder erstellen Sie eine neue. Weitere Informationen zu Azure-Ressourcengruppen finden Sie unter Übersicht über den Azure Resource Manager.
  5. Geben Sie als Nächstes einen Namen für Ihr Speicherkonto ein. Der gewählte Name muss innerhalb von Azure eindeutig sein. Der Name muss ebenfalls zwischen 3 und 24 Zeichen lang sein und darf nur Zahlen und Kleinbuchstaben enthalten.
  6. Wählen Sie eine Region für Ihr Speicherkonto aus, oder verwenden Sie die Standardregion.
  7. Wählen Sie eine Leistungsstufe aus. Die Standardstufe ist Standard.
  8. Geben Sie an, wie das Speicherkonto repliziert werden soll. Die Standardoption für die Redundanz lautet Georedundanter Speicher (GRS) . Weitere Informationen zu verfügbaren Replikationsoptionen finden Sie unter Azure Storage-Redundanz.
  9. Weitere Optionen sind auf den Blättern Erweitert, Netzwerk, Schutz von Daten und Tags verfügbar. Wenn Sie Azure Data Lake Storage verwenden möchten, wählen Sie das Blatt Erweitert aus, und legen Sie dann Hierarchischer Namespace auf Aktiviert fest. Weitere Informationen finden Sie unter Azure Data Lake Storage Gen2: Einführung.
  10. Wählen Sie Überprüfen + erstellen, um die Speicherkontoeinstellungen zu überprüfen und das Konto zu erstellen.
  11. Klicken Sie auf Erstellen.

Die folgende Abbildung zeigt die Einstellungen auf dem Blatt Grundlagen für ein neues Speicherkonto:

Screenshot showing how to create a storage account in the Azure portal.

Container erstellen

Im ersten Schritt wird ein Container erstellt, da Blobs immer in einen Container hochgeladen werden müssen. Container dienen zum Organisieren von Blobgruppen und sind somit vergleichbar mit Ordnern für Dateien auf Ihrem Computer.

Führen Sie folgende Schritte durch, um einen Container zu erstellen:

  1. Wählen Sie auf der Hauptseite die Schaltfläche Speicherkonten und dann das von Ihnen erstellte Speicherkonto aus.

  2. Klicken Sie unter Dienste auf Blobs und dann auf Container.

    Screenshot showing container creation

Containernamen müssen mit einem Buchstaben oder einer Zahl beginnen. Sie dürfen nur Buchstaben, Zahlen und den Bindestrich (-) enthalten. Weitere Benennungsregeln für Blobs und Container finden Sie unter Naming and Referencing Containers, Blobs, and Metadata (Benennen von Containern, Blobs und Metadaten und Verweisen auf diese).

Herunterladen von AzCopy

Laden Sie die ausführbare Datei für AzCopy V10 herunter:

Speichern Sie die AzCopy-Datei auf Ihrem Computer. Fügen Sie den Speicherort der Datei der Systempfadvariablen hinzu, damit Sie von einem beliebigen Ordner auf Ihrem Computer auf diese ausführbare Datei verweisen können.

Authentifizierung mit Microsoft Entra ID

Weisen Sie Ihrer Identität zunächst die Rolle Mitwirkender an Storage-Blobdaten zu. Weitere Informationen finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

Öffnen Sie anschließend eine Eingabeaufforderung, geben Sie den folgenden Befehl ein, und drücken Sie die EINGABETASTE.

azcopy login

Dieser Befehl gibt einen Authentifizierungscode und die URL einer Website zurück. Öffnen Sie die Website, geben Sie den Code ein, und wählen Sie dann die Schaltfläche Weiter aus.

Screenshot showing the login prompt

Daraufhin wird ein Anmeldefenster geöffnet. Melden Sie sich in diesem Fenster mit Ihren Azure-Kontoanmeldeinformationen bei Ihrem Azure-Konto an. Wenn Sie sich erfolgreich angemeldet haben, können Sie das Browserfenster schließen und mit der Verwendung von AzCopy beginnen.

Hochladen des Inhalts eines Ordners in Blobspeicher

Mit AzCopy können Sie unter Windows oder Linux alle Dateien in einem Ordner in Blob Storage hochladen. Um alle Blobs in einem Ordner hochzuladen, geben Sie den folgenden AzCopy-Befehl aus:

azcopy copy "<local-folder-path>" "https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>" --recursive=true
  • Ersetzen Sie den Platzhalter <local-folder-path> durch den Pfad zu einem Ordner, der Dateien enthält (beispielsweise C:\myFolder oder /mnt/myFolder).

  • Ersetzen Sie den Platzhalter <storage-account-name> durch den Namen Ihres Speicherkontos.

  • Ersetzen Sie den Platzhalter <container-name> durch den Namen des erstellten Containers.

Um die Inhalte des angegebenen Verzeichnisses rekursiv in Blob Storage hochzuladen, geben Sie die Option --recursive an. Beim Ausführen von AzCopy mit dieser Option werden auch alle Unterordner und die darin enthaltenen Dateien hochgeladen.

Hochladen geänderter Dateien in Blob Storage

Mit AzCopy können Sie Dateien basierend auf dem Zeitpunkt der letzten Änderung hochladen.

Um dies zu testen, ändern Sie Dateien im Quellverzeichnis oder erstellen neue Dateien für Testzwecke. Verwenden Sie anschließend den AzCopy-Befehl sync.

azcopy sync "<local-folder-path>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive=true
  • Ersetzen Sie den Platzhalter <local-folder-path> durch den Pfad zu einem Ordner, der Dateien enthält (beispielsweise C:\myFolder oder /mnt/myFolder).

  • Ersetzen Sie den Platzhalter <storage-account-name> durch den Namen Ihres Speicherkontos.

  • Ersetzen Sie den Platzhalter <container-name> durch den Namen des erstellten Containers.

Weitere Informationen zum Befehl sync finden Sie unter Transfer data with AzCopy and Blob storage (Übertragen von Daten mit AzCopy und Blob Storage).

Erstellen einer geplanten Aufgabe

Sie können einen geplanten Task oder Cron-Auftrag, der ein AzCopy-Befehlsskript ausführt, erstellen. Das Skript identifiziert neue lokale Daten und lädt diese in einem bestimmten Zeitintervall in den Cloudspeicher hoch.

Kopieren Sie den AzCopy-Befehl in einen Text-Editor. Aktualisieren Sie die Parameterwerte des AzCopy-Befehls mit den entsprechenden Werten. Speichern Sie die Datei als script.sh (Linux) oder script.bat (Windows) für AzCopy.

In diesem Beispielen wird davon ausgegangen, dass der Ordnername myFolder, der Speicherkontoname mystorageaccount und der Containername mycontainer lautet.

Hinweis

Im Linux-Beispiel wird ein SAS-Token angefügt. Sie müssen in Ihrem Befehl ein Token angeben. Die aktuelle Version von AzCopy V10 unterstützt die Microsoft Entra-Autorisierung in Cronjobs nicht.

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-05-30T06:57:40Z&st=2019-05-29T22:57:40Z&spr=https&sig=BXHippZxxx54hQn/4tBY%2BE2JHGCTRv52445rtoyqgFBUo%3D" --recursive=true

In diesem Tutorial wird SCHTASKS verwendet, um einen geplanten Task unter Windows zu erstellen. Der Crontab-Befehl wird verwendet, um einen Cron-Auftrag unter Linux zu erstellen.

SCHTASKS ermöglicht Administratoren das Erstellen, Löschen, Abfragen, Ändern, Ausführen und Beenden von geplanten Tasks auf einem lokalen oder Remotecomputer. Mithilfe von Cron können Linux- und UNIX-Benutzer Befehle oder Skripts zu einem bestimmten Datum und einer bestimmten Uhrzeit mithilfe von Cron-Ausdrücken ausführen.

Um einem Cron-Auftrag unter Linux zu erstellen, geben Sie den folgenden Befehl auf einem Terminalserver ein:

crontab -e
*/5 * * * * sh /path/to/script.sh

Durch Angabe des Cron-Ausdrucks */5 * * * * im Befehl wird angegeben, dass das Shell-Skript script.sh alle fünf Minuten ausgeführt werden soll. Sie können das Skript für die Ausführung zu einem bestimmten Zeitpunkt planen, d.h. täglich, monatlich oder jährlich. Weitere Informationen zum Festlegen von Datum und Uhrzeit für die Ausführung eines Auftrags finden Sie unter Cron-Ausdrücke.

Um zu überprüfen, ob der geplante Task bzw. Cron-Auftrag ordnungsgemäß ausgeführt wird, erstellen Sie neue Dateien in Ihrem Verzeichnis myFolder. Warten Sie fünf Minuten, um sicherzustellen, dass die neuen Dateien in Ihr Speicherkonto hochgeladen wurden. Navigieren Sie zu Ihrem Protokollverzeichnis, um Ausgabeprotokolle des geplanten Tasks oder Cron-Auftrags anzuzeigen.

Nächste Schritte

Weitere Informationen zu Möglichkeiten zum Verschieben von lokalen Daten in Azure Storage und umgekehrt finden Sie unter folgendem Link:

Weitere Informationen zu AzCopy finden Sie in den folgenden Artikeln: