Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können das Befehlszeilenprogramm AzCopy v10 verwenden, um Blobs, Verzeichnisse und Container zwischen Speicherkonten zu kopieren.
Beispiele für andere Aufgabentypen, z. B. das Hochladen von Dateien, das Herunterladen von Blobs und die Synchronisierung mit Blob Storage, finden Sie unter den Links im Abschnitt "Nächste Schritte " dieses Artikels.
AzCopy verwendet die Server-zu-Server-APIs, sodass Daten direkt zwischen Speicherservern kopiert werden.
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 bereitstellen und dass Ihre Microsoft Entra-Identität über die richtigen Rollenzuweisungen für Quell- und Zielkonten verfügt.
Alternativ können Sie ein SAS-Token entweder an die Quell- oder Ziel-URL in jedem AzCopy-Befehl anfügen. Beispiel: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'.
Richtlinien
Wenden Sie die folgenden Richtlinien auf Ihre AzCopy-Befehle an.
Wenn Sie die Microsoft Entra-Autorisierung sowohl für die Quelle als auch für das Ziel verwenden, müssen beide Konten zum gleichen Microsoft Entra-Mandanten gehören.
Ihr Client muss über Netzwerkzugriff auf die Quell- und Zielspeicherkonten verfügen.
Weitere Informationen zum Konfigurieren der Netzwerkeinstellungen für die einzelnen Speicherkonten finden Sie unter Konfigurieren von Azure Storage-Firewalls und virtuellen Netzwerken.
Informationen zu unterstützten Netzwerktopologien beim Kopieren zwischen Konten finden Sie unter Kopieren von Blobs zwischen Speicherkonten mit Zugriffsbeschränkung.
Wenn Sie in ein Premium-Blockblob-Speicherkonto kopieren, lassen Sie die Zugriffsebene für ein Blob beim Kopiervorgang weg, indem Sie den Wert für
s2s-preserve-access-tierauffalsefestlegen (Beispiel:--s2s-preserve-access-tier=false). Premium-Blockblob-Speicherkonten unterstützen keine Zugriffsebenen.Sie können den Durchsatz von Kopiervorgängen erhöhen, indem Sie den Wert der Umgebungsvariablen
AZCOPY_CONCURRENCY_VALUEfestlegen. Weitere Informationen finden Sie unter Erhöhen der Parallelität.Wenn die Quellblobs Indextags aufweisen und Sie diese Tags beibehalten möchten, müssen Sie sie erneut auf die Ziel-BLOBs anwenden. Informationen zum Festlegen von Indextags finden Sie im Abschnitt Kopieren von Blobs und Hinzufügen von Indextags dieses Artikels.
Kopieren eines Blobs
Kopieren Sie ein Blob mit dem Befehl azcopy copy in ein anderes Speicherkonto.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Beispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Beispiel (Data Lake Storage-Endpunkte)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Der Kopiervorgang ist synchron. Wenn der Befehl zurückgegeben wird, gibt er an, dass alle Dateien kopiert werden.
Kopieren eines Verzeichnisses
Kopieren Sie ein Verzeichnis mit dem Befehl azcopy copy in ein anderes Speicherkonto.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Beispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Beispiel (Data Lake Storage-Endpunkte)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Der Kopiervorgang ist synchron. Wenn der Befehl zurückgegeben wird, werden alle Dateien kopiert.
Kopieren eines Containers
Kopieren Sie einen Container mit dem Befehl azcopy copy in ein anderes Speicherkonto.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Beispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Beispiel (Data Lake Storage-Endpunkte)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Der Kopiervorgang ist synchron. Wenn der Befehl zurückgegeben wird, werden alle Dateien kopiert.
Kopieren von Containern, Verzeichnissen und Blobs
Kopieren Sie alle Container, Verzeichnisse und Blobs mit dem Befehl azcopy copy in ein anderes Speicherkonto.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Beispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Beispiel (Data Lake Storage-Endpunkte)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
Der Kopiervorgang ist synchron. Wenn der Befehl zurückgegeben wird, gibt er an, dass alle Dateien kopiert werden.
Kopieren von Blobs und Hinzufügen von Indextags
Kopieren Sie Blobs in ein anderes Speicherkonto, und fügen Sie dem Zielblob Blobindextags hinzu.
Wenn Sie die Microsoft Entra-Autorisierung verwenden, weisen Sie Ihrem Sicherheitsprinzipal die Rolle Storage Blob Data Owner zu, oder gewähren 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 über die t SAS-Berechtigung Zugriff auf die Tags des Blobs gewähren.
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 valuehinzufügen möchten, fügen Sie --blob-tags='my%20tag=my%20tag%20value' den Zielparameter hinzu.
Trennen Sie mehrere Indextags mit einem kaufmännischen Und-Zeichen (&). Wenn Sie z. B. den Schlüssel my second tag und den Wert my second tag valuehinzufügen möchten, 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 gezeigt.
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.
Blobbeispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Verzeichnisbeispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Containerbeispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Kontobeispiel
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Der Kopiervorgang ist synchron. Wenn der Befehl zurückgegeben wird, werden alle Dateien kopiert.
Hinweis
Wenn Sie ein Verzeichnis, einen Container oder ein Konto für die Quelle angeben, weisen alle Blobs, die Sie an das Ziel kopieren, dieselben Tags auf, die Sie im Befehl angeben.
Kopieren mit optionalen Flags
Sie können den Kopiervorgang mit optionalen Flags optimieren. Hier sind einige Beispiele angegeben.
| Szenario | Flagge |
|---|---|
| Kopieren Sie Blobs als Block-, Seiten- oder Anfügeblobs. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
| Kopieren auf eine bestimmte Zugriffsebene (z. B. die Archivebene) | --block-blob-tier=[None|Heiß|Cool|Archiv] |
| Automatisches Dekomprimieren von Dateien | --decompress=[gzip|deflate] |
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 Pipingszenarien oder Emulatoren. Dieser Parameter hilft AzCopy dabei, den Kontext der Übertragung zu verstehen und entsprechend zu optimieren.
| FromTo-Wert | Description |
|---|---|
BlobBlob |
Kopieren zwischen zwei Azure Blob Storage-Speicherorten |
BlobBlobFS |
Kopieren von Azure Blob Storage nach Azure Data Lake Gen2 (BlobFS) |
BlobFSBlob |
Kopieren von Azure Data Lake Gen2 (BlobFS) nach Azure Blob Storage |
BlobFSBlobFS |
Kopieren zwischen zwei Azure Data Lake Gen2 (BlobFS)-Speicherorten |
BlobFSFile |
Kopieren von Azure Data Lake Gen2 (BlobFS) nach Azure File Storage |
BlobFile |
Kopieren von Azure Blob Storage nach Azure File Storage |
FileBlob |
Kopieren aus Azure File Storage nach Azure Blob Storage |
FileBlobFS |
Kopieren aus Azure File Storage nach Azure Data Lake Gen2 (BlobFS) |
Nächste Schritte
Weitere Beispiele finden Sie in diesen Artikeln:
- Beispiele: Hochladen
- Beispiele: Herunterladen
- Beispiele: Synchronisieren
- Beispiele: Amazon S3-Buckets
- Beispiele: Google Cloud Storage
- Beispiele: Azure Files
Lesen Sie diese Artikel, um Einstellungen zu konfigurieren, die Leistung zu optimieren und Probleme zu beheben:
- AzCopy v10-Konfigurationseinstellungen (Azure Storage)
- Optimieren der Leistung von AzCopy mit Azure Storage
- Ermitteln von Fehlern und Fortsetzen von Aufträgen mithilfe von Protokoll- und Plandateien in AzCopy
- Problembehandlung bei AzCopy v10
- Verwenden von AzCopy zum Kopieren von Blobs zwischen Azure-Speicherkonten mit Netzwerkeinschränkungen