Übertragen von Daten mit AzCopy v10Transfer data with AzCopy v10

AzCopy ist das Befehlszeilenprogramm zum Kopieren von Daten für Microsoft Azure Blob Storage und File Storage.AzCopy is the command-line utility for copying data to or from Microsoft Azure Blob and File storage. AzCopy verfügt über eine neu entworfene Befehlszeilenschnittstelle und eine neue Architektur für zuverlässige Datenübertragungen.AzCopy offers a redesigned command-line interface, and new architecture for reliable data transfers. Mit AzCopy können Sie Daten zwischen einem Dateisystem und einem Speicherkonto oder zwischen Speicherkonten kopieren.By using AzCopy, you can copy data between a file system and a storage account, or between storage accounts.

Neuerungen in AzCopy v10What's new in AzCopy v10

  • Dateisysteme werden mit Azure-Blobspeicher synchronisiert (oder umgekehrt).Synchronizes file systems to Azure Blob storage or vice versa. Verwenden Sie azcopy sync <source> <destination>.Use azcopy sync <source> <destination>. Ideal geeignet für Szenarien mit inkrementellen Kopien.Ideal for incremental copy scenarios.
  • Unterstützt Azure Data Lake Storage Gen2-APIs.Supports Azure Data Lake Storage Gen2 APIs. Verwenden Sie myaccount.dfs.core.windows.net als URI zum Aufrufen der Data Lake Storage Gen2-APIs.Use myaccount.dfs.core.windows.net as a URI to call the Data Lake Storage Gen2 APIs.
  • Unterstützt das Kopieren eines gesamten Kontos (nur Blob-Dienst) in ein anderes Konto.Supports copying an entire account (Blob service only) to another account.
  • Unterstützt das Kopieren von Daten aus einem Amazon Web Services-S3-Bucket.Supports copying data from an Amazon Web Services S3 bucket.
  • Die neuen Put Block from URL-APIs werden verwendet, um das Kopieren von Konto zu Konto zu unterstützen.Uses the new Put Block from URL APIs to support account-to-account copy. Die Datenübertragung ist schneller, da die Übertragung an den Client nicht erforderlich ist.The data transfer is faster, since transfer to the client isn't required.
  • Listet Dateien und Blobs unter einem bestimmten Pfad auf bzw. entfernt sie.Lists or removes files and blobs in a given path.
  • Unterstützt Platzhaltermuster in einem Pfad sowie „--exclude“-Flags.Supports wildcard patterns in a path, and --exclude flags.
  • Erstellt für jede AzCopy-Instanz eine Auftragsreihenfolge und eine zugehörige Protokolldatei.Creates a job order and a related log file with every AzCopy instance. Sie können vorherige Aufträge anzeigen und neu starten und fehlgeschlagene Aufträge fortsetzen.You can view and restart previous jobs, and resume failed jobs. AzCopy wiederholt außerdem eine Übertragung automatisch nach einem Fehler.AzCopy will also automatically retry a transfer after a failure.
  • Umfasst allgemeine Leistungsverbesserungen.Features general performance improvements.

Herunterladen und Installieren von AzCopyDownload and install AzCopy

Neueste Produktionsversion (v10)Latest production version (v10)

Laden Sie die neueste Version von AzCopy herunter:Download the latest version of AzCopy:

Die neueste AzCopy-Version unterstützt den Table Storage-Dienst (v7.3)Latest AzCopy supporting Table storage service (v7.3)

Laden Sie AzCopy v7.3 mit Unterstützung für das Kopieren von Daten in den bzw. aus dem Microsoft Azure Table Storage-Dienst herunter.Download the AzCopy v7.3 supporting copying data to/from Microsoft Azure Table storage service.

Schritte nach der InstallationPost-installation steps

Eine Installation von AzCopy ist nicht erforderlich.AzCopy doesn't require an installation. Öffnen Sie Ihre bevorzugte Befehlszeilenanwendung, und navigieren Sie zu dem Ordner, in dem azcopy.exe enthalten ist.Open your preferred command-line application and browse to the folder where azcopy.exe is located. Bei Bedarf können Sie den Speicherort für den AzCopy-Ordner der Einfachheit halber dem Systempfad hinzufügen.If needed, you can add the AzCopy folder location to your system path for ease of use.

AuthentifizierungsoptionenAuthentication options

AzCopy unterstützt die folgenden Optionen bei der Authentifizierung mit Azure Storage:AzCopy supports the following options when authenticating with Azure Storage:

  • Azure Active Directory (wird für Blob- und Data Lake Storage Gen2-Dienste unterstützt).Azure Active Directory (Supported for Blob and Data Lake Storage Gen2 services). Verwenden Sie .\azcopy login, um sich mit Azure Active Directory anzumelden.Use .\azcopy login to sign in with Azure Active Directory. Dem Benutzer muss die Rolle „Mitwirkender an Storage-Blobdaten“ zugewiesen sein, damit er per Azure Active Directory-Authentifizierung in den Blobspeicher schreiben kann.The user should have "Storage Blob Data Contributor" role assigned to write to Blob storage with Azure Active Directory authentication. Verwenden Sie azcopy login --identity, um die Authentifizierung über verwaltete Identitäten für Azure-Ressourcen zu verwalten.For authentication via managed identities for Azure resources, use azcopy login --identity.
  • Shared Access Signature-Token [werden für Blob- und Dateidienste unterstützt].Shared access signature tokens [Supported for Blob and File services]. Fügen Sie das SAS-Token (Shared Access Signature) dem Blobpfad in der Befehlszeile hinzu, um es zu verwenden.Append the shared access signature (SAS) token to the blob path on the command line to use it. Sie können das SAS-Token mit dem Azure-Portal, Storage-Explorer, PowerShell oder anderen Tools Ihrer Wahl generieren.You can generate SAS tokens with the Azure portal, Storage Explorer, PowerShell, or other tools of your choice. Weitere Informationen finden Sie unter Beispiele.For more information, see examples.

Erste SchritteGetting started

Tipp

Ziehen Sie eine grafische Benutzeroberfläche vor?Prefer a graphical user interface?

Für Azure Storage-Explorer – ein Desktopclient, der die Verwaltung von Azure Storage-Daten vereinfacht – wird jetzt AzCopy verwendet, um Datenübertragungen in und aus Azure Storage zu beschleunigen.Azure Storage Explorer, a desktop client that simplifies managing Azure Storage data, now uses AzCopy to accelerate data transfer to and out of Azure Storage.

Aktivieren Sie AzCopy in Storage-Explorer über das Menü Vorschau.Enable AzCopy in Storage Explorer under the Preview menu. Aktivieren von AzCopy als Übertragungsmodul in Azure Storage-ExplorerEnable AzCopy as a transfer engine in Azure Storage Explorer

AzCopy v10 verfügt über eine selbstdokumentierte Syntax.AzCopy v10 has a self-documented syntax. Wenn Sie sich an Azure Active Directory angemeldet haben, sieht die allgemeine Syntax wie folgt aus:When you have logged in to Azure Active Directory, the general syntax looks like the following:

.\azcopy <command> <arguments> --<flag-name>=<flag-value>

# Examples if you have logged into the Azure Active Directory:
.\azcopy copy <source path> <destination path> --<flag-name>=<flag-value>
.\azcopy cp "C:\local\path" "https://account.blob.core.windows.net/container" --recursive=true
.\azcopy cp "C:\local\path\myfile" "https://account.blob.core.windows.net/container/myfile"
.\azcopy cp "C:\local\path\*" "https://account.blob.core.windows.net/container"

# Examples if you're using SAS tokens to authenticate:
.\azcopy cp "C:\local\path" "https://account.blob.core.windows.net/container?st=2019-04-05T04%3A10%3A00Z&se=2019-04-13T04%3A10%3A00Z&sp=rwdl&sv=2018-03-28&sr=c&sig=Qdihej%2Bsbg4AiuyLVyQZklm9pSuVGzX27qJ508wi6Es%3D" --recursive=true
.\azcopy cp "C:\local\path\myfile" "https://account.blob.core.windows.net/container/myfile?st=2019-04-05T04%3A10%3A00Z&se=2019-04-13T04%3A10%3A00Z&sp=rwdl&sv=2018-03-28&sr=c&sig=Qdihej%2Bsbg4AiuyLVyQZklm9pSuVGzX27qJ508wi6Es%3D"

Eine Liste der verfügbaren Befehle können Sie folgendermaßen abrufen:Here's how you can get a list of available commands:

.\azcopy --help
# To use the alias instead
.\azcopy -h

Führen Sie den folgenden Befehl aus, um die Hilfeseite und Beispiele für einen bestimmten Befehl anzuzeigen:To see the help page and examples for a specific command, run the following command:

.\azcopy <cmd> --help
# Example:
.\azcopy cp -h

Erstellen eines Blobcontainers oder einer DateifreigabeCreate a blob container or file share

Erstellen eines BlobcontainersCreate a blob container

.\azcopy make "https://account.blob.core.windows.net/container-name"

Erstellen einer DateifreigabeCreate a file share

.\azcopy make "https://account.file.core.windows.net/share-name"

Erstellen eines Blobcontainers mit Azure Data Lake Storage Gen2Create a blob container by using Azure Data Lake Storage Gen2

Wenn Sie hierarchische Namespaces in Ihrem Blobspeicherkonto aktiviert haben, können Sie mit dem folgenden Befehl einen neuen Blobcontainer zum Hochladen von Dateien erstellen.If you've enabled hierarchical namespaces on your Blob storage account, you can use the following command to create a new blob container for uploading files.

.\azcopy make "https://account.dfs.core.windows.net/top-level-resource-name"

Kopieren von Daten in Azure StorageCopy data to Azure Storage

Verwenden Sie den Kopierbefehl, um Daten aus der Quelle in das Ziel zu übertragen.Use the copy command to transfer data from the source to the destination. Die Quelle bzw. das Ziel kann Folgendes sein:The source or destination can be a:

  • Ein lokales DateisystemLocal file system
  • Azure-Blob/virtuelles Verzeichnis/Container-URIAzure Blob/Virtual Directory/Container URI
  • Azure-Datei/Verzeichnis/Dateifreigabe-URIAzure File/Directory/File Share URI
  • Azure Data Lake Storage Gen2-Dateisystem/Verzeichnis/Datei-URIAzure Data Lake Storage Gen2 Filesystem/Directory/File URI
.\azcopy copy <source path> <destination path> --<flag-name>=<flag-value>
# Using the alias instead 
.\azcopy cp <source path> <destination path> --<flag-name>=<flag-value>

Mit dem folgenden Befehl werden alle Dateien unter dem Ordner C:\local\path rekursiv in den Container mycontainer1 hochgeladen, und im Container wird das Verzeichnis path erstellt.The following command uploads all files under the folder C:\local\path recursively to the container mycontainer1, creating path directory in the container. Wenn das Flag --put-md5 bereitgestellt wird, berechnet und speichert AzCopy das md5-Hash jeder Datei in der Eigenschaft Content-md5 des entsprechenden Blobs zur späteren Verwendung.When --put-md5 flag is provided, AzCopy calculates and stores each file's md5 hash in Content-md5 property of the corresponding blob for later use.

.\azcopy cp "C:\local\path" "https://account.blob.core.windows.net/mycontainer1<sastoken>" --recursive=true --put-md5

Der folgende Befehl lädt alle Dateien unter dem Ordner C:\local\path (nicht rekursiv, also ohne Unterverzeichnisse) in den Container mycontainer1 hoch:The following command uploads all files under the folder C:\local\path (without recursing into the subdirectories) to the container mycontainer1:

.\azcopy cp "C:\local\path\*" "https://account.blob.core.windows.net/mycontainer1<sastoken>" --put-md5

Verwenden Sie den folgenden Befehl, um weitere Beispiele abzurufen:To find more examples, use the following command:

.\azcopy cp -h

Kopieren von Blobdaten zwischen zwei SpeicherkontenCopy Blob data between two storage accounts

Beim Kopieren von Daten zwischen zwei Speicherkonten wird die Put Block From URL-API und nicht die Netzwerkbandbreite des Clientcomputers genutzt.Copying data between two storage accounts uses the Put Block From URL API, and doesn't use the client machine's network bandwidth. Daten werden zwischen zwei Azure Storage-Servern direkt kopiert, während AzCopy den Kopiervorgang einfach orchestriert.Data is copied between two Azure Storage servers directly, while AzCopy simply orchestrates the copy operation. Diese Option ist derzeit nur für Blobspeicher verfügbar.This option is currently only available for Blob storage.

Um alle Blobdaten zwischen zwei Speicherkonten zu kopieren, verwenden Sie den folgenden Befehl:To copy the all of the Blob data between two storage accounts, use the following command:

.\azcopy cp "https://myaccount.blob.core.windows.net/<sastoken>" "https://myotheraccount.blob.core.windows.net/<sastoken>" --recursive=true

Um einen Blobcontainer in einen anderen Blobcontainer zu kopieren, verwenden Sie den folgenden Befehl:To copy a Blob container to another Blob container, use the following command:

.\azcopy cp "https://myaccount.blob.core.windows.net/mycontainer/<sastoken>" "https://myotheraccount.blob.core.windows.net/mycontainer/<sastoken>" --recursive=true

Kopieren eines VHD-Image in ein SpeicherkontoCopy a VHD image to a storage account

AzCopy lädt Daten standardmäßig in Blockblobs hoch.AzCopy by default uploads data into block blobs. Um Dateien als Anfügeblobs oder Seitenblobs hochzuladen, verwenden Sie das Flag --blob-type=[BlockBlob|PageBlob|AppendBlob].To upload files as Append Blobs, or Page Blobs use the flag --blob-type=[BlockBlob|PageBlob|AppendBlob].

.\azcopy cp "C:\local\path\mydisk.vhd" "https://myotheraccount.blob.core.windows.net/mycontainer/mydisk.vhd<sastoken>" --blob-type=PageBlob

Sync: inkrementelles Kopieren und Löschen (nur Blob Storage)Sync: incremental copy and delete (Blob storage only)

Mit dem Synchronisierungsbefehl wird der Inhalt eines Quellverzeichnisses mit einem Verzeichnis im Zielverzeichnis synchronisiert, wobei Dateinamen und die Zeitstempel der letzten Änderung verglichen werden.The sync command synchronizes contents of a source directory to a directory in the destination, comparing file names and last modified timestamps. Dieser Vorgang umfasst das optionale Löschen von Zieldateien, wenn diese in der Quelle nicht vorhanden sind und das Flag --delete-destination=prompt|true angegeben ist.This operation includes the optional deletion of destination files if those do not exist in the source when the --delete-destination=prompt|true flag is provided. Standardmäßig ist das Löschverhalten deaktiviert.By default, the delete behavior is disabled.

Hinweis

Verwenden Sie das Flag --delete-destination mit Vorsicht.Use the --delete-destination flag with caution. Aktivieren Sie das Feature Vorläufiges Löschen, bevor Sie das Löschverhalten bei der Synchronisierung aktivieren, um versehentliche Löschvorgänge in Ihrem Konto zu vermeiden.Enable the soft delete feature before you enable delete behavior in sync to prevent accidental deletions in your account.

Wenn --delete-destination auf TRUE festgelegt ist, löscht AzCopy Dateien, die in der Quelle nicht vorhanden sind, ohne Aufforderung des Benutzers aus dem Ziel.When --delete-destination is set to true, AzCopy will delete files that do not exist in the source from destination without any prompt to the user. Verwenden Sie --delete-destination=prompt, wenn Sie zur Bestätigung aufgefordert werden möchten.If you want to be prompted for confirmation, use --delete-destination=prompt.

Verwenden Sie den folgenden Befehl, um Ihr lokales Dateisystem mit einem Speicherkonto zu synchronisieren:To sync your local file system to a storage account, use the following command:

.\azcopy sync "C:\local\path" "https://account.blob.core.windows.net/mycontainer1<sastoken>" --recursive=true

Sie können auch einen Blobcontainer mit einem lokalen Dateisystem synchronisieren:You can also sync a blob container down to a local file system:

# The SAS token isn't required for Azure Active Directory authentication.
.\azcopy sync "https://account.blob.core.windows.net/mycontainer1" "C:\local\path" --recursive=true

Mit diesem Befehl wird die Quelle basierend auf den Zeitstempeln der letzten Änderung inkrementell mit dem Ziel synchronisiert.This command incrementally syncs the source to the destination based on the last modified timestamps. Wenn Sie eine Datei in der Quelle hinzufügen oder löschen, verfährt AzCopy am Ziel auf die gleiche Weise.If you add or delete a file in the source, AzCopy will do the same in the destination. Vor dem Löschen werden Sie von AzCopy zum Bestätigen aufgefordert.Before deletion, AzCopy will prompt you to confirm.

Kopieren von Daten aus Amazon Web Services (AWS) S3Copy data from Amazon Web Services (AWS) S3

Legen Sie für die Authentifizierung mit einem AWS S3-Bucket die folgenden Umgebungsvariablen fest:To authenticate with an AWS S3 bucket, set the following environment variables:

# For Windows:
set AWS_ACCESS_KEY_ID=<your AWS access key>
set AWS_SECRET_ACCESS_KEY=<AWS secret access key>
# For Linux:
export AWS_ACCESS_KEY_ID=<your AWS access key>
export AWS_SECRET_ACCESS_KEY=<AWS secret access key>
# For MacOS
export AWS_ACCESS_KEY_ID=<your AWS access key>
export AWS_SECRET_ACCESS_KEY=<AWS secret access key>

Geben Sie zum Kopieren des Buckets in einen Blobcontainer den folgenden Befehl ein:To copy the bucket to a Blob container, issue the following command:

.\azcopy cp "https://s3.amazonaws.com/mybucket" "https://myaccount.blob.core.windows.net/mycontainer?<sastoken>" --recursive

Weitere Informationen zum Kopieren von Daten aus AWS S3 mithilfe von AzCopy finden Sie auf der Seite hier.For more details on copying data from AWS S3 using AzCopy, see the page here.

Erweiterte KonfigurationAdvanced configuration

Konfigurieren von ProxyeinstellungenConfigure proxy settings

Um die Proxyeinstellungen für AzCopy v10 zu konfigurieren, legen Sie die Umgebungsvariable „https_proxy“ mit dem folgenden Befehl fest:To configure the proxy settings for AzCopy v10, set the environment variable https_proxy by using the following command:

# For Windows:
set https_proxy=<proxy IP>:<proxy port>
# For Linux:
export https_proxy=<proxy IP>:<proxy port>
# For MacOS
export https_proxy=<proxy IP>:<proxy port>

Optimieren des DurchsatzesOptimize throughput

Legen Sie die Umgebungsvariable AZCOPY_CONCURRENCY_VALUE fest, um die Anzahl von gleichzeitigen Anforderungen zu konfigurieren und die Durchsatzleistung und Ressourcennutzung zu steuern.Set the environment variable AZCOPY_CONCURRENCY_VALUE to configure the number of concurrent requests, and to control the throughput performance and resource consumption. Standardmäßig ist der Wert auf 300 festgelegt.The value is set to 300 by default. Die Verringerung des Werts schränkt die von AzCopy v10 verwendete Bandbreite und CPU ein.Reducing the value will limit the bandwidth and CPU used by AzCopy v10.

# For Windows:
set AZCOPY_CONCURRENCY_VALUE=<value>
# For Linux:
export AZCOPY_CONCURRENCY_VALUE=<value>
# For MacOS
export AZCOPY_CONCURRENCY_VALUE=<value>
# To check the current value of the variable on all the platforms
.\azcopy env
# If the value is blank then the default value is currently in use

Ändern des Speicherorts der ProtokolldateienChange the location of the log files

Sie können den Speicherort der Protokolldateien bei Bedarf ändern oder, um eine Überfüllung des Betriebssystemdatenträgers zu vermeiden.You can change the location of the log files if needed or to avoid filling up the OS disk.

# For Windows:
set AZCOPY_LOG_LOCATION=<value>
# For Linux:
export AZCOPY_LOG_LOCATION=<value>
# For MacOS
export AZCOPY_LOG_LOCATION=<value>
# To check the current value of the variable on all the platforms
.\azcopy env
# If the value is blank, then the default value is currently in use

Ändern der StandardprotokollebeneChange the default log level

Standardmäßig ist die AzCopy-Protokollebene auf INFO festgelegt.By default, AzCopy log level is set to INFO. Wenn Sie die Ausführlichkeit des Protokolls verringern möchten, um Speicherplatz zu sparen, überschreiben Sie die Einstellung mit der --log-level-Option.If you would like to reduce the log verbosity to save disk space, overwrite the setting using --log-level option. Verfügbare Protokollebenen sind: DEBUG, INFO, WARNING, ERROR, PANIC und FATAL.Available log levels are: DEBUG, INFO, WARNING, ERROR, PANIC, and FATAL.

Überprüfen der Protokolle auf FehlerReview the logs for errors

Der folgende Befehl ruft alle Fehler mit dem Status UPLOADFAILED aus dem Protokoll 04dc9ca9-158f-7945-5933-564021086c79 ab:The following command will get all errors with UPLOADFAILED status from the 04dc9ca9-158f-7945-5933-564021086c79 log:

cat 04dc9ca9-158f-7945-5933-564021086c79.log | grep -i UPLOADFAILED

ProblembehandlungTroubleshooting

AzCopy erstellt Protokolldateien und Plandateien für jeden Auftrag.AzCopy creates log files and plan files for every job. Sie können die Protokolle verwenden, um potenzielle Probleme zu untersuchen und zu beheben.You can use the logs to investigate and troubleshoot any potential problems. Die Protokolle enthalten den Status des Fehlers (UPLOADFAILED, COPYFAILED und DOWNLOADFAILED), den vollständigen Pfad und den Grund des Fehlers.The logs will contain the status of failure (UPLOADFAILED, COPYFAILED, and DOWNLOADFAILED), the full path, and the reason of the failure. Die Auftragsprotokolle und Plandateien sind im Ordner „%USERPROFILE\.azcopy“ (unter Windows) bzw. im Ordner „$HOME\.azcopy“ (unter Mac und Linux) gespeichert.The job logs and plan files are located in the %USERPROFILE\.azcopy folder on Windows or $HOME\.azcopy folder on Mac and Linux.

Wichtig

Geben Sie beim Senden einer Anforderung an den Microsoft-Support (oder bei der Problembehandlung unter Einbeziehung eines Drittanbieters) die bearbeitete Version des Befehls an, den Sie ausführen möchten.When submitting a request to Microsoft Support (or troubleshooting the issue involving any third party), share the redacted version of the command you want to execute. So wird sichergestellt, dass die SAS nicht versehentlich offengelegt wird.This ensures the SAS isn't accidentally shared with anybody. Die editierte Version steht am Anfang der Protokolldatei.You can find the redacted version at the start of the log file.

Anzeigen und Fortsetzen von AufträgenView and resume jobs

Jeder Übertragungsvorgang erstellt einen AzCopy-Auftrag.Each transfer operation will create an AzCopy job. Verwenden Sie den folgenden Befehl, um den Verlauf von Aufträgen anzuzeigen:Use the following command to view the history of jobs:

.\azcopy jobs list

Verwenden Sie den folgenden Befehl, um die Auftragsstatistiken anzuzeigen:To view the job statistics, use the following command:

.\azcopy jobs show <job-id>

Um die Übertragungen nach ihrem Status zu filtern, verwenden Sie den folgenden Befehl:To filter the transfers by status, use the following command:

.\azcopy jobs show <job-id> --with-status=Failed

Verwenden Sie den folgenden Befehl, um einen fehlgeschlagenen bzw. abgebrochenen Auftrag fortzusetzen.Use the following command to resume a failed/canceled job. Dieser Befehl verwendet seinen Bezeichner zusammen mit dem SAS-Token, da er aus Sicherheitsgründen nicht persistent ist:This command uses its identifier along with the SAS token as it isn't persistent for security reasons:

.\azcopy jobs resume <jobid> --source-sas="<sastokenhere>"
.\azcopy jobs resume <jobid> --destination-sas="<sastokenhere>"

Nächste SchritteNext steps

Wenn Sie Fragen haben, Probleme melden oder allgemeines Feedback bereitstellen möchten, können Sie dies auf GitHub tun.If you have questions, issues, or general feedback, submit them on GitHub.