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-destination
true
tar 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 tillprompt
.Om du planerar att ange
--delete-destination
flaggan till ellerfalse
kan du överväga attprompt
använda kopieringskommandot i stället för synkroniseringskommandot och ange parametern--overwrite
tillifSourceNewer
. 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:
- Exempel: Ladda upp
- Exempel: Ladda ned
- Exempel: Kopiera mellan konton
- 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: