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:
- Beispiele: Hochladen
- Beispiele: Kopieren zwischen Konten
- Beispiele: Synchronisieren
- Beispiele: Amazon S3-Buckets
- Beispiele: Google Cloud Storage
- Beispiele: Azure Files
- Tutorial: Migrieren von lokalen Daten zum Cloudspeicher mithilfe von AzCopy
Lesen Sie diese Artikel, um Einstellungen zu konfigurieren, die Leistung zu optimieren und Probleme zu beheben: