Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Anmärkning
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.
Anmärkning
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. Till 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 ställa in
--delete-destination
-flaggan tillprompt
ellerfalse
, kan du överväga att använda kommandot kopiera i stället för kommandot synkronisera och ställa in 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 klockfel bör du undvika att ändra filer på destinationsplatsen för nära inpå den tid då 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.
Tips/Råd
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.
Tips/Råd
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.
Tips/Råd
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.
Tips/Råd
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.
Scenarium | Flagga |
---|---|
Ange hur strikt MD5-hashvärden ska verifieras vid nedladdning. | --check-md5=[IngenKontroll|LoggaEndast|MisslyckasOmOlika|MisslyckasOmOlikaEllerSaknas] |
Exkludera filer baserat på ett mönster. | --exclude-path |
Ange hur detaljerade du vill att dina synkroniseringsrelaterade loggposter ska vara. | --log-level=[WARNING|ERROR|INFO|INGEN] |
En fullständig lista över flaggor finns i alternativ.
Anmärkning
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: