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

Du kan kopiera blobar, kataloger och containrar mellan lagringskonton med hjälp av kommandoradsverktyget AzCopy v10.

Om du vill se exempel på andra typer av uppgifter, till exempel att ladda upp filer, ladda ned blobar och synkronisera med Blob Storage, kan du läsa länkarna som visas 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 har angett 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.

  • 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, så när kommandot returneras anger det att alla filer har kopierats.

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. Alla filer har kopierats när kommandot returneras.

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. Alla filer har kopierats när kommandot returneras.

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, så när kommandot returneras anger det att alla filer har kopierats.

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 måste ditt säkerhetsobjekt tilldelas rollen Lagringsblobdataägare, eller också måste det ges behörighet till Azure-resursprovideråtgärden 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 den token ge åtkomst till blobens taggar via SAS-behörigheten t .

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

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

Avgränsa flera indextaggar med hjälp av ett et-tecken (&). Om du till exempel vill lägga till en nyckel my second tag och ett värde 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. Alla filer har kopierats när kommandot returneras.

Kommentar

Om du anger en katalog, container eller ett konto för källan har alla blobar som kopieras 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.

Scenario 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.

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: