Kopiera blobar mellan Azure Storage-konton med hjälp av AzCopy

Du kan använda kommandoradsverktyget AzCopy v10 för att kopiera blobar, kataloger och containrar mellan lagringskonton.

Exempel på andra typer av uppgifter, till exempel att ladda upp filer, ladda ned blobar och synkronisera med Blob Storage, finns i länkarna i avsnittet Nästa steg i den här artikeln.

AzCopy använder API:er från server till server, så data kopieras direkt mellan lagringsservrar.

Kom igång

I artikeln Kom igång med AzCopy kan du ladda ned AzCopy och lära dig mer om hur du kan ange autentiseringsuppgifter för auktorisering till lagringstjänsten.

Kommentar

Exemplen i den här artikeln förutsätter att du anger autentiseringsuppgifter för auktorisering med hjälp av Microsoft Entra-ID och att din Microsoft Entra-identitet har rätt rolltilldelningar för både käll- och målkonton.

Du kan också lägga till en SAS-token till antingen käll- eller mål-URL:en i varje AzCopy-kommando. Exempel: 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>'.

Riktlinjer

Använd följande riktlinjer för dina AzCopy-kommandon.

  • Om du använder Microsoft Entra-auktorisering för både källa och mål måste båda kontona tillhöra samma Microsoft Entra-klientorganisation.

  • Klienten måste ha nätverksåtkomst till både käll- och mållagringskontona.

    Information om hur du konfigurerar nätverksinställningarna för varje lagringskonto finns i Konfigurera Azure Storage-brandväggar och virtuella nätverk.

    Mer information om nätverkstopologier som stöds vid kopiering mellan konton finns i Kopiera blobar mellan lagringskonton med åtkomstbegränsning.

  • Om du kopierar till ett Premium-blockbloblagringskonto utelämnar du åtkomstnivån för en blob från kopieringsåtgärden s2s-preserve-access-tier genom att ange till (till false exempel: --s2s-preserve-access-tier=false). Premium-blockbloblagringskonton stöder inte åtkomstnivåer.

  • Du kan öka dataflödet för kopieringsåtgärder genom att ange värdet för AZCOPY_CONCURRENCY_VALUE miljövariabeln. Mer information finns i Öka samtidighet.

  • Om källblobbarna har indextaggar och du vill behålla taggarna måste du tillämpa dem på målblobbarna igen. Information om hur du anger indextaggar finns i avsnittet Kopiera blobar till ett annat lagringskonto med indextaggar i den här artikeln.

Kopiera en blob

Kopiera en blob till ett annat lagringskonto med kommandot azcopy copy .

Dricks

Det här exemplet omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken ('').

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>'

Exempel

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Exempel (Data Lake Storage-slutpunkter)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'

Kopieringsåtgärden är synkron. När kommandot returneras anger det att alla filer kopieras.

Kopiera en katalog

Kopiera en katalog till ett annat lagringskonto med hjälp av kommandot azcopy copy .

Dricks

Det här exemplet omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken ('').

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

Exempel

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Exempel (Data Lake Storage-slutpunkter)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive

Kopieringsåtgärden är synkron. När kommandot returneras kopieras alla filer.

Kopiera en container

Kopiera en container till ett annat lagringskonto med hjälp av kommandot azcopy copy .

Dricks

Det här exemplet omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken ('').

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

Exempel

azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Exempel (Data Lake Storage-slutpunkter)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive

Kopieringsåtgärden är synkron. När kommandot returneras kopieras alla filer.

Kopiera containrar, kataloger och blobar

Kopiera alla containrar, kataloger och blobar till ett annat lagringskonto med hjälp av kommandot azcopy copy .

Dricks

Det här exemplet omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken ('').

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

Exempel

azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive

Exempel (Data Lake Storage-slutpunkter)

azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive

Kopieringsåtgärden är synkron. När kommandot returneras anger det att alla filer kopieras.

Kopiera blobar och lägg till indextaggar

Kopiera blobar till ett annat lagringskonto och lägg till blobindextaggar i målbloben.

Om du använder Microsoft Entra-auktorisering tilldelar du rollen Lagringsblobdataägare till ditt säkerhetsobjekt eller ger den behörighet till Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write via en anpassad Azure-roll. Om du använder en SAS-token (Signatur för delad åtkomst) måste token ge åtkomst till blobens taggar via SAS-behörigheten t .

Om du vill lägga till taggar använder du alternativet --blob-tags med ett URL-kodat nyckel/värde-par.

Om du till exempel vill lägga till nyckeln my tag och värdet my tag valuelägger du till --blob-tags='my%20tag=my%20tag%20value' i målparametern.

Avgränsa flera indextaggar med ett et-tecken (&). Om du till exempel vill lägga till nyckeln my second tag och värdet my second tag valueblir --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'den fullständiga alternativsträngen .

I följande exempel visas hur du använder alternativet --blob-tags .

Dricks

De här exemplen omger sökvägsargument med enkla citattecken ('''). Använd enkla citattecken i alla kommandogränssnitt förutom Windows Command Shell (cmd.exe). Om du använder ett Windows-kommandogränssnitt (cmd.exe) omger du sökvägsargument med dubbla citattecken ("") i stället för enkla citattecken ('').

Blobexempel


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'

Katalogexempel

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'

Containerexempel

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'

Kontoexempel

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'

Kopieringsåtgärden är synkron. När kommandot returneras kopieras alla filer.

Kommentar

Om du anger en katalog, container eller ett konto för källan har alla blobar som du kopierar till målet samma taggar som du anger i kommandot.

Kopiera med valfria flaggor

Du kan justera kopieringsåtgärden med hjälp av valfria flaggor. Här är några exempel.

Scenarium Flagga
Kopiera blobar som block-, sid- eller tilläggsblobar. --blob-type=[BlockBlob|PageBlob|AppendBlob]
Kopiera till en specifik åtkomstnivå (till exempel arkivnivån). --block-blob-tier=[None|Frekvent|Lågfrekvent|Arkiv]
Dekomprimera filer automatiskt. --decompress=[gzip|deflate]

En fullständig lista finns i alternativ.

Ange käll- och måltyper

AzCopy använder parametern --from-to för att explicit definiera käll- och målresurstyperna när automatisk identifiering kan misslyckas, till exempel i piping-scenarier eller emulatorer. Den här parametern hjälper AzCopy att förstå kontexten för överföringen och optimera därefter.

FromTo-värde Description
BlobBlob Kopiera mellan två Azure Blob Storage-platser
BlobBlobFS Kopiera från Azure Blob Storage till Azure Data Lake Gen2 (BlobFS)
BlobFSBlob Kopiera från Azure Data Lake Gen2 (BlobFS) till Azure Blob Storage
BlobFSBlobFS Kopiera mellan två Azure Data Lake Gen2-platser (BlobFS)
BlobFSFile Kopiera från Azure Data Lake Gen2 (BlobFS) till Azure File Storage
BlobFile Kopiera från Azure Blob Storage till Azure File Storage
FileBlob Kopiera från Azure File Storage till Azure Blob Storage
FileBlobFS Kopiera från Azure File Storage till Azure Data Lake Gen2 (BlobFS)

Nästa steg

Hitta fler exempel i de här artiklarna:

Se de här artiklarna om du vill konfigurera inställningar, optimera prestanda och felsöka problem: