Kom igång med AzCopyGet started with AzCopy

AzCopy är ett kommando rads verktyg som du kan använda för att kopiera blobbar eller filer till eller från ett lagrings konto.AzCopy is a command-line utility that you can use to copy blobs or files to or from a storage account. Den här artikeln hjälper dig att ladda ned AzCopy, ansluta till ditt lagrings konto och sedan överföra filer.This article helps you download AzCopy, connect to your storage account, and then transfer files.

Anteckning

AzCopy v10 är den version av AzCopy som stöds för tillfället.AzCopy V10 is the currently supported version of AzCopy.

Om du behöver använda AzCopy v 8.1läser du avsnittet använda den tidigare versionen av AzCopy i den här artikeln.If you need to use AzCopy v8.1, see the Use the previous version of AzCopy section of this article.

Ladda ned AzCopyDownload AzCopy

Börja med att ladda ned den körbara filen AzCopy v10 till valfri katalog på datorn.First, download the AzCopy V10 executable file to any directory on your computer.

AzCopy v10 är bara en körbar fil, så det finns inget att installera.AzCopy V10 is just an executable file, so there's nothing to install.

Anteckning

Om du vill kopiera data till och från Azure Table Storage -tjänsten installerar du AzCopy version 7,3.If you want to copy data to and from your Azure Table storage service, then install AzCopy version 7.3.

Kör AzCopyRun AzCopy

För enkelhetens skull bör du överväga att lägga till katalog platsen för den körbara AzCopy i din system Sök väg för enkel användning.For convenience, consider adding the directory location of the AzCopy executable to your system path for ease of use. På så sätt kan du azcopy skriva från valfri katalog i systemet.That way you can type azcopy from any directory on your system.

Om du väljer att inte lägga till katalogen AzCopy i sökvägen måste du ändra katalogerna till platsen för din AzCopy-körbara fil och skriva azcopy eller .\azcopy i Windows PowerShell-Kommandotolken.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.

Om du vill se en lista över kommandon azcopy -h skriver du och trycker sedan på RETUR-tangenten.To see a list of commands, type azcopy -h and then press the ENTER key.

Om du vill veta mer om ett speciellt kommando inkluderar du bara namnet på kommandot (till exempel azcopy list -h:).To learn about a specific command, just include the name of the command (For example: azcopy list -h).

Infogad hjälp

Anteckning

Som ägare till ditt Azure Storage-konto tilldelas du inte automatiskt behörigheter för åtkomst till data.As an owner of your Azure Storage account, you aren't automatically assigned permissions to access data. Innan du kan göra allt meningsfullt med AzCopy måste du bestämma hur du ska ange autentiseringsuppgifter för lagrings tjänsten.Before you can do anything meaningful with AzCopy, you need to decide how you'll provide authorization credentials to the storage service.

Välj hur du ska ange autentiseringsuppgifter för auktoriseringChoose how you'll provide authorization credentials

Du kan ange autentiseringsuppgifter för auktorisering genom att använda Azure Active Directory (AD) eller genom att använda en SAS-token (signatur för delad åtkomst).You can provide authorization credentials by using Azure Active Directory (AD), or by using a Shared Access Signature (SAS) token.

Använd den här tabellen som en guide:Use this table as a guide:

LagringstypStorage type För närvarande stöds metoden för auktoriseringCurrently supported method of authorization
Blob StorageBlob storage Azure AD & SASAzure AD & SAS
Blob Storage (hierarki-namnrymd)Blob storage (hierarchial namespace) Azure AD & SASAzure AD & SAS
Fil lagringFile storage Endast SASSAS only

Alternativ 1: Använda Azure ADOption 1: Use Azure AD

Genom att använda Azure AD kan du ange autentiseringsuppgifter en gång i stället för att behöva lägga till en SAS-token i varje kommando.By using Azure AD, you can provide credentials once instead of having to append a SAS token to each command.

Anteckning

Om du planerar att kopiera blobbar mellan lagrings konton i den aktuella versionen måste du lägga till en SAS-token till varje käll-URL.In the current release, if you plan to copy blobs between storage accounts, you’ll have to append a SAS token to each source URL. Du kan bara utelämna SAS-token från mål-URL: en.You can omit the SAS token only from the destination URL. Exempel finns i Kopiera blobbar mellan lagrings konton.For examples, see Copy blobs between storage accounts.

Den behörighets nivå som du behöver baseras på om du planerar att ladda upp filer eller bara hämta dem.The level of authorization that you need is based on whether you plan to upload files or just download them.

Om du bara vill hämta filer kontrollerar du att lagrings- BLOB -dataläsaren har tilldelats till din användar identitet, hanterad identitet eller tjänstens huvud namn.If you just want to download files, then verify that the Storage Blob Data Reader has been assigned to your user identity, managed identity, or service principal.

Användar identiteter, hanterade identiteter och tjänstens huvud namn är varje typ av säkerhets objekt, så vi använder termen säkerhets objekt för resten av den här artikeln.User identities, managed 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.

Om du vill ladda upp filer kontrollerar du att någon av dessa roller har tilldelats ditt säkerhets objekt:If you want to upload files, then verify that one of these roles has been assigned to your security principal:

De här rollerna kan tilldelas till säkerhets objekt i alla dessa omfattningar:These roles can be assigned to your security principal in any of these scopes:

  • Behållare (fil system)Container (file system)
  • LagringskontoStorage account
  • Resource groupResource group
  • SubscriptionSubscription

Information om hur du verifierar och tilldelar roller finns i bevilja åtkomst till Azure blob och Queue data med RBAC i 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.

Anteckning

Tänk på att det kan ta upp till fem minuter att sprida RBAC-roll tilldelningar.Keep in mind that RBAC role assignments may take up to five minutes to propagate.

Du behöver inte ha någon av dessa roller tilldelade till ditt säkerhets objekt om ditt säkerhets objekt läggs till i åtkomst kontrol listan (ACL) för mål behållaren eller katalogen.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. I ACL: en måste ditt säkerhets objekt ha Skriv behörighet för mål katalogen och köra behörigheten för behållaren och varje överordnad katalog.In the ACL, your security principal needs write permission on the target directory, and execute permission on container and each parent directory.

Läs mer i åtkomst kontroll i Azure Data Lake Storage Gen2.To learn more, see Access control in Azure Data Lake Storage Gen2.

Autentisera en användar identitetAuthenticate a user identity

När du har kontrollerat att din användar identitet har fått den behörighet som krävs, öppnar du en kommando tolk, skriver följande kommando och trycker sedan på RETUR-tangenten.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

Om du tillhör fler än en organisation inkluderar du klient-ID för den organisation som lagrings kontot tillhör.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>

<tenant-id> Ersätt plats hållaren med klient-ID: t för den organisation som lagrings kontot tillhör.Replace the <tenant-id> placeholder with the tenant ID of the organization to which the storage account belongs. Om du vill hitta klient-ID: t väljer du Azure Active Directory > egenskaper > katalog-ID i Azure Portal.To find the tenant ID, select Azure Active Directory > Properties > Directory ID in the Azure portal.

Det här kommandot returnerar en autentiseringsnyckel och URL: en för en webbplats.This command returns an authentication code and the URL of a website. Öppna webbplatsen, ange koden och välj sedan knappen Nästa .Open the website, provide the code, and then choose the Next button.

Skapa en container

Ett inloggnings fönster visas.A sign-in window will appear. I det fönstret loggar du in på ditt Azure-konto med hjälp av dina autentiseringsuppgifter för Azure-kontot.In that window, sign into your Azure account by using your Azure account credentials. När du har loggat in kan du stänga webbläsarfönstret och börja använda AzCopy.After you've successfully signed in, you can close the browser window and begin using AzCopy.

Autentisera ett huvud namn för tjänstenAuthenticate a service principal

Det här är ett bra alternativ om du planerar att använda AzCopy inuti ett skript som körs utan användar åtgärder, särskilt när du kör lokalt.This is a great option if you plan to use AzCopy inside of a script that runs without user interaction, particularly when running on-premises. Om du planerar att köra AzCopy på virtuella datorer som körs i Azure är det enklare att administrera en hanterad tjänst identitet.If you plan to run AzCopy on VMs that run in Azure, a managed service identity is easier to administer. Mer information finns i avsnittet autentisera en hanterad identitet i den här artikeln.To learn more, see the Authenticate a managed identity section of this article.

Innan du kör ett skript måste du logga in interaktivt minst en tid så att du kan ange AzCopy med autentiseringsuppgifterna för tjänstens huvud namn.Before you run a script, you have to sign-in interactively at least one time so that you can provide AzCopy with the credentials of your service principal. Dessa autentiseringsuppgifter lagras i en säker och krypterad fil så att ditt skript inte behöver ange den känsliga informationen.Those credentials are stored in a secured and encrypted file so that your script doesn't have to provide that sensitive information.

Du kan logga in på ditt konto med hjälp av en klient hemlighet eller genom att använda lösen ordet för ett certifikat som är kopplat till tjänstens huvud namn för appens registrering.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.

Mer information om hur du skapar tjänstens huvud namn finns i How to: Använd portalen för att skapa ett Azure AD-program och huvudnamn för tjänsten som kan komma åt resurser.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.

Om du vill veta mer om tjänstens huvud namn i allmänhet, se program-och tjänst huvud objekt i Azure Active DirectoryTo learn more about service principals in general, see Application and service principal objects in Azure Active Directory

Använda en klient hemlighetUsing a client secret

Börja med att ställa AZCOPY_SPA_CLIENT_SECRET in miljövariabeln på klient hemligheten för tjänstens huvud namn för appens registrering.Start by setting the AZCOPY_SPA_CLIENT_SECRET environment variable to the client secret of your service principal's app registration.

Anteckning

Se till att ange det här värdet från kommando tolken och inte i miljö variabel inställningarna för ditt operativ system.Make sure to set this value from your command prompt, and not in the environment variable settings of your operating system. På så sätt är värdet bara tillgängligt för den aktuella sessionen.That way, the value is available only to the current session.

Det här exemplet visar hur du kan göra detta i PowerShell.This example shows how you could do this in PowerShell.

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

Anteckning

Överväg att använda en prompt som du ser i det här exemplet.Consider using a prompt as shown in this example. På så sätt visas inte klient hemligheten i konsolens kommando historik.That way, the client secret won't appear in your console's command history.

Skriv sedan följande kommando och tryck sedan på RETUR-tangenten.Next, type the following command, and then press the ENTER key.

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

<application-id> Ersätt plats hållaren med program-ID: t för tjänstens huvud namn för appens registrering.Replace the <application-id> placeholder with the application ID of your service principal's app registration.

Använda ett certifikatUsing a certificate

Om du föredrar att använda dina egna autentiseringsuppgifter för auktorisering kan du ladda upp ett certifikat till appens registrering och sedan använda det certifikatet för att logga in.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.

Förutom att ladda upp ditt certifikat till din app-registrering måste du också ha en kopia av certifikatet som har sparats på datorn eller den virtuella dator där AzCopy ska köras.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. Den här kopian av certifikatet bör vara i. PFX eller. PEM-format och måste innehålla den privata nyckeln.This copy of the certificate should be in .PFX or .PEM format, and must include the private key. Den privata nyckeln bör vara lösenordsskyddad.The private key should be password-protected. Om du använder Windows och ditt certifikat bara finns i ett certifikat Arkiv, måste du exportera certifikatet till en PFX-fil (inklusive den privata nyckeln).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). Vägledning finns i export-PfxCertificateFor guidance, see Export-PfxCertificate

Ställ sedan in AZCOPY_SPA_CERT_PASSWORD miljövariabeln på certifikatets lösen ord.Next, set the AZCOPY_SPA_CERT_PASSWORD environment variable to the certificate password.

Anteckning

Se till att ange det här värdet från kommando tolken och inte i miljö variabel inställningarna för ditt operativ system.Make sure to set this value from your command prompt, and not in the environment variable settings of your operating system. På så sätt är värdet bara tillgängligt för den aktuella sessionen.That way, the value is available only to the current session.

Det här exemplet visar hur du kan göra detta i PowerShell.This example shows how you could do this in PowerShell.

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

Skriv sedan följande kommando och tryck sedan på RETUR-tangenten.Next, type the following command, and then press the ENTER key.

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

<path-to-certificate-file> Ersätt plats hållaren med den relativa eller fullständigt kvalificerade sökvägen till certifikat filen.Replace the <path-to-certificate-file> placeholder with the relative or fully-qualified path to the certificate file. AzCopy sparar sökvägen till det här certifikatet, men det sparar inte en kopia av certifikatet, så se till att hålla certifikatet på plats.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.

Anteckning

Överväg att använda en prompt som du ser i det här exemplet.Consider using a prompt as shown in this example. På så sätt visas inte lösen ordet i konsolens kommando historik.That way, your password won't appear in your console's command history.

Autentisera en hanterad identitetAuthenticate a managed identity

Det här är ett bra alternativ om du planerar att använda AzCopy inuti ett skript som körs utan användar interaktion och skriptet körs från en virtuell Azure-dator (VM).This is a great option if you plan to use AzCopy inside of a script that runs without user interaction, and the script runs from an Azure Virtual Machine (VM). När du använder det här alternativet behöver du inte lagra några autentiseringsuppgifter på den virtuella datorn.When using this option, you won't have to store any credentials on the VM.

Du kan logga in på ditt konto genom att använda en systemomfattande hanterad identitet som du har aktiverat på den virtuella datorn, eller genom att använda klient-ID, objekt-ID eller resurs-ID för en användardefinierad hanterad identitet som du har tilldelat till den virtuella datorn.You can sign into your account by using the a system-wide managed identity that you've enabled on your VM, or by using the client ID, Object ID, or Resource ID of a user-assigned managed identity that you've assigned to your VM.

Mer information om hur du aktiverar en systemomfattande hanterad identitet eller skapar en användardefinierad hanterad identitet finns i Konfigurera hanterade identiteter för Azure-resurser på en virtuell dator med hjälp av Azure Portal.To learn more about how to enable a system-wide managed identity or create a user-assigned managed identity, see Configure managed identities for Azure resources on a VM using the Azure portal.

Använda en systemomfattande hanterad identitetUsing a system-wide managed identity

Kontrol lera först att du har aktiverat en systemomfattande hanterad identitet på den virtuella datorn.First, make sure that you've enabled a system-wide managed identity on your VM. Se systemtilldelad hanterad identitet.See System-assigned managed identity.

Skriv sedan följande kommando i kommando konsolen och tryck sedan på RETUR-tangenten.Then, in your command console, type the following command, and then press the ENTER key.

azcopy login --identity
Använda en användardefinierad hanterad identitetUsing a user-assigned managed identity

Kontrol lera först att du har aktiverat en användardefinierad hanterad identitet på den virtuella datorn.First, make sure that you've enabled a user-assigned managed identity on your VM. Se användarens tilldelade hanterade identitet.See User-assigned managed identity.

Skriv sedan något av följande kommandon i kommando konsolen och tryck sedan på RETUR-tangenten.Then, in your command console, type any of the following commands, and then press the ENTER key.

azcopy login --identity --identity-client-id "<client-id>"

<client-id> Ersätt plats hållaren med klient-ID: t för den användarspecifika hanterade identiteten.Replace the <client-id> placeholder with the client ID of the user-assigned managed identity.

azcopy login --identity --identity-object-id "<object-id>"

<object-id> Ersätt plats hållaren med objekt-ID: t för den användarspecifika hanterade identiteten.Replace the <object-id> placeholder with the object ID of the user-assigned managed identity.

azcopy login --identity --identity-resource-id "<resource-id>"

<resource-id> Ersätt plats hållaren med resurs-ID för den användare som tilldelats den hanterade identiteten.Replace the <resource-id> placeholder with the resource ID of the user-assigned managed identity.

Alternativ 2: Använda en SAS-tokenOption 2: Use a SAS token

Du kan lägga till en SAS-token för varje käll-eller mål-URL som används i dina AzCopy-kommandon.You can append a SAS token to each source or destination URL that use in your AzCopy commands.

Det här exempel kommandot kopierar data rekursivt från en lokal katalog till en BLOB-behållare.This example command recursively copies data from a local directory to a blob container. En fiktiv SAS-token läggs till i slutet av för behållar-URL: en.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

Mer information om SAS-token och hur du hämtar en finns i använda signaturer för delad åtkomst (SAS).To learn more about SAS tokens and how to obtain one, see Using shared access signatures (SAS).

Överför filerTransfer files

När du har autentiserat din identitet eller fått en SAS-token kan du börja överföra filer.After you've authenticated your identity or obtained a SAS token, you can begin transferring files.

Du hittar exempel kommandon i någon av de här artiklarna.To find example commands, see any of these articles.

Använda AzCopy i ett skriptUse AzCopy in a script

Med tiden kommer nedladdnings länken för AzCopy att peka på nya versioner av AzCopy.Over time, the AzCopy download link will point to new versions of AzCopy. Om skriptet laddar ned AzCopy kan skriptet sluta fungera om en nyare version av AzCopy ändrar de funktioner som skriptet är beroende av.If your script downloads AzCopy, the script might stop working if a newer version of AzCopy modifies features that your script depends upon.

Undvik dessa problem genom att hämta en statisk (ändra) länk till den aktuella versionen av AzCopy.To avoid these issues, obtain a static (un-changing) link to the current version of AzCopy. På så sätt laddar skriptet ned samma exakta version av AzCopy varje gång den körs.That way, your script downloads the same exact version of AzCopy each time that it runs.

Hämta länken genom att köra det här kommandot:To obtain the link, run this command:

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

Anteckning

För Linux tar --strip-components=1 tar kommandot bort den översta mappen som innehåller versions namnet för Linux och extraherar i stället binärfilen direkt till den aktuella mappen.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. Detta gör att skriptet kan uppdateras med en ny version av azcopy genom att wget bara uppdatera URL: en.This allows the script to be updated with a new version of azcopy by only updating the wget URL.

URL: en visas i kommandots utdata.The URL appears in the output of this command. Skriptet kan sedan hämta AzCopy med hjälp av den URL: en.Your script can then download AzCopy by using that URL.

OperativsystemOperating system KommandoCommand
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>>

Escape-specialtecken i SAS-tokenEscape special characters in SAS tokens

I kommandofiler med .cmd tillägget måste du undanta de % tecken som visas i SAS-token.In batch files that have the .cmd extension, you'll have to escape the % characters that appear in SAS tokens. Du kan göra det genom att lägga till % ett additions tecken % bredvid befintliga tecken i SAS-token.You can do that by adding an addition % character next to existing % characters in the SAS token string.

Använd AzCopy i Storage ExplorerUse AzCopy in Storage Explorer

Om du vill utnyttja prestanda fördelarna med AzCopy, men vill använda Storage Explorer i stället för kommando raden för att interagera med dina filer, aktiverar du AzCopy i 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.

I Storage Explorer väljer du Förhandsgranska->Använd AzCopy för att förbättra BLOB-uppladdning och hämta.In Storage Explorer, choose Preview->Use AzCopy for Improved Blob Upload and Download.

Aktivera AzCopy som överförings motor i Azure Storage Explorer

Anteckning

Du behöver inte aktivera den här inställningen om du har aktiverat ett hierarkiskt namn område på ditt lagrings konto.You don't have to enable this setting if you've enabled a hierarchical namespace on your storage account. Det beror på att Storage Explorer automatiskt använder AzCopy på lagrings konton som har ett hierarkiskt namn område.That's because Storage Explorer automatically uses AzCopy on storage accounts that have a hierarchical namespace.

Storage Explorer använder din konto nyckel för att utföra åtgärder, så när du har loggat in på Storage Explorer behöver du inte ange ytterligare autentiseringsuppgifter för auktorisering.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.

Använd den tidigare versionen av AzCopyUse the previous version of AzCopy

Om du behöver använda den tidigare versionen av AzCopy (AzCopy v 8.1) kan du läsa någon av följande länkar:If you need to use the previous version of AzCopy (AzCopy v8.1), see either of the following links:

Konfigurera, optimera och felsöka AzCopyConfigure, optimize, and troubleshoot AzCopy

Se Konfigurera, optimera och felsöka AzCopySee Configure, optimize, and troubleshoot AzCopy

Nästa stegNext steps

Om du har frågor, problem eller allmän feedback kan du skicka dem till GitHub -sidan.If you have questions, issues, or general feedback, submit them on GitHub page.