Synkronisera med Azure Blob Storage med hjälp av AzCopy

Du kan synkronisera lokal lagring med Azure Blob Storage med hjälp av kommandoradsverktyget AzCopy v10.

Du kan synkronisera innehållet i ett lokalt filsystem med en blobcontainer. Du kan också synkronisera containrar och virtuella kataloger med varandra. Synkronisering är ett sätt. Med andra ord väljer du vilken av dessa två slutpunkter som är källan och vilken som är målet. Synkronisering använder även server-till-server-API:er. Exemplen som visas i det här avsnittet fungerar också med konton som har ett hierarkiskt namnområde.

Kommentar

Den aktuella versionen av AzCopy synkroniseras inte mellan andra källor och mål (till exempel: Fillagring eller Amazon Web Services (AWS) S3-bucketar).

Om du vill se exempel på andra typer av uppgifter, till exempel att ladda upp filer, ladda ned blobar eller kopiera blobar mellan konton, kan du läsa länkarna som visas i avsnittet Nästa steg i den här artikeln.

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.

Om du hellre vill använda en SAS-token för att auktorisera åtkomst till blobdata kan du lägga till den token till resurs-URL:en i varje AzCopy-kommando. Exempel: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Riktlinjer

Som standard jämför synkroniseringskommandot filnamn och senast ändrade tidsstämplar. Du kan åsidosätta det beteendet för att använda MD5-hashar i stället för senast ändrade tidsstämplar med hjälp --compare-hash av flaggan. Ange den --delete-destination valfria flaggan till ett värde för true eller prompt för att ta bort filer i målkatalogen om filerna inte längre finns i källkatalogen.

  • Om du ställer in flaggan på --delete-destinationtruetar AzCopy bort filer utan att fråga. Om du vill att en fråga ska visas innan AzCopy tar bort en fil anger du --delete-destination flaggan till prompt.

  • Om du planerar att ange --delete-destination flaggan till eller falsekan du överväga att prompt använda kopieringskommandot i stället för synkroniseringskommandot och ange parametern --overwrite till ifSourceNewer. Kopieringskommandot förbrukar mindre minne och medför mindre faktureringskostnader eftersom en kopieringsåtgärd inte behöver indexering av källan eller målet innan filerna flyttas.

  • Om du inte planerar att använda --compare-hash flaggan bör datorn där du kör synkroniseringskommandot ha en korrekt systemklocka eftersom de senaste ändrade tiderna är viktiga för att avgöra om en fil ska överföras. Om systemet har betydande klocksnedvridning bör du undvika att ändra filer på målet för nära den tid som du planerar att köra ett synkroniseringskommando.

  • AzCopy använder API:er från server till server för att synkronisera data mellan lagringskonton. Det innebär att data kopieras direkt mellan lagringsservrar. AzCopy konfigurerar och övervakar dock varje överföring, och för större lagringskonton (till exempel konton som innehåller miljontals blobar) kan AzCopy kräva en betydande mängd beräkningsresurser för att utföra dessa uppgifter. Om du kör AzCopy från en virtuell dator kontrollerar du därför att den virtuella datorn har tillräckligt med kärnor/minne för att hantera belastningen.

  • Om du vill förhindra oavsiktliga borttagningar måste du aktivera funktionen för mjuk borttagning innan du använder --delete-destination=prompt|true flaggan.

Uppdatera en container med ändringar i ett lokalt filsystem

I det här fallet är containern målet och det lokala filsystemet är källan.

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 sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>' --recursive

Exempel

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

Uppdatera ett lokalt filsystem med ändringar i en container

I det här fallet är det lokala filsystemet målet och containern är källan.

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 sync 'https://<storage-account-name>.blob.core.windows.net/<container-name>' 'C:\myDirectory' --recursive

Exempel

azcopy sync 'https://mystorageaccount.blob.core.windows.net/mycontainer' 'C:\myDirectory' --recursive

Uppdatera en container med ändringar i en annan container

Den första containern som visas i det här kommandot är källan. Den andra är målet.

Om du anger autentiseringsuppgifter för auktorisering med hjälp av Microsoft Entra-ID kontrollerar du att du har konfigurerat rätt roller i käll- och målkontot. Se Alternativ 1: Använd Microsoft Entra-ID.

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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>' --recursive

Exempel

azcopy sync 'https://mysourceaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Uppdatera en katalog med ändringar i en katalog i en annan container

Den första katalogen som visas i det här kommandot är källan. Den andra är målet.

Om du anger autentiseringsuppgifter för auktorisering med hjälp av Microsoft Entra-ID kontrollerar du att du har konfigurerat rätt roller i käll- och målkontot. Se Alternativ 1: Använd Microsoft Entra-ID.

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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive

Exempel

azcopy sync 'https://mysourceaccount.blob.core.windows.net/<container-name>/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myDirectory' --recursive

Synkronisera med valfria flaggor

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

Scenario Flagga
Ange hur strikt MD5-hashvärden ska verifieras vid nedladdning. --check-md5=[NoCheck|LogOnly|FailIfDifferent|FailIfDifferentOrMissing]
Exkludera filer baserat på ett mönster. --exclude-path
Ange hur detaljerade du vill att dina synkroniseringsrelaterade loggposter ska vara. --log-level=[WARNING|FEL|INFO|INGEN]

En fullständig lista över flaggor finns i alternativ.

Kommentar

Flaggan --recursive är inställd på true som standard. Flaggorna --exclude-pattern och --include-pattern gäller endast för filnamn och inte andra delar av filsökvägen.

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: