Erste Schritte mit AzCopyGet started with AzCopy

AzCopy ist ein Befehlszeilenhilfsprogramm, das Sie verwenden können, um Blobs oder Dateien in oder aus einem Speicherkonto zu kopieren.AzCopy is a command-line utility that you can use to copy blobs or files to or from a storage account. Dieser Artikel hilft Ihnen, AzCopy herunterzuladen, eine Verbindung mit Ihrem Speicherkonto herzustellen und dann Dateien zu übertragen.This article helps you download AzCopy, connect to your storage account, and then transfer files.

Hinweis

AzCopy V10 ist die aktuell unterstützte Version von AzCopy.AzCopy V10 is the currently supported version of AzCopy.

Wenn Sie AzCopy v8.1 verwenden müssen, finden Sie Informationen hierzu im Abschnitt Verwenden der vorherige Version von AzCopy in diesem Artikel.If you need to use AzCopy v8.1, see the Use the previous version of AzCopy section of this article.

Herunterladen von AzCopyDownload AzCopy

Laden Sie zunächst die ausführbare Datei für AzCopy V10 in ein beliebiges Verzeichnis auf Ihrem Computer herunter.First, download the AzCopy V10 executable file to any directory on your computer.

Hinweis

Wenn Sie Daten in und aus Ihrem Azure Table Storage kopieren möchten, installieren Sie AzCopy, Version 7.3.If you want to copy data to and from your Azure Table storage service, then install AzCopy version 7.3.

Ausführen von AzCopyRun AzCopy

Erwägen Sie aus Gründen der Bedienfreundlichkeit, den Speicherort des Verzeichnisses mit der ausführbaren AzCopy-Datei der Einfachheit halber dem Systempfad hinzuzufügen.For convenience, consider adding the directory location of the AzCopy executable to your system path for ease of use. Auf diese Weise können Sie in jedem beliebigen Verzeichnis auf Ihrem System azcopy eingeben.That way you can type azcopy from any directory on your system.

Falls Sie das AzCopy-Verzeichnis nicht zum Pfad hinzufügen, müssen Sie in das Verzeichnis der ausführbaren AzCopy-Datei wechseln und in Windows PowerShell-Eingabeaufforderungen azcopy oder .\azcopy eingeben.If you choose not to add the AzCopy directory to your path, you'll have to change directories to the location of your AzCopy executable and type azcopy or .\azcopy in Windows PowerShell command prompts.

Um eine Liste der AzCopy-Befehle anzuzeigen, geben Sie azcopy -h ein, und drücken Sie dann die EINGABETASTE.To see a list of commands, type azcopy -h and then press the ENTER key.

Wenn Sie weitere Informationen zu einem bestimmten Befehl erhalten möchten, fügen Sie einfach den Namen des Befehls ein (etwa azcopy list -h).To learn about a specific command, just include the name of the command (For example: azcopy list -h).

Inlinehilfe

Hinweis

Als Besitzer Ihres Azure Storage-Kontos erhalten Sie nicht automatisch Berechtigungen für den Zugriff auf Daten.As an owner of your Azure Storage account, you aren't automatically assigned permissions to access data. Bevor Sie etwas Sinnvolles mit AzCopy machen können, müssen Sie entscheiden, wie Sie dem Speicherdienst die Autorisierungsanmeldeinformationen bereitstellen werden.Before you can do anything meaningful with AzCopy, you need to decide how you'll provide authorization credentials to the storage service.

Auswählen, wie Sie die Autorisierungsanmeldeinformationen bereitstellenChoose how you'll provide authorization credentials

Sie können die Autorisierungsanmeldeinformationen bereitstellen, indem Sie Azure Active Directory (AD) oder ein SAS-Token (Shared Access Signature) verwenden.You can provide authorization credentials by using Azure Active Directory (AD), or by using a Shared Access Signature (SAS) token.

Verwenden Sie diese Tabelle als Richtlinie:Use this table as a guide:

SpeichertypStorage type Derzeit unterstützte Methode der AutorisierungCurrently supported method of authorization
Blob StorageBlob storage Azure AD und SASAzure AD & SAS
Blob-Speicher (hierarchischer Namespace)Blob storage (hierarchial namespace) Azure AD und SASAzure AD & SAS
File StorageFile storage Nur SASSAS only

Option 1: Verwenden von Azure ADOption 1: Use Azure AD

Mithilfe von Azure AD können Sie ein einziges Mal Anmeldeinformationen bereitstellen, statt jedem Befehl einen SAS-Token anfügen zu müssen.By using Azure AD, you can provide credentials once instead of having to append a SAS token to each command.

Die Ebene der Autorisierung, die Sie benötigen, hängt davon ab, ob Sie planen, Dateien hoch- oder nur herunterzuladen.The level of authorization that you need is based on whether you plan to upload files or just download them.

Wenn Sie nur Dateien herunterladen wollen, dann überprüfen Sie einfach, ob der Leser von Speicherblobdaten Ihrer Benutzeridentität oder Ihrem Dienstprinzipal zugewiesen wurde.If you just want to download files, then verify that the Storage Blob Data Reader has been assigned to your user identity or service principal.

Hinweis

Benutzeridentitäten und Dienstprinzipale sind jeweils eine Art von Sicherheitsprinzipalen. Deswegen verwenden wir in diesem Artikel von jetzt an den Begriff „Sicherheitsprinzipal“ .User identities and service principals are each a type of security principal, so we'll use the term security principal for the remainder of this article.

Wenn Sie Dateien hochladen möchten, dann überprüfen Sie, ob Ihrem Sicherheitsprinzipal eine dieser Rollen zugewiesen wurde:If you want to upload files, then verify that one of these roles has been assigned to your security principal:

Diese Rollen können Ihrer Identität in jedem dieser Bereiche zugewiesen werden:These roles can be assigned to your identity in any of these scopes:

  • Container (Dateisystem)Container (file system)
  • SpeicherkontoStorage account
  • Resource groupResource group
  • SubscriptionSubscription

Informationen zum Überprüfen und Zuweisen von Rollen finden Sie unter Gewähren von Zugriff auf Azure Blob- und -Warteschlangendaten mit RBAC im Azure-Portal.To learn how to verify and assign roles, see Grant access to Azure blob and queue data with RBAC in the Azure portal.

Hinweis

Denken Sie daran, dass die Rollenzuweisung für die rollenbasierte Zugriffssteuerung bis zu fünf Minuten dauern kann.Keep in mind that RBAC role assignments may take up to five minutes to propagate.

Ihrem Sicherheitsprinzipal muss keine dieser Rollen zugewiesen sein, wenn Ihr Sicherheitsprinzipal der Zugriffssteuerungsliste (ACL) des Zielcontainers oder des Verzeichnisses hinzugefügt wurde.You don't need to have one of these roles assigned to your security principal if your security principal is added to the access control list (ACL) of the target container or directory. In ACL benötigt Ihr Sicherheitsprinzipal Schreibberechtigungen für das Zielverzeichnis und Ausführungsberechtigungen für den Container und jedes übergeordnete Verzeichnis.In the ACL, your security principal needs write permission on the target directory, and execute permission on container and each parent directory.

Weitere Informationen finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen2.To learn more, see Access control in Azure Data Lake Storage Gen2.

Authentifizieren einer BenutzeridentitätAuthenticate a user identity

Nachdem Sie überprüft haben, ob Ihrer Benutzeridentität die notwendige Berechtigungsstufe gewährt wurde, öffnen Sie eine Eingabeaufforderung, geben Sie den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE.After you've verified that your user identity has been given the necessary authorization level, open a command prompt, type the following command, and then press the ENTER key.

azcopy login

Wenn Sie mehr als einer Organisation angehören, dann sollten Sie die Mandanten-ID der Organisation angeben, zu der das Speicherkonto gehört.If you belong to more than one organization, include the tenant ID of the organization to which the storage account belongs.

azcopy login --tenant-id=<tenant-id>

Ersetzen Sie den Platzhalter <tenant-id> mit der Mandanten-ID der Organisation, zu der das Speicherkonto gehört.Replace the <tenant-id> placeholder with the tenant ID of the organization to which the storage account belongs. Wählen Sie Azure Active Directory > Eigenschaften > Verzeichnis-ID im Azure-Portal aus, um die Mandanten-ID zu finden.To find the tenant ID, select Azure Active Directory > Properties > Directory ID in the Azure portal.

Dieser Befehl gibt einen Authentifizierungscode und die URL einer Website zurück.This command returns an authentication code and the URL of a website. Öffnen Sie die Website, geben Sie den Code ein, und wählen Sie dann die Schaltfläche Weiter aus.Open the website, provide the code, and then choose the Next button.

Erstellen eines Containers

Daraufhin wird ein Anmeldefenster geöffnet.A sign-in window will appear. Melden Sie sich in diesem Fenster mit Ihren Azure-Kontoanmeldeinformationen bei Ihrem Azure-Konto an.In that window, sign into your Azure account by using your Azure account credentials. Wenn Sie sich erfolgreich angemeldet haben, können Sie das Browserfenster schließen und mit der Verwendung von AzCopy beginnen.After you've successfully signed in, you can close the browser window and begin using AzCopy.

Dienstprinzipal authentifizierenAuthenticate a service principal

Das ist eine gute Option, wenn Sie AzCopy in einem Skript verwenden wollen, das ohne Benutzerinteraktion ausgeführt wird.This is a great option if you plan to use AzCopy inside of a script that runs without user interaction.

Sie müssen sich interaktiv mindestens ein Mal anmelden, bevor Sie das Skript ausführen, damit Sie AzCopy die Anmeldedaten Ihres Dienstprinzipals bereitstellen können.Before you run that script, you have to sign-in interactively at least one time so that you can provide AzCopy with the credentials of your service principal. Diese Anmeldedaten werden in einer gesicherten, verschlüsseln Datei gespeichert, damit Ihr Skript diese vertraulichen Daten nicht weitergeben muss.Those credentials are stored in a secured and encrypted file so that your script doesn't have to provide that sensitive information.

Sie können sich mit dem geheimen Clientschlüssel in Ihrem Konto anmelden oder mit dem Kennwort eines Zertifikats, das für die Appregistrierung Ihres Dienstprinzipals verwendet wird.You can sign into your account by using a client secret or by using the password of a certificate that is associated with your service principal's app registration.

Weitere Informationen zum Erstellen eines Dienstprinzipals finden Sie unter Vorgehensweise: Erstellen einer Azure AD-Anwendung und eines Dienstprinzipals mit Ressourcenzugriff über das Portal.To learn more about creating service principal, see How to: Use the portal to create an Azure AD application and service principal that can access resources.

Weitere Informationen zu Dienstprinzipalen im Allgemeinen finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Azure Active Directory.To learn more about service principals in general, see Application and service principal objects in Azure Active Directory

Verwenden eines geheimen ClientschlüsselsUsing a client secret

Beginnen Sie, indem Sie die AZCOPY_SPA_CLIENT_SECRET-Umgebungsvarible auf den geheimen Clientschlüssel der Appregistrierung Ihres Dienstprinzipals festlegen.Start by setting the AZCOPY_SPA_CLIENT_SECRET environment variable to the client secret of your service principal's app registration.

Hinweis

Stellen Sie sicher, dass Sie diesen Wert in Ihrer Eingabeaufforderung einrichten und nicht in den Einstellungen der Umgebungsvariable Ihres Betriebssystems.Make sure to set this value from your command prompt, and not in the environment variable settings of your operating system. So ist der Wert nur für die aktuelle Sitzung verfügbar.That way, the value is available only to the current session.

Dieses Beispiel zeigt Ihnen, wie dies in PowerShell geht.This example shows how you could do this in PowerShell.

$env:AZCOPY_SPA_CLIENT_SECRET="$(Read-Host -prompt "Enter key")"

Hinweis

Erwägen Sie, eine Eingabeaufforderung wie in diesem Beispiel zu verwenden.Consider using a prompt as shown in this example. So erscheint der geheime Clientschlüssel nicht im Befehlsverlauf Ihrer Konsole.That way, the client secret won't appear in your console's command history.

Geben Sie dann den folgenden Befehl ein, und drücken Sie die EINGABETASTE.Next, type the following command, and then press the ENTER key.

azcopy login --service-principal --application-id <application-id>

Ersetzen Sie den Platzhalter <application-id> mit der Anwendungs-ID der Appregistrierung Ihres Dienstprinzipals.Replace the <application-id> placeholder with the application ID of your service principal's app registration.

Verwenden eines ZertifikatsUsing a certificate

Wenn Sie lieber Ihre eigenen Anmeldedaten für die Autorisierung verwenden möchten, dann können Sie ein Zertifikat in Ihre Appregistrierung hochladen und dieses zum Anmelden verwenden.If you prefer to use your own credentials for authorization, you can upload a certificate to your app registration, and then use that certificate to login.

Sie müssen nicht nur Ihr Zertifikat in Ihre Appregistrierung hochladen, sondern benötigen außerdem eine Kopie des Zertifikat, die auf dem Computer oder dem virtuellen Computer gespeichert ist, auf dem AzCopy ausgeführt wird.In addition to uploading your certificate to your app registration, you'll also need to have a copy of the certificate saved to the machine or VM where AzCopy will be running. Diese Kopie des Zertifikats sollte das .PFX oder .PEM-Format haben und den privaten Schlüssel enthalten.This copy of the certificate should be in .PFX or .PEM format, and must include the private key. Der private Schlüssel sollte mit einem Kennwort geschützt sein.The private key should be password-protected. Wenn Sie Windows verwenden und Ihre Zertifikat nur in einem Zertifikatspeicher ist, dann stellen Sie sicher, dass Sie das Zertifikat als PFX-Datei exportieren (einschließlich des privaten Schlüssels).If you're using Windows, and your certificate exists only in a certificate store, make sure to export that certificate to a PFX file (including the private key). Eine Anleitung dazu finden Sie unter „Export-PfxCertificate“For guidance, see Export-PfxCertificate

Richten Sie jetzt die AZCOPY_SPA_CERT_PASSWORD-Umgebungsvariable mit dem Zertifikatkennwort ein.Next, set the AZCOPY_SPA_CERT_PASSWORD environment variable to the certificate password.

Hinweis

Stellen Sie sicher, dass Sie diesen Wert in Ihrer Eingabeaufforderung einrichten und nicht in den Einstellungen der Umgebungsvariable Ihres Betriebssystems.Make sure to set this value from your command prompt, and not in the environment variable settings of your operating system. So ist der Wert nur für die aktuelle Sitzung verfügbar.That way, the value is available only to the current session.

Dieses Beispiel zeigt Ihnen, wie dies in PowerShell geht.This example shows how you could do this in PowerShell.

$env:AZCOPY_SPA_CERT_PASSWORD="$(Read-Host -prompt "Enter key")"

Geben Sie dann den folgenden Befehl ein, und drücken Sie die EINGABETASTE.Next, type the following command, and then press the ENTER key.

azcopy login --service-principal --certificate-path <path-to-certificate-file>

Ersetzen Sie den Platzhalter <path-to-certificate-file> mit einem relativen oder vollqualifizierten Pfad zur Zertifikatdatei ein.Replace the <path-to-certificate-file> placeholder with the relative or fully-qualified path to the certificate file. AzCopy speichert den Pfad zu diesem Zertifikat, speichert jedoch keine Kopie des Zertifikats. Achten Sie darauf, dass das Zertifikat dort bleibt, wo es ist.AzCopy saves the path to this certificate but it doesn't save a copy of the certificate, so make sure to keep that certificate in place.

Hinweis

Erwägen Sie, eine Eingabeaufforderung wie in diesem Beispiel zu verwenden.Consider using a prompt as shown in this example. So erscheint das Kennwort nicht im Befehlsverlauf Ihrer Konsole.That way, your password won't appear in your console's command history.

Option 2: Verwenden eines SAS-TokenOption 2: Use a SAS token

Sie können jeder Quell- oder Ziel-URL, die Sie in Ihren AzCopy-Befehlen verwenden, ein SAS-Token anfügen.You can append a SAS token to each source or destination URL that use in your AzCopy commands.

Dieser Beispielbefehl kopiert Daten rekursiv aus einem lokalen Verzeichnis in einen Blob-Container.This example command recursively copies data from a local directory to a blob container. Am Ende der Container-URL wird ein fiktives SAS-Token angefügt.A fictitious SAS token is appended to the end of the of the container URL.

azcopy cp "C:\local\path" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true

Weitere Informationen zu SAS-Tokens und wie Sie eins erhalten, finden Sie unter Verwenden von SAS (Shared Access Signatures).To learn more about SAS tokens and how to obtain one, see Using shared access signatures (SAS).

Übertragen von DateienTransfer files

Nachdem Sie Ihre Identität authentifiziert oder ein SAS-Token abgerufen haben, können Sie mit der Übertragung von Dateien beginnen.After you've authenticated your identity or obtained a SAS token, you can begin transferring files.

Beispielbefehle finden Sie in diesen Artikeln.To find example commands, see any of these articles.

Verwenden von AzCopy in einem SkriptUse AzCopy in a script

Sie müssen sich interaktiv mindestens ein Mal anmelden, bevor Sie das Skript ausführen, damit Sie AzCopy die Anmeldedaten Ihres Dienstprinzipals bereitstellen können.Before you run that script, you have to sign-in interactively at least one time so that you can provide AzCopy with the credentials of your service principal. Diese Anmeldedaten werden in einer gesicherten, verschlüsseln Datei gespeichert, damit Ihr Skript diese vertraulichen Daten nicht weitergeben muss.Those credentials are stored in a secured and encrypted file so that your script doesn't have to provide that sensitive information. Beispiele finden Sie im Abschnitt „Authentifizierung Ihres Dienstprinzipals“ in diesem Artikel.For examples, see the Authenticate your service principal section of this article.

Im Laufe der Zeit wird der Downloadlink von AzCopy auf neue Versionen von AzCopy verweisen.Over time, the AzCopy download link will point to new versions of AzCopy. Wenn Ihr Skript AzCopy herunterlädt, dann kann es sein, dass es nicht mehr funktioniert, wenn eine neuere Version von AzCopy Funktionen verändert, die für Ihr Skript wichtig sind.If your script downloads AzCopy, the script might stop working if a newer version of AzCopy modifies features that your script depends upon.

Um solche Probleme zu vermeiden, sollten Sie sich einen statischen (unveränderlichen) Link zur aktuellen Version AzCopy besorgen.To avoid these issues, obtain a static (un-changing) link to the current version of AzCopy. So lädt Ihr Skript jedes Mal genau dieselbe Version von AzCopy herunter, wenn es ausgeführt wird.That way, your script downloads the same exact version of AzCopy each time that it runs.

Mit diesem Befehl erhalten Sie den Link:To obtain the link, run this command:

BetriebssystemOperating system Get-HelpCommand
LinuxLinux curl -v https://aka.ms/downloadazcopy-v10-linux
WindowsWindows (curl https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction silentlycontinue).RawContent

Hinweis

Bei Linux entfernt --strip-components=1 im tar-Befehl den oberen Ordner, der den Versionsnamen enthält, und extrahiert stattdessen die Binärdatei direkt in den aktuellen Ordner.For Linux, --strip-components=1 on the tar command removes the top-level folder that contains the version name, and instead extracts the binary directly into the current folder. So kann das Skript mit einer neuen Version von azcopy aktualisiert werden, indem nur die wget-URL aktualisiert wird.This allows the script to be updated with a new version of azcopy by only updating the wget URL.

Die URL erscheint in der Ausgabe dieses Befehls.The URL appears in the output of this command. Ihr Skript kann dann AzCopy anhand dieser URL herunterladen.Your script can then download AzCopy by using that URL.

BetriebssystemOperating system Get-HelpCommand
LinuxLinux wget -O azcopyv10.tar https://azcopyvnext.azureedge.net/release20190301/azcopy_linux_amd64_10.0.8.tar.gz tar -xf azcopyv10.tar --strip-components=1 ./azcopy
WindowsWindows Invoke-WebRequest https://azcopyvnext.azureedge.net/release20190517/azcopy_windows_amd64_10.1.2.zip -OutFile azcopyv10.zip <<Unzip here>>

Verwenden von AzCopy im Storage-ExplorerUse AzCopy in Storage Explorer

Wenn Sie die Leistungsvorteile von AzCopy nutzen möchten, aber lieber Storage-Explorer statt der Befehlszeile verwenden, um mit Ihren Dateien zu interagieren, aktivieren Sie AzCopy in Storage-Explorer.If you want to leverage the performance advantages of AzCopy, but you prefer to use Storage Explorer rather than the command line to interact with your files, then enable AzCopy in Storage Explorer.

Wählen Sie in Storage-Explorer Preview->Use AzCopy for Improved Blob Upload and Download (AzCopy für verbessertes Hoch- und Herunterladen von Blobs verwenden) aus.In Storage Explorer, choose Preview->Use AzCopy for Improved Blob Upload and Download.

Aktivieren von AzCopy als Übertragungsmodul in Azure Storage-Explorer

Hinweis

Sie müssen diese Einstellung nicht aktivieren, wenn Sie einen hierarchischen Namespace in Ihrem Speicherkonto aktiviert haben.You don't have to enable this setting if you've enabled a hierarchical namespace on your storage account. Der Grund hierfür ist, dass Storage-Explorer AzCopy automatisch in Speicherkonten verwendet, die einen hierarchischen Namespace haben.That's because Storage Explorer automatically uses AzCopy on storage accounts that have a hierarchical namespace.

Storage-Explorer verwendet Ihren Kontoschlüssel, um Vorgänge auszuführen. Nachdem Sie sich also bei Storage-Explorer anmelden, müssen Sie keine weiteren Autorisierungsdaten angeben.Storage Explorer uses your account key to perform operations, so after you sign into Storage Explorer, you won't need to provide additional authorization credentials.

Verwenden der vorherigen Version von AzCopyUse the previous version of AzCopy

Wenn Sie die vorherige Version von AzCopy (AzCopy v8.1) verwenden müssen, werden Sie unter den folgenden Links fündig:If you need to use the previous version of AzCopy (AzCopy v8.1), see either of the following links:

Konfigurieren, Optimieren und Problembehandlung in AzCopyConfigure, optimize, and troubleshoot AzCopy

Siehe Konfigurieren, Optimieren und Problembehandlung in AzCopy.See Configure, optimize, and troubleshoot AzCopy

Nächste SchritteNext steps

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