Freigeben über


Hochladen von Dateien in Azure Blob Storage mithilfe von AzCopy

Mit dem Befehlszeilenprogramm AzCopy v10 können Sie Dateien und Verzeichnisse in Blob Storage hochladen.

Beispiele für andere Arten von Aufgaben, z. B. das Herunterladen 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 Autorisierungsanmeldeinformationen mithilfe der Microsoft Entra-ID angeben.

Wenn Sie ein SAS-Token verwenden möchten, um den Zugriff auf Blobdaten zu autorisieren, fügen Sie dieses Token an die Ressourcen-URL in jedem AzCopy-Befehl an. Beispiel: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Erstellen eines Containers

Verwenden Sie den Befehl "azcopy make " zum Erstellen eines Containers.

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-Befehlsshell (cmd.exe) verwenden, schließen Sie Pfadargumente mit doppelten Anführungszeichen ("") anstelle einzelner Anführungszeichen ('' ein).

Syntax

azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Beispiel

azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'

Beispiel (Data Lake Storage-Endpunkt)

azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'

Ausführliche Referenzdokumente finden Sie unter azcopy make.

Hochladen einer Datei

Laden Sie eine Datei mithilfe des Befehls azcopy copy hoch.

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-Befehlsshell (cmd.exe) verwenden, schließen Sie Pfadargumente mit doppelten Anführungszeichen ("") anstelle einzelner Anführungszeichen ('' ein).

Syntax

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

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

Sie können eine Datei auch mit einem Platzhaltersymbol (*) an einer beliebigen Stelle im Dateipfad oder Dateinamen hochladen. Beispiel: 'C:\myDirectory\*.txt' oder C:\my*\*.txt

Hochladen eines Verzeichnisses

Laden Sie ein Verzeichnis mithilfe des Befehls azcopy copy hoch.

Dieses Beispiel kopiert ein Verzeichnis (sowie alle in diesem Verzeichnis enthaltenen Dateien) in einen Blobcontainer. Das Ergebnis ist ein Verzeichnis im Container mit demselben Namen.

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-Befehlsshell (cmd.exe) verwenden, schließen Sie Pfadargumente mit doppelten Anführungszeichen ("") anstelle einzelner Anführungszeichen ('' ein).

Syntax

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

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

Um ein Verzeichnis innerhalb des Containers zu kopieren, geben Sie einfach den Namen des Verzeichnisses in Ihrer Befehlszeichenfolge an.

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

Wenn Sie den Namen eines Verzeichnisses angeben, das im Container nicht vorhanden ist, erstellt AzCopy ein neues Verzeichnis mit diesem Namen.

Hochladen von Verzeichnisinhalten

Laden Sie den Inhalt eines Verzeichnisses mithilfe des Befehls azcopy copy hoch. Verwenden Sie das Platzhaltersymbol (*) zum Hochladen des Inhalts, ohne das enthaltende Verzeichnis selbst zu kopieren.

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-Befehlsshell (cmd.exe) verwenden, schließen Sie Pfadargumente mit doppelten Anführungszeichen ("") anstelle einzelner Anführungszeichen ('' ein).

Syntax

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

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

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

Hochladen bestimmter Dateien

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

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 Dateinamen

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

Syntax

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

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

In diesem Beispiel überträgt AzCopy das Verzeichnis C:\myDirectory\photos und die Datei C:\myDirectory\documents\myFile.txt. Schließen Sie die Option --recursive ein, um alle Dateien im Verzeichnis C:\myDirectory\photos zu übertragen.

Mit der Option --exclude-path können Sie auch Dateien 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

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

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

Hochladen von Dateien, 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 hochgeladen, die am oder nach dem angegebenen Datum geändert wurden.

Syntax

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

Beispiel

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

Beispiel (Data Lake Storage-Endpunkt)

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

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

Hochladen mit Indextags

Sie können eine Datei hochladen und dem Zielblob Blobindextags hinzufügen.

Wenn Sie die Microsoft Entra-Autorisierung verwenden, weisen Sie Ihrem Sicherheitsprinzipal die Rolle Storage Blob Data Owner zu, oder erteilen Sie ihm die Berechtigung für den Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeAzure-Ressourcenanbietervorgang über eine benutzerdefinierte Azure-Rolle. Wenn Sie ein SAS-Token (Shared Access Signature) verwenden, muss das Token den Zugriff auf die Blob-Tags über die t SAS-Berechtigung bereitstellen.

Verwenden Sie zum Hinzufügen von Tags die --blob-tags Option mit einem URL-codierten Schlüsselwertpaar. Wenn Sie z. B. den Schlüssel my tag und den Wert my tag value hinzufügen möchten, schließen Sie --blob-tags='my%20tag=my%20tag%20value' in den Zielparameter ein.

Trennen Sie mehrere Indextags mit einem kaufmännischen Und-Zeichen (&). Um z. B. den Schlüssel my second tag und den Wert my second tag valuehinzuzufügen, lautet --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'die vollständige Optionszeichenfolge .

In den folgenden Beispielen wird die Verwendung der Option --blob-tags veranschaulicht.

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-Befehlsshell (cmd.exe) verwenden, schließen Sie Pfadargumente mit doppelten Anführungszeichen ("") anstelle einzelner Anführungszeichen ('' ein).

Hochladen einer Datei

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Hochladen eines Verzeichnisses

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Hochladen von Verzeichnisinhalten

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Hinweis

Wenn Sie ein Verzeichnis für die Quelle angeben, weisen alle Blobs, die Sie an das Ziel kopieren, dieselben Tags auf, die Sie im Befehl angeben.

Hochladen mit optionalen Flags

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

Szenario Flag
Hochladen von Dateien als Anfüge- oder Seitenblobs --blob-type=[BlockBlob|PageBlob|AppendBlob]
Hochladen auf eine bestimmte Zugriffsebene (z. B. die Archivebene) --block-blob-tier=[None|Hot|Cool|Archive]

Eine vollständige Liste finden Sie unter Optionen.

Angeben von Quell- und Zieltypen

AzCopy verwendet den --from-to Parameter, um die Quell- und Zielressourcentypen explizit zu definieren, wenn die automatische Erkennung fehlschlägt – z. B. in Rohrleitungsszenarien oder Emulatoren. Dieser Parameter hilft AzCopy dabei, den Kontext der Übertragung zu verstehen und entsprechend zu optimieren.

FromTo-Wert Description
LocalBlob Hochladen vom lokalen Dateisystem in Azure Blob Storage
LocalBlobFS Hochladen vom lokalen Dateisystem in Azure Data Lake Gen2 (BlobFS)
PipeBlob Streamen von Daten aus einer Pipe an Azure Blob Storage
PipeFile Streamen von Daten aus einer Pipe an Azure File Storage

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: