Överföra data med AzCopy v8.1 i Windows
AzCopy är ett kommandoradsverktyg som har utformats för att kopiera data till och från blob-, fil- och tabellagring i Microsoft Azure med hjälp av enkla kommandon för optimala prestanda. Du kan kopiera data mellan ett filsystem och ett lagringskonto, eller mellan lagringskonton.
Viktigt!
Den här artikeln beskriver en äldre version av AzCopy. Information om hur du installerar den senaste versionen av AzCopy finns i AzCopy v10.
Om du väljer att installera den äldre versionen av AzCopy (AzCopy v8.1) finns det flera versioner som du kan ladda ned. AzCopy på Windows erbjuder kommandoradsalternativ i Windows-stil. AzCopy på Linux riktar sig till Linux-plattformar som erbjuder kommandoradsalternativ i POSIX-format. Den här artikeln beskriver AzCopy i Windows.
Ladda ned och installera AzCopy (v8.1) i Windows
Ladda ned AzCopy (v8.1) i Windows.
Viktig information om AzCopy i Windows 8.1
- Tabelltjänsten stöds inte längre i den senaste versionen. Om du använder tabellexportfunktionen laddar du ned AzCopy 7.3-versionen.
- Skapad med .NET Core 2.1 och alla .NET Core-beroenden är nu paketerade i installationen.
- Stöd för OAuth-autentisering har lagts till. Använd
azcopy login
för att logga in med Azure Active Directory.
AzCopy med tabellstöd (v7.3)
Ladda ned AzCopy 7.3 med tabellstöd.
Steg efter installationen
När du har installerat AzCopy i Windows med installationsprogrammet öppnar du ett kommandofönster och navigerar till installationskatalogen AzCopy på datorn – där den AzCopy.exe
körbara filen finns. Om du vill kan du lägga till azcopy-installationsplatsen i systemsökvägen. Som standard är AzCopy installerat på %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy
eller %ProgramFiles%\Microsoft SDKs\Azure\AzCopy
.
Skriva ditt första AzCopy-kommando
Den grundläggande syntaxen för AzCopy-kommandon är:
AzCopy /Source:<source> /Dest:<destination> [Options]
Följande exempel visar en mängd olika scenarier för att kopiera data till och från Microsoft Azure Blobs, Files och Tables. I avsnittet AzCopy-parametrar finns en detaljerad förklaring av de parametrar som används i varje exempel.
Ladda ned blobar från Blob Storage
Nu ska vi titta på flera sätt att ladda ned blobar med AzCopy.
Ladda ned en enskild blob
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"
Observera att om mappen C:\myfolder
inte finns skapar AzCopy den och laddar ned abc.txt
den till den nya mappen.
Ladda ned en enskild blob från den sekundära regionen
AzCopy /Source:https://myaccount-secondary.blob.core.windows.net/mynewcontainer /Dest:C:\myfolder /SourceKey:key /Pattern:"abc.txt"
Observera att du måste ha geo-redundant lagring med läsåtkomst aktiverat för att få åtkomst till den sekundära regionen.
Ladda ned alla blobar i en container
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /S
Anta att följande blobar finns i den angivna containern:
abc.txt
abc1.txt
abc2.txt
vd1\a.txt
vd1\abcd.txt
Efter nedladdningsåtgärden innehåller katalogen C:\myfolder
följande filer:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\vd1\a.txt
C:\myfolder\vd1\abcd.txt
Om du inte anger alternativet /S
laddas inga blobar ned.
Ladda ned blobar med ett specifikt prefix
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /Pattern:a /S
Anta att följande blobar finns i den angivna containern. Alla blobar som börjar med prefixet a
laddas ned:
abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt
Efter nedladdningsåtgärden innehåller mappen C:\myfolder
följande filer:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
Prefixet gäller för den virtuella katalogen, som utgör den första delen av blobnamnet. I exemplet ovan matchar inte den virtuella katalogen det angivna prefixet, så den laddas inte ned. Om alternativet /S
inte har angetts laddar AzCopy dessutom inte ned några blobar.
Ange att den senast ändrade tiden för exporterade filer ska vara samma som källblobbarna
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT
Du kan också undanta blobar från nedladdningsåtgärden baserat på deras senaste ändringstid. Om du till exempel vill exkludera blobar vars senaste ändringstid är samma eller senare än målfilen lägger du till /XN
alternativet:
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XN
Om du vill undanta blobar vars senaste ändringstid är samma eller äldre än målfilen lägger du till alternativet /XO
:
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:key /MT /XO
Ladda upp blobar till Blob Storage
Nu ska vi titta på flera sätt att ladda upp blobar med AzCopy.
Ladda upp en enskild blob
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:"abc.txt"
Om den angivna målcontainern inte finns, så skapar AzCopy den och överför filen till den.
Ladda upp en enskild blob till en virtuell katalog
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer/vd /DestKey:key /Pattern:abc.txt
Om den angivna virtuella katalogen inte finns laddar AzCopy upp filen för att inkludera den virtuella katalogen i dess namn (t.ex.vd/abc.txt
i exemplet ovan).
Ladda upp alla blobar i en mapp
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /S
Om du anger alternativet /S
överförs innehållet i den angivna katalogen till Blob Storage rekursivt, vilket innebär att även alla undermappar och deras filer laddas upp. Anta till exempel att följande filer finns i mappen C:\myfolder
:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt
Efter uppladdningen innehåller containern följande filer:
abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt
Om du inte anger alternativet /S
laddar AzCopy inte upp rekursivt. Efter uppladdningen innehåller containern följande filer:
abc.txt
abc1.txt
abc2.txt
Ladda upp blobar som matchar ett specifikt mönster
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Pattern:a* /S
Anta att följande filer finns i mappen C:\myfolder
:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
C:\myfolder\xyz.txt
C:\myfolder\subfolder\a.txt
C:\myfolder\subfolder\abcd.txt
Efter uppladdningen innehåller containern följande filer:
abc.txt
abc1.txt
abc2.txt
subfolder\a.txt
subfolder\abcd.txt
Om du inte anger alternativet /S
laddar AzCopy bara upp blobar som inte finns i en virtuell katalog:
C:\myfolder\abc.txt
C:\myfolder\abc1.txt
C:\myfolder\abc2.txt
Ange MIME-innehållstypen för en målblob
Som standard anger AzCopy innehållstypen för en målblob till application/octet-stream
. Från och med version 3.1.0 kan du uttryckligen ange innehållstypen via alternativet /SetContentType:[content-type]
. Den här syntaxen anger innehållstypen för alla blobar i en uppladdningsåtgärd.
AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType:video/mp4
Om du anger /SetContentType
utan värde anger AzCopy varje blob eller fils innehållstyp enligt filnamnstillägget.
AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.blob.core.windows.net/myContainer/ /DestKey:key /Pattern:ab /SetContentType
Kopiera blobar i Blob Storage
Nu ska vi titta på flera sätt att kopiera blobar från en plats till en annan med hjälp av AzCopy.
Kopiera en enskild blob från en container till en annan inom samma lagringskonto
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceKey:key /DestKey:key /Pattern:abc.txt
När du kopierar en blob i ett lagringskonto utförs en kopieringsåtgärd på serversidan.
Kopiera en enskild blob från ett lagringskonto till ett annat
AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt
När du kopierar en blob över lagringskonton utförs en kopieringsåtgärd på serversidan.
Kopiera en enskild blob från den sekundära regionen till den primära regionen
AzCopy /Source:https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1 /Dest:https://myaccount2.blob.core.windows.net/mynewcontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt
Observera att du måste ha geo-redundant lagring med läsåtkomst aktiverat för att få åtkomst till sekundär lagring.
Kopiera en enskild blob och dess ögonblicksbilder från ett lagringskonto till ett annat
AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1 /Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt /Snapshot
Efter kopieringsåtgärden innehåller målcontainern bloben och dess ögonblicksbilder. Förutsatt att bloben i exemplet ovan har två ögonblicksbilder innehåller containern följande blob och ögonblicksbilder:
abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt
Kopiera alla blobar i en container till ett annat lagringskonto
AzCopy /Source:https://sourceaccount.blob.core.windows.net/mycontainer1
/Dest:https://destaccount.blob.core.windows.net/mycontainer2 /SourceKey:key1 /DestKey:key2 /S
Om du anger alternativet /S laddas innehållet i den angivna containern rekursivt upp. Mer information och ett exempel finns i Ladda upp alla blobar i en mapp .
Kopiera blobar synkront från ett lagringskonto till ett annat
AzCopy kopierar som standard data mellan två lagringsslutpunkter asynkront. Därför körs kopieringsåtgärden i bakgrunden med outnyttjad bandbreddskapacitet som inte har något serviceavtal när det gäller hur snabbt en blob kopieras, och AzCopy kontrollerar regelbundet kopieringsstatusen tills kopieringen har slutförts eller misslyckats.
Alternativet /SyncCopy
säkerställer att kopieringsåtgärden får konsekvent hastighet. AzCopy utför den synkrona kopian genom att ladda ned blobarna som ska kopieras från den angivna källan till det lokala minnet och sedan ladda upp dem till bloblagringsmålet.
AzCopy /Source:https://myaccount1.blob.core.windows.net/myContainer/ /Dest:https://myaccount2.blob.core.windows.net/myContainer/ /SourceKey:key1 /DestKey:key2 /Pattern:ab /SyncCopy
/SyncCopy
kan generera ytterligare utgående kostnad jämfört med asynkron kopia, är den rekommenderade metoden att använda det här alternativet på en virtuell Azure-dator som finns i samma region som ditt källlagringskonto för att undvika utgående kostnader.
Ladda ned filer från Fillagring
Nu ska vi titta på flera sätt att ladda ned filer med AzCopy.
Ladda ned en enda fil
AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/myfolder1/ /Dest:C:\myfolder /SourceKey:key /Pattern:abc.txt
Om den angivna källan är en Azure-filresurs måste du antingen ange det exakta filnamnet (t.ex. abc.txt
) för att ladda ned en enskild fil eller ange alternativet /S
att ladda ned alla filer i resursen rekursivt. Försök att ange både ett filmönster och ett alternativ /S
tillsammans resulterar i ett fel.
Ladda ned alla filer i en katalog
AzCopy /Source:https://myaccount.file.core.windows.net/myfileshare/ /Dest:C:\myfolder /SourceKey:key /S
Observera att tomma mappar inte laddas ned.
Ladda upp filer till en Azure-filresurs
Nu ska vi titta på flera sätt att ladda upp filer med AzCopy.
Ladda upp en enda fil
AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:abc.txt
Ladda upp alla filer i en mapp
AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /S
Observera att tomma mappar inte laddas upp.
Ladda upp filer som matchar ett specifikt mönster
AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /Pattern:ab* /S
Kopiera filer i Fillagring
Nu ska vi titta på flera sätt att kopiera filer i en Azure-filresurs med hjälp av AzCopy.
Kopiera från en filresurs till en annan
AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S
När du kopierar en fil mellan filresurser utförs en kopieringsåtgärd på serversidan.
Kopiera från en Azure-filresurs till Blob Storage
AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare/ /Dest:https://myaccount2.blob.core.windows.net/mycontainer/ /SourceKey:key1 /DestKey:key2 /S
När du kopierar en fil från filresurs till blob utförs en kopieringsåtgärd på serversidan.
Kopiera en blob från Blob Storage till en Azure-filresurs
AzCopy /Source:https://myaccount1.blob.core.windows.net/mycontainer/ /Dest:https://myaccount2.file.core.windows.net/myfileshare/ /SourceKey:key1 /DestKey:key2 /S
När du kopierar en fil från en blob till en filresurs utförs en kopieringsåtgärd på serversidan.
Kopiera filer synkront
Du kan ange /SyncCopy
alternativet för att kopiera data från Fillagring till Fillagring, från Fillagring till Blob Storage och från Blob Storage till Fillagring synkront. AzCopy gör detta genom att ladda ned källdata till lokalt minne och ladda upp dem igen till målet. Standardkostnaden för utgående trafik gäller.
AzCopy /Source:https://myaccount1.file.core.windows.net/myfileshare1/ /Dest:https://myaccount2.file.core.windows.net/myfileshare2/ /SourceKey:key1 /DestKey:key2 /S /SyncCopy
När du kopierar från Fillagring till Blob Storage är standardblobtypen blockblob. användaren kan ange alternativet /BlobType:page
för att ändra målblobtypen.
Observera att /SyncCopy
kan generera ytterligare utgående kostnader jämfört med asynkron kopiering. Den rekommenderade metoden är att använda det här alternativet på den virtuella Azure-datorn som finns i samma region som ditt källlagringskonto för att undvika utgående kostnader.
Exportera data från Table Storage
Nu ska vi ta en titt på hur du exporterar data från Azure Table Storage med AzCopy.
Exportera en tabell
AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key
AzCopy skriver en manifestfil till den angivna målmappen. Manifestfilen används i importprocessen för att hitta nödvändiga datafiler och utföra dataverifiering. Manifestfilen använder följande namngivningskonvention som standard:
<account name>_<table name>_<timestamp>.manifest
Användaren kan också ange alternativet /Manifest:<manifest file name>
för att ange manifestfilens namn.
AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /Manifest:abc.manifest
Dela upp en export från Table Storage i flera filer
AzCopy /Source:https://myaccount.table.core.windows.net/mytable/ /Dest:C:\myfolder /SourceKey:key /S /SplitSize:100
AzCopy använder ett volymindex i filnamnen för delade data för att särskilja flera filer. Volymindexet består av två delar, ett partitionsnyckelintervallindex och ett delat filindex. Båda indexen är nollbaserade.
Indexet för partitionsnyckelintervallet är 0 om användaren inte anger alternativet /PKRS
.
Anta till exempel att AzCopy genererar två datafiler när användaren anger alternativet /SplitSize
. De resulterande datafilnamnen kan vara:
myaccount_mytable_20140903T051850.8128447Z_0_0_C3040FE8.json
myaccount_mytable_20140903T051850.8128447Z_0_1_0AB9AC20.json
Observera att det minsta möjliga värdet för alternativet /SplitSize
är 32 MB. Om det angivna målet är Blob Storage delar AzCopy upp datafilen när dess storlekar når blobstorleksbegränsningen (200 GB), oavsett om alternativet /SplitSize
har angetts av användaren.
Exportera en tabell till JSON- eller CSV-datafilformat
Som standard exporterar AzCopy tabeller till JSON-datafiler. Du kan ange alternativet /PayloadFormat:JSON|CSV
för att exportera tabellerna som JSON eller CSV.
AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PayloadFormat:CSV
När du anger CSV-nyttolastformatet genererar AzCopy även en schemafil med filnamnstillägg .schema.csv
för varje datafil.
Exportera tabellentiteter samtidigt
AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:C:\myfolder\ /SourceKey:key /PKRS:"aa#bb"
AzCopy startar samtidiga åtgärder för att exportera entiteter när användaren anger alternativet /PKRS
. Varje åtgärd exporterar ett partitionsnyckelintervall.
Observera att antalet samtidiga åtgärder också styrs av alternativet /NC
. AzCopy använder antalet kärnprocessorer som standardvärde för vid kopiering av /NC
tabellentiteter, även om /NC
det inte har angetts. När användaren anger alternativet /PKRS
använder AzCopy det mindre av de två värdena – partitionsnyckelintervall jämfört med implicita eller uttryckligen angivna samtidiga åtgärder – för att fastställa antalet samtidiga åtgärder som ska startas. Mer information finns AzCopy /?:NC
på kommandoraden.
Exportera en tabell till Blob Storage
AzCopy /Source:https://myaccount.table.core.windows.net/myTable/ /Dest:https://myaccount.blob.core.windows.net/mycontainer/ /SourceKey:key1 /Destkey:key2
AzCopy genererar en JSON-datafil till blobcontainern med följande namngivningskonvention:
<account name>_<table name>_<timestamp>_<volume index>_<CRC>.json
Den genererade JSON-datafilen följer nyttolastformatet för minimala metadata. Mer information om det här nyttolastformatet finns i Nyttolastformat för table service-åtgärder.
Observera att När du exporterar tabeller till blobar laddar AzCopy ned tabellentiteterna till lokala temporära datafiler och laddar sedan upp dessa entiteter till bloben. Dessa temporära datafiler placeras i journalfilmappen med standardsökvägen "%LocalAppData%\Microsoft\Azure\AzCopy
", du kan ange alternativet /Z:[journal-file-folder] för att ändra platsen för journalfilens mapp och därmed ändra platsen för temporära datafiler. Storleken på de temporära datafilerna bestäms av tabellentiteternas storlek och den storlek som du angav med alternativet /SplitSize, även om den temporära datafilen på den lokala disken tas bort omedelbart när den har laddats upp till blobben, se till att du har tillräckligt med lokalt diskutrymme för att lagra dessa temporära datafiler innan de tas bort.
Importera data till Table Storage
Nu ska vi ta en titt på hur du importerar data till Azure Table Storage med hjälp av AzCopy.
Importera en tabell
AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.core.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace
Alternativet /EntityOperation
anger hur du infogar entiteter i tabellen. Möjliga värden är:
InsertOrSkip
: Hoppar över en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.InsertOrMerge
: Sammanfogar en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.InsertOrReplace
: Ersätter en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.
Observera att du inte kan ange alternativet /PKRS
i importscenariot. Till skillnad från exportscenariot, där du måste ange alternativet /PKRS
för att starta samtidiga åtgärder, startar AzCopy som standard samtidiga åtgärder när du importerar en tabell. Standardantalet samtidiga åtgärder som startas är lika med antalet kärnprocessorer. Du kan dock ange ett annat antal samtidiga med alternativet /NC
. Mer information finns AzCopy /?:NC
på kommandoraden.
Observera att AzCopy endast stöder import för JSON, inte CSV. AzCopy stöder inte tabellimporter från användarskapade JSON- och manifestfiler. Båda dessa filer måste komma från en AzCopy-tabellexport. Undvik fel genom att inte ändra den exporterade JSON- eller manifestfilen.
Importera entiteter till en tabell från Blob Storage
Anta att en blobcontainer innehåller följande: En JSON-fil som representerar en Azure-tabell och dess tillhörande manifestfil.
myaccount_mytable_20140103T112020.manifest
myaccount_mytable_20140103T112020_0_0_0AF395F1DC42E952.json
Du kan köra följande kommando för att importera entiteter till en tabell med hjälp av manifestfilen i blobcontainern:
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer /Dest:https://myaccount.table.core.windows.net/mytable /SourceKey:key1 /DestKey:key2 /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:"InsertOrReplace"
Andra AzCopy-funktioner
Låt oss ta en titt på några andra AzCopy-funktioner.
Kopiera endast data som inte finns i målet
Med /XO
parametrarna och /XN
kan du undanta äldre eller nyare källresurser från att kopieras. Om du bara vill kopiera källresurser som inte finns i målet kan du ange båda parametrarna i Kommandot AzCopy:
/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /XO /XN
/Source:C:\myfolder /Dest:http://myaccount.file.core.windows.net/myfileshare /DestKey:<destkey> /S /XO /XN
/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:http://myaccount.blob.core.windows.net/mycontainer1 /SourceKey:<sourcekey> /DestKey:<destkey> /S /XO /XN
Observera att detta inte stöds när källan eller målet är en tabell.
Använd en svarsfil för att ange kommandoradsparametrar
AzCopy /@:"C:\responsefiles\copyoperation.txt"
Du kan inkludera azcopy-kommandoradsparametrar i en svarsfil. AzCopy bearbetar parametrarna i filen som om de hade angetts på kommandoraden och utför en direkt ersättning med innehållet i filen.
Anta att en svarsfil med namnet copyoperation.txt
, som innehåller följande rader. Varje AzCopy-parameter kan anges på en enda rad
/Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y
eller på separata linjer:
/Source:http://myaccount.blob.core.windows.net/mycontainer
/Dest:C:\myfolder
/SourceKey:<sourcekey>
/S
/Y
AzCopy misslyckas om du delar parametern över två rader, vilket visas här för parametern /sourcekey
:
http://myaccount.blob.core.windows.net/mycontainer
C:\myfolder
/sourcekey:
<sourcekey>
/S
/Y
Använd flera svarsfiler för att ange kommandoradsparametrar
Anta att en svarsfil med namnet source.txt
anger en källcontainer:
/Source:http://myaccount.blob.core.windows.net/mycontainer
Och en svarsfil med namnet dest.txt
som anger en målmapp i filsystemet:
/Dest:C:\myfolder
Och en svarsfil med namnet options.txt
som anger alternativ för AzCopy:
/S /Y
Om du vill anropa AzCopy med dessa svarsfiler, som alla finns i en katalog C:\responsefiles
, använder du det här kommandot:
AzCopy /@:"C:\responsefiles\source.txt" /@:"C:\responsefiles\dest.txt" /SourceKey:<sourcekey> /@:"C:\responsefiles\options.txt"
AzCopy bearbetar det här kommandot på samma sätt som om du inkluderade alla enskilda parametrar på kommandoraden:
AzCopy /Source:http://myaccount.blob.core.windows.net/mycontainer /Dest:C:\myfolder /SourceKey:<sourcekey> /S /Y
Ange en signatur för delad åtkomst (SAS)
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1 /Dest:https://myaccount.blob.core.windows.net/mycontainer2 /SourceSAS:SAS1 /DestSAS:SAS2 /Pattern:abc.txt
Du kan också ange en SAS på containerns URI:
AzCopy /Source:https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken /Dest:C:\myfolder /S
Journalfilmapp
Varje gång du utfärdar ett kommando till AzCopy kontrollerar den om det finns en journalfil i standardmappen eller om den finns i en mapp som du har angett via det här alternativet. Om journalfilen inte finns på något ställe behandlar AzCopy åtgärden som ny och genererar en ny journalfil.
Om journalfilen finns kontrollerar AzCopy om kommandoraden som du anger matchar kommandoraden i journalfilen. Om de två kommandoraderna matchar återupptar AzCopy den ofullständiga åtgärden. Om de inte matchar uppmanas du att antingen skriva över journalfilen för att starta en ny åtgärd eller avbryta den aktuella åtgärden.
Om du vill använda standardplatsen för journalfilen:
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z
Om du utelämnar alternativet /Z
eller anger alternativet /Z
utan mappsökvägen, som du ser ovan, skapar AzCopy journalfilen på standardplatsen, som är %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy
. Om journalfilen redan finns återupptar AzCopy åtgärden baserat på journalfilen.
Om du vill ange en anpassad plats för journalfilen:
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /Z:C:\journalfolder\
Det här exemplet skapar journalfilen om den inte redan finns. Om den finns återupptar AzCopy åtgärden baserat på journalfilen.
Om du vill återuppta en AzCopy-åtgärd:
AzCopy /Z:C:\journalfolder\
Det här exemplet återupptar den senaste åtgärden, som kanske inte kunde slutföras.
Generera en loggfil
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V
Om du anger alternativet /V
utan att ange en filsökväg till den utförliga loggen skapar AzCopy loggfilen på standardplatsen, som är %SystemDrive%\Users\%username%\AppData\Local\Microsoft\Azure\AzCopy
.
Annars kan du skapa en loggfil på en anpassad plats:
AzCopy /Source:C:\myfolder /Dest:https://myaccount.blob.core.windows.net/mycontainer /DestKey:key /V:C:\myfolder\azcopy1.log
Observera att om du anger en relativ sökväg efter alternativet /V
, till exempel /V:test/azcopy1.log
, skapas den utförliga loggen i den aktuella arbetskatalogen i en undermapp med namnet test
.
Ange antalet samtidiga åtgärder som ska startas
Alternativet /NC
anger antalet samtidiga kopieringsåtgärder. Som standard startar AzCopy ett visst antal samtidiga åtgärder för att öka dataöverföringens dataflöde. För tabellåtgärder är antalet samtidiga åtgärder lika med det antal processorer som du har. För blob- och filåtgärder är antalet samtidiga åtgärder lika med 8 gånger så många processorer som du har. Om du kör AzCopy i ett nätverk med låg bandbredd kan du ange ett lägre nummer för /NC för att undvika fel som orsakas av resurskonkurrens.
Kör AzCopy mot Azure Storage-emulatorn
Du kan köra AzCopy mot Azure Storage-emulatorn för blobar:
AzCopy /Source:https://127.0.0.1:10000/myaccount/mycontainer/ /Dest:C:\myfolder /SourceKey:key /SourceType:Blob /S
Du kan också köra den för tabeller:
AzCopy /Source:https://127.0.0.1:10002/myaccount/mytable/ /Dest:C:\myfolder /SourceKey:key /SourceType:Table
Fastställa innehållstyp för en blob automatiskt
AzCopy avgör innehållstypen för en blob baserat på en JSON-fil som lagrar innehållstyp till mappning av filnamnstillägg. Den här JSON-filen heter AzCopyConfig.json och finns i katalogen AzCopy. Om du har en filtyp som inte finns i listan kan du lägga till mappningen i JSON-filen:
{
"MIMETypeMapping": {
".myext": "text/mycustomtype",
.
.
}
}
AzCopy-parametrar
Parametrar för AzCopy beskrivs nedan. Du kan också skriva något av följande kommandon från kommandoraden för att få hjälp med att använda AzCopy:
- För detaljerad kommandoradshjälp för AzCopy:
AzCopy /?
- För detaljerad hjälp med valfri AzCopy-parameter:
AzCopy /?:SourceKey
- För kommandoradsexempel:
AzCopy /?:Sample
/Source:"source"
Anger de källdata som ska kopieras från. Källan kan vara en filsystemkatalog, en blobcontainer, en virtuell blobkatalog, en lagringsfilresurs, en lagringsfilkatalog eller en Azure-tabell.
Gäller för: Blobar, filer, tabeller
/Dest:"destination"
Anger målet som ska kopieras till. Målet kan vara en filsystemkatalog, en blobcontainer, en virtuell blobkatalog, en lagringsfilresurs, en lagringsfilkatalog eller en Azure-tabell.
Gäller för: Blobar, filer, tabeller
/Pattern:"file-pattern"
Anger ett filmönster som anger vilka filer som ska kopieras. Beteendet för parametern /Pattern bestäms av platsen för källdata och förekomsten av alternativet rekursivt läge. Rekursivt läge anges via alternativet /S.
Om den angivna källan är en katalog i filsystemet tillämpas standard jokertecken och det angivna filmönstret matchas mot filer i katalogen. Om alternativet /S anges matchar AzCopy även det angivna mönstret mot alla filer i alla undermappar under katalogen.
Om den angivna källan är en blobcontainer eller virtuell katalog tillämpas inte jokertecken. Om alternativet /S anges tolkar AzCopy det angivna filmönstret som ett blobprefix. Om alternativet /S inte har angetts matchar AzCopy filmönstret mot exakta blobnamn.
Om den angivna källan är en Azure-filresurs måste du antingen ange det exakta filnamnet (t.ex. abc.txt) för att kopiera en enskild fil eller ange alternativet /S för att kopiera alla filer i resursen rekursivt. Försök att ange både ett filmönster och alternativ /S tillsammans resulterar i ett fel.
AzCopy använder skiftlägeskänslig matchning när /Source är en blobcontainer eller en virtuell blobkatalog och använder skiftlägesokänslig matchning i alla andra fall.
Standardfilmönstret som används när inget filmönster anges är . för en filsystemplats eller ett tomt prefix för en Azure Storage-plats. Det går inte att ange flera filmönster.
Gäller för: Blobar, filer
/DestKey:"storage-key"
Anger lagringskontonyckeln för målresursen.
Gäller för: Blobar, filer, tabeller
/DestSAS:"sas-token"
Anger en signatur för delad åtkomst (SAS) med LÄS- och SKRIVbehörighet för målet (om tillämpligt). Omge SAS med dubbla citattecken, eftersom det kan innehålla särskilda kommandoradstecken.
Om målresursen är en blobcontainer, filresurs eller tabell kan du antingen ange det här alternativet följt av SAS-token, eller så kan du ange SAS som en del av målblobcontainern, filresursen eller tabellens URI, utan det här alternativet.
Om källan och målet är båda blobarna måste målbloben finnas inom samma lagringskonto som källbloben.
Gäller för: Blobar, filer, tabeller
/SourceKey:"storage-key"
Anger lagringskontonyckeln för källresursen.
Gäller för: Blobar, filer, tabeller
/SourceSAS:"sas-token"
Anger en signatur för delad åtkomst med LÄS- och LIST-behörigheter för källan (om tillämpligt). Omge SAS med dubbla citattecken, eftersom det kan innehålla särskilda kommandoradstecken.
Om källresursen är en blobcontainer och varken en nyckel eller en SAS tillhandahålls, läss blobcontainern via anonym åtkomst.
Om källan är en filresurs eller tabell måste en nyckel eller en SAS anges.
Gäller för: Blobar, filer, tabeller
/S
Anger rekursivt läge för kopieringsåtgärder. I rekursivt läge kopierar AzCopy alla blobar eller filer som matchar det angivna filmönstret, inklusive de i undermappar.
Gäller för: Blobar, filer
/BlobType:"block" | "page" | "lägg till"
Anger om målbloben är en blockblob, en sidblob eller en tilläggsblob. Det här alternativet gäller endast när du laddar upp en blob. Annars genereras ett fel. Om målet är en blob och det här alternativet inte har angetts skapar AzCopy som standard en blockblob.
Gäller för: Blobar
/CheckMD5
Beräknar en MD5-hash för nedladdade data och verifierar att MD5-hashen som lagras i bloben eller filens Content-MD5-egenskap matchar den beräknade hashen. Om värdena inte matchar kan AzCopy inte ladda ned data. MD5-kontrollen är inaktiverad som standard, så du måste ange det här alternativet för att utföra MD5-kontrollen när du laddar ned data.
Observera att Azure Storage inte garanterar att MD5-hashen som lagras för bloben eller filen är uppdaterad. Det är klientens ansvar att uppdatera MD5 när bloben eller filen ändras. När det gäller diskavbildningar (hanterade eller ohanterade diskar) uppdaterar inte de virtuella Azure-datorerna MD5-värdet när diskinnehållet ändras, därför genererar /CheckMD5 ett fel när diskavbildningar laddas ned.
AzCopy v8 anger alltid egenskapen Content-MD5 för en Azure-blob eller -fil när den har laddats upp till tjänsten.
Gäller för: Blobar, filer
/Ögonblicksbild
Anger om ögonblicksbilder ska överföras. Det här alternativet är endast giltigt när källan är en blob.
De överförda blobögonblicksbilderna har bytt namn i det här formatet: blob-name (snapshot-time).extension
Som standard kopieras inte ögonblicksbilder.
Gäller för: Blobar
/V:[verbose-log-file]
Utdata utförliga statusmeddelanden i en loggfil.
Som standard heter den utförliga loggfilen AzCopyVerbose.log i %LocalAppData%\Microsoft\Azure\AzCopy
. Om du anger en befintlig filplats för det här alternativet läggs den utförliga loggen till i filen.
Gäller för: Blobar, filer, tabeller
/Z:[journal-file-folder]
Anger en journalfilmapp för att återuppta en åtgärd.
AzCopy stöder alltid återupptagande om en åtgärd har avbrutits.
Om det här alternativet inte har angetts eller om det har angetts utan en mappsökväg skapar AzCopy journalfilen på standardplatsen, som är %LocalAppData%\Microsoft\Azure\AzCopy.
Varje gång du utfärdar ett kommando till AzCopy kontrollerar den om det finns en journalfil i standardmappen eller om den finns i en mapp som du har angett via det här alternativet. Om journalfilen inte finns på något ställe behandlar AzCopy åtgärden som ny och genererar en ny journalfil.
Om journalfilen finns kontrollerar AzCopy om kommandoraden som du anger matchar kommandoraden i journalfilen. Om de två kommandoraderna matchar återupptar AzCopy den ofullständiga åtgärden. Om de inte matchar uppmanas du att antingen skriva över journalfilen för att starta en ny åtgärd eller avbryta den aktuella åtgärden.
Journalfilen tas bort när åtgärden har slutförts.
Observera att det inte går att återuppta en åtgärd från en journalfil som skapats av en tidigare version av AzCopy.
Gäller för: Blobar, filer, tabeller
/@:"parameter-file"
Anger en fil som innehåller parametrar. AzCopy bearbetar parametrarna i filen precis som om de hade angetts på kommandoraden.
I en svarsfil kan du antingen ange flera parametrar på en enda rad eller ange varje parameter på sin egen rad. Observera att en enskild parameter inte kan sträcka sig över flera rader.
Svarsfiler kan innehålla kommentarsrader som börjar med #-symbolen.
Du kan ange flera svarsfiler. Observera dock att AzCopy inte stöder kapslade svarsfiler.
Gäller för: Blobar, filer, tabeller
/Y
Undertrycker alla AzCopy-bekräftelsemeddelanden. Det här alternativet tillåter också användning av skrivskyddade SAS-token för datauppladdningsscenarier, när /XO och /XN inte har angetts.
Gäller för: Blobar, filer, tabeller
/L
Anger endast en liståtgärd. inga data kopieras.
AzCopy tolkar användningen av det här alternativet som en simulering för att köra kommandoraden utan det här alternativet /L och räknar hur många objekt som kopieras. Du kan ange alternativet /V samtidigt för att kontrollera vilka objekt som kopieras i den utförliga loggen.
Beteendet för det här alternativet bestäms också av platsen för källdata och förekomsten av rekursivt lägesalternativ /S och filmönsteralternativet /Pattern.
AzCopy kräver LIST- och READ-behörighet för den här källplatsen när du använder det här alternativet.
Gäller för: Blobar, filer
/MT
Anger att den nedladdade filens senaste ändringstid ska vara samma som källbloben eller -filens.
Gäller för: Blobar, filer
/XN
Exkluderar en nyare källresurs. Resursen kopieras inte om den senaste ändrade tiden för källan är samma eller senare än målet.
Gäller för: Blobar, filer
/XO
Exkluderar en äldre källresurs. Resursen kopieras inte om den senaste ändrade tiden för källan är samma eller äldre än målet.
Gäller för: Blobar, filer
/A
Laddar bara upp filer som har attributet Arkiv inställt.
Gäller för: Blobar, filer
/IA:[RASHCNETOI]
Laddar bara upp filer som har något av de angivna attributen angivna.
Tillgängliga attribut är:
- R = Skrivskyddade filer
- A = Filer som är redo för arkivering
- S = Systemfiler
- H = Dolda filer
- C = Komprimerade filer
- N = Normala filer
- E = Krypterade filer
- T = Temporära filer
- O = Offlinefiler
- I = Icke-indexerade filer
Gäller för: Blobar, filer
/XA:[RASHCNETOI]
Exkluderar filer som har någon av de angivna attributuppsättningen.
Tillgängliga attribut är:
- R = Skrivskyddade filer
- A = Filer som är redo för arkivering
- S = Systemfiler
- H = Dolda filer
- C = Komprimerade filer
- N = Normala filer
- E = Krypterade filer
- T = Temporära filer
- O = Offlinefiler
- I = Icke-indexerade filer
Gäller för: Blobar, filer
/Avgränsare:"avgränsare"
Anger avgränsartecknet som används för att avgränsa virtuella kataloger i ett blobnamn.
Som standard använder AzCopy /som avgränsartecken. AzCopy har dock stöd för att använda alla vanliga tecken (till exempel @, #eller %) som avgränsare. Om du behöver inkludera något av dessa specialtecken på kommandoraden omger du filnamnet med dubbla citattecken.
Det här alternativet gäller endast för nedladdning av blobar.
Gäller för: Blobar
/NC:"number-of-concurrent-operations"
Anger antalet samtidiga åtgärder.
AzCopy startar som standard ett visst antal samtidiga åtgärder för att öka dataöverföringens dataflöde. Observera att ett stort antal samtidiga åtgärder i en miljö med låg bandbredd kan överbelasta nätverksanslutningen och förhindra att åtgärderna slutförs helt. Begränsa samtidiga åtgärder baserat på den faktiska tillgängliga nätverksbandbredden.
Den övre gränsen för samtidiga åtgärder är 512.
Gäller för: Blobar, filer, tabeller
/SourceType:"Blob" | "Tabell"
Anger att resursen source
är en blob som är tillgänglig i den lokala utvecklingsmiljön och körs i lagringsemulatorn.
Gäller för: Blobar, tabeller
/DestType:"Blob" | "Tabell"
Anger att resursen destination
är en blob som är tillgänglig i den lokala utvecklingsmiljön och körs i lagringsemulatorn.
Gäller för: Blobar, tabeller
/PKRS:"key1#key2#key3#..."
Delar upp partitionsnyckelintervallet så att du kan exportera tabelldata parallellt, vilket ökar exportåtgärdens hastighet.
Om det här alternativet inte har angetts använder AzCopy en enda tråd för att exportera tabellentiteter. Om användaren till exempel anger /PKRS:"aa#bb" startar AzCopy tre samtidiga åtgärder.
Varje åtgärd exporterar ett av tre partitionsnyckelintervall enligt nedan:
[first-partition-key, aa)
[aa, bb)
[bb, last-partition-key]
Gäller för: Tabeller
/SplitSize:"file-size"
Anger den exporterade fildelningsstorleken i MB, det minsta tillåtna värdet är 32.
Om det här alternativet inte har angetts exporterar AzCopy tabelldata till en enda fil.
Om tabelldata exporteras till en blob och den exporterade filstorleken når gränsen på 200 GB för blobstorleken, delar AzCopy upp den exporterade filen, även om det här alternativet inte har angetts.
Gäller för: Tabeller
/EntityOperation:"InsertOrSkip" | "InsertOrMerge" | "InsertOrReplace"
Anger beteendet för tabelldataimport.
- InsertOrSkip – Hoppar över en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.
- InsertOrMerge – sammanfogar en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.
- InsertOrReplace – Ersätter en befintlig entitet eller infogar en ny entitet om den inte finns i tabellen.
Gäller för: Tabeller
/Manifest:"manifest-file"
Anger manifestfilen för tabellexport- och importåtgärden.
Det här alternativet är valfritt under exportåtgärden, AzCopy genererar en manifestfil med fördefinierade namn om det här alternativet inte har angetts.
Det här alternativet krävs under importåtgärden för att hitta datafilerna.
Gäller för: Tabeller
/SyncCopy
Anger om blobar eller filer ska kopieras synkront mellan två Azure Storage-slutpunkter.
AzCopy använder som standard asynkron kopia på serversidan. Ange det här alternativet för att utföra en synkron kopia som laddar ned blobar eller filer till lokalt minne och sedan laddar upp dem till Azure Storage.
Du kan använda det här alternativet när du kopierar filer i Blob Storage, i Fillagring eller från Blob Storage till Fillagring eller vice versa.
Gäller för: Blobar, filer
/SetContentType:"content-type"
Anger MIME-innehållstypen för målblobar eller filer.
AzCopy anger innehållstypen för en blob eller fil till program/oktettström som standard. Du kan ange innehållstypen för alla blobar eller filer genom att uttryckligen ange ett värde för det här alternativet.
Om du anger det här alternativet utan ett värde anger AzCopy varje blob eller fils innehållstyp enligt filnamnstillägget.
Gäller för: Blobar, filer
/PayloadFormat:"JSON" | "CSV"
Anger formatet för den tabellexporterade datafilen.
Om det här alternativet inte anges exporterar AzCopy som standard tabelldatafil i JSON-format.
Gäller för: Tabeller
Kända problem och metodtips
Låt oss ta en titt på några av de kända problemen och metodtipsen.
Begränsa samtidiga skrivningar vid kopiering av data
När du kopierar blobar eller filer med AzCopy bör du tänka på att ett annat program kan ändra data medan du kopierar dem. Om möjligt kontrollerar du att de data som du kopierar inte ändras under kopieringsåtgärden. När du till exempel kopierar en virtuell hårddisk som är associerad med en virtuell Azure-dator kontrollerar du att inga andra program för närvarande skriver till den virtuella hårddisken. Ett bra sätt att göra detta är genom att hyra den resurs som ska kopieras. Alternativt kan du skapa en ögonblicksbild av den virtuella hårddisken först och sedan kopiera ögonblicksbilden.
Om du inte kan förhindra att andra program skriver till blobbar eller filer medan de kopieras, bör du tänka på att när jobbet är klart kanske de kopierade resurserna inte längre har fullständig paritet med källresurserna.
Aktivera FIPS-kompatibla MD5-algoritmer för AzCopy när du använder FIPS-kompatibla algoritmer för kryptering, hashning och signering.
AzCopy använder som standard .NET MD5-implementering för att beräkna MD5 vid kopiering av objekt, men det finns vissa säkerhetskrav som behöver AzCopy för att aktivera FIPS-kompatibel MD5-inställning.
Du kan skapa en app.config-fil AzCopy.exe.config
med egenskapen AzureStorageUseV1MD5
och lägga den åt sidan med AzCopy.exe.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AzureStorageUseV1MD5" value="false"/>
</appSettings>
</configuration>
För egenskapen "AzureStorageUseV1MD5":
- True – Standardvärdet, AzCopy använder .NET MD5-implementering.
- False – AzCopy använder FIPS-kompatibel MD5-algoritm.
FIPS-kompatibla algoritmer är inaktiverade som standard i Windows. Du kan ändra den här principinställningen på datorn. I fönstret Kör (Windows+R) skriver du secpol.msc för att öppna fönstret Lokal säkerhetsprincip . I fönstret Säkerhetsinställningar går du till Säkerhetsinställningar>Säkerhetsalternativ för lokala principer.> Leta upp systemkryptografin: Använd FIPS-kompatibla algoritmer för kryptering, hashing och signeringsprincip. Dubbelklicka på principen för att se värdet som visas i kolumnen Säkerhetsinställning .
Nästa steg
Mer information om Azure Storage och AzCopy finns i följande resurser:
Dokumentation om Azure Storage:
- Introduktion till Azure Storage
- Så här använder du Blob Storage från .NET
- Så här använder du Fillagring från .NET
- Så här använder du Table Storage från .NET
- Skapa, hantera eller ta bort ett lagringskonto
- Överföra data med AzCopy i Linux
Blogginlägg om Azure Storage:
- Introduktion till förhandsversionen av Azure Storage Data Movement Library
- AzCopy: Introduktion till synkron kopiering och anpassad innehållstyp
- AzCopy: Tillkännagivande av allmän tillgänglighet för AzCopy 3.0 plus förhandsversion av AzCopy 4.0 med stöd för tabell och fil
- AzCopy: Optimerad för storskaliga kopieringsscenarier
- AzCopy: Stöd för geo-redundant lagring med läsåtkomst
- AzCopy: Överföra data med omstartsbart läge och SAS-token
- AzCopy: Använda kopieringsblob för flera konton
- AzCopy: Ladda upp/ladda ned filer för Azure Blobs