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 (tillfalse
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 value
lä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 value
blir --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:
- Exempel: Ladda upp
- Exempel: Ladda ned
- Exempel: Synkronisera
- Exempel: Amazon S3-bucketar
- Exempel: Google Cloud Storage
- Exempel: Azure Files
- Självstudie: Migrera lokala data till molnlagring med hjälp av AzCopy
Se de här artiklarna om du vill konfigurera inställningar, optimera prestanda och felsöka problem: