Freigeben über


Herunterladen von Blobs aus Azure Blob Storage mithilfe von AzCopy

Mit dem Befehlszeilenprogramm AzCopy v10 können Sie Blobs und Verzeichnisse aus Blob Storage herunterladen.

Beispiele für andere Arten von Aufgaben, z. B. das Hochladen von Dateien, das Synchronisieren mit Blob Storage oder das Kopieren von Blobs zwischen Konten, finden Sie unter den Links im Abschnitt Nächste Schritte dieses Artikels.

Erste Schritte

Lesen Sie den Artikel Erste Schritte mit AzCopy, um AzCopy herunterzuladen und zu erfahren, wie Sie dem Speicherdienst Autorisierungsanmeldeinformationen bereitstellen können.

Hinweis

In den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie Anmeldeinformationen für die Autorisierung mithilfe von Microsoft Entra ID bereitgestellt haben.

Wenn Sie lieber ein SAS-Token für die Autorisierung des Zugriffs auf Blobdaten verwenden möchten, können Sie dieses Token in jedem AzCopy-Befehl an die Ressourcen-URL anfügen. Beispiel: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Herunterladen eines Blobs

Laden Sie ein Blob mithilfe des Befehls azcopy copy herunter.

Tipp

In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Beispiel (Data Lake Storage-Endpunkt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Hinweis

Wenn der Content-md5-Eigenschaftswert eines Blobs einen Hash enthält, berechnet AzCopy einen MD5-Hash für heruntergeladene Daten und überprüft, ob der in der Content-md5-Eigenschaft des Blobs gespeicherte MD5-Hash mit dem berechneten Hash übereinstimmt. Wenn diese Werte nicht übereinstimmen, wird der Download nicht durchgeführt, es sei denn, Sie überschreiben dieses Verhalten, indem Sie --check-md5=NoCheck oder --check-md5=LogOnly an den Kopierbefehl anfügen.

Herunterladen eines Verzeichnisses

Laden Sie ein Verzeichnis mithilfe des Befehls azcopy copy herunter.

Tipp

In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Beispiel (Data Lake Storage-Endpunkt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

In diesem Beispiel wird das Verzeichnis C:\myDirectory\myBlobDirectory erstellt, das alle heruntergeladenen Blobs enthält.

Herunterladen von Verzeichnisinhalten

Mithilfe des Platzhaltersymbols (*) können Sie die Inhalte eines Verzeichnisses herunterladen, ohne das Verzeichnis selbst zu kopieren.

Tipp

In diesem Beispiel werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.

Hinweis

Dieses Szenario wird derzeit nur für Konten unterstützt, die keinen hierarchischen Namespace besitzen.

Syntax

azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'

Fügen Sie das Flag --recursive an, um Dateien in allen Unterverzeichnissen herunterzuladen.

Herunterladen bestimmter Blobs

Sie können bestimmte Blobs mithilfe von vollständigen Dateinamen, partiellen Namen mit Platzhalterzeichen (*) oder mithilfe von Datums- und Uhrzeitwerten herunterladen.

Tipp

In diesen Beispielen werden Pfadargumente in einfache Anführungszeichen ('') eingeschlossen. Verwenden Sie in allen Befehlsshells außer der Windows-Befehlszeile (cmd.exe) einfache Anführungszeichen. Wenn Sie eine Windows-Befehlszeile (cmd.exe) verwenden, müssen Sie Pfadargumente in doppelte Anführungszeichen ("") anstelle von einfachen Anführungszeichen ('') einschließen.

Angeben mehrerer vollständiger Blobnamen

Verwenden Sie den Befehl azcopy copy mit der Option --include-path. Trennen Sie einzelne Blobnamen durch ein Semikolon (;).

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive

Beispiel (Data Lake Storage-Endpunkt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt'--recursive

In diesem Beispiel überträgt AzCopy das Verzeichnis https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos und die Datei https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt. Fügen Sie die Option --recursive ein, um alle Blobs im Verzeichnis https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos zu übertragen.

Mit der Option --exclude-path können Sie Dateien auch ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.

Verwenden von Platzhalterzeichen

Verwenden Sie den Befehl azcopy copy mit der Option --include-pattern. Geben Sie Namen mithilfe von Platzhalterzeichen teilweise an. Trennen Sie die Namen durch Semikolons (;).

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Beispiel (hierarchischer Namespace)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Mit der Option --exclude-pattern können Sie Dateien auch ausschließen. Weitere Informationen finden Sie in den Referenzdokumenten zu azcopy copy.

Die Optionen --include-pattern und --exclude-pattern gelten nur für Blobnamen und nicht für den Pfad. Wenn Sie alle Textdateien (Blobs) in einer Verzeichnisstruktur kopieren möchten, verwenden Sie die Option -recursive zum Abrufen der gesamten Verzeichnisstruktur. Verwenden Sie dann -include-pattern, und geben Sie *.txt an, um alle Textdateien abzurufen.

Herunterladen von Blobs, die vor oder nach einem bestimmten Datum und einer bestimmten Uhrzeit geändert wurden

Verwenden Sie den Befehl azcopy copy mit der Option --include-before oder --include-after. Geben Sie ein Datum und eine Uhrzeit im ISO 8601-Format an (z. B. 2020-08-19T15:04:00Z).

In den folgenden Beispielen werden Dateien heruntergeladen, die am oder nach dem angegebenen Datum geändert wurden.

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Beispiel (Data Lake Storage-Endpunkt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Ausführliche Informationen finden Sie in den azcopy copy-Referenzdokumenten.

Herunterladen früherer Versionen eines Blobs

Wenn Sie die Blobversionsverwaltung aktiviert haben, können Sie frühere Versionen eines Blobs herunterladen.

Erstellen Sie zunächst eine Textdatei, die eine Liste mit Versions-IDs enthält. Jede Versions-ID muss in einer eigenen Zeile stehen. Beispiel:

2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z

Verwenden Sie dann den Befehl azcopy copy mit der Option --list-of-versions. Geben Sie den Speicherort der Textdatei mit der Liste der Versionen an (z. B. D:\\list-of-versions.txt).

Herunterladen einer Blobmomentaufnahme

Sie können eine Blobmomentaufnahme herunterladen, indem Sie auf den DateTime-Wert einer Blobmomentaufnahme verweisen.

Syntax

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'

Beispiel

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Beispiel (Data Lake Storage-Endpunkt)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Hinweis

Wenn Sie ein SAS-Token verwenden, um den Zugriff auf Blobdaten zu autorisieren, fügen Sie den DateTime-Wert der Momentaufnahme nach dem SAS-Token an. Beispiel: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

Herunterladen mit optionalen Flags

Sie können den Downloadvorgang mit optionalen Flags optimieren. Hier sind einige Beispiele angegeben.

Szenario Flag
Automatisches Dekomprimieren von Dateien DECOMPRESS
Geben Sie an, wie detailliert die kopierbezogenen Protokolleinträge sein sollen. --log-level=[WARNING|ERROR|INFO|NONE]
Geben Sie an, ob und wie die in Konflikt stehenden Dateien und Blobs im Ziel überschrieben werden sollen. --overwrite=[true|false|ifSourceNewer|prompt]

Eine vollständige Liste finden Sie unter Optionen.

Herunterladen statischer Websiteinhalte

AzCopy unterstützt das Herunterladen von Daten von statischen Websites, die in Azure Storage gehostet werden, nicht über den öffentlichen Endpunkt, z. B. https://mystorageaccount.z12.web.core.windows.net. Verwenden Sie stattdessen den $web-Container am Blobendpunkt, um Dateien von Ihrer statischen Website herunterzuladen.

azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive

Nächste Schritte

Weitere Beispiele finden Sie in diesen Artikeln:

Lesen Sie diese Artikel, um Einstellungen zu konfigurieren, die Leistung zu optimieren und Probleme zu beheben: