Ladda upp filer till Azure Blob Storage med hjälp av AzCopy
Du kan ladda upp filer och kataloger till Blob Storage med hjälp av kommandoradsverktyget AzCopy v10.
Om du vill se exempel på andra typer av uppgifter, till exempel att ladda ned blobar, synkronisera med Blob Storage 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>'
.
Skapa en container
Du kan använda kommandot azcopy make för att skapa en container.
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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Exempel
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Exempel (Data Lake Storage-slutpunkt)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Detaljerade referensdokument finns i azcopy make.
Ladda upp en fil
Ladda upp en fil 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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Exempel
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Du kan också ladda upp en fil med hjälp av en jokerteckensymbol (*) var som helst i filsökvägen eller filnamnet. Till exempel: 'C:\myDirectory\*.txt'
, eller C:\my*\*.txt
.
Ladda upp en katalog
Ladda upp en katalog med kommandot azcopy copy .
I det här exemplet kopieras en katalog (och alla filer i katalogen) till en blobcontainer. Resultatet är en katalog i containern med samma namn.
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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Exempel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Om du vill kopiera till en katalog i containern anger du bara namnet på katalogen i kommandosträngen.
Exempel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Om du anger namnet på en katalog som inte finns i containern skapar AzCopy en ny katalog med det namnet.
Ladda upp kataloginnehåll
Ladda upp innehållet i en katalog med hjälp av kommandot azcopy copy . Använd jokertecknet (*) för att ladda upp innehållet utan att kopiera själva innehållskatalogen.
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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Exempel
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
--recursive
Lägg till flaggan för att ladda upp filer i alla underkataloger.
Ladda upp specifika filer
Du kan ladda upp specifika filer med hjälp av fullständiga filnamn, partiella namn med jokertecken (*) eller genom att använda datum och tider.
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 ('').
Ange flera fullständiga filnamn
Använd kommandot azcopy copy med alternativet --include-path
. Avgränsa enskilda filnamn med hjälp av ett semikolon (;
).
Syntax
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Exempel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
I det här exemplet överför C:\myDirectory\photos
AzCopy katalogen och C:\myDirectory\documents\myFile.txt
filen. Inkludera alternativet --recursive
att överföra alla filer i C:\myDirectory\photos
katalogen.
Du kan också exkludera filer med hjälp av alternativet --exclude-path
. Mer information finns i azcopy copy reference docs (azcopy copy reference docs).
Använda jokertecken
Använd kommandot azcopy copy med alternativet --include-pattern
. Ange partiella namn som innehåller jokertecken. Avgränsa namn med hjälp av ett semikolin (;
).
Syntax
azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Exempel
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Du kan också exkludera filer med hjälp av alternativet --exclude-pattern
. Mer information finns i azcopy copy reference docs (azcopy copy reference docs).
Alternativen --include-pattern
och --exclude-pattern
gäller endast för filnamn och inte för sökvägen. Om du vill kopiera alla textfiler som finns i ett katalogträd använder -recursive
du alternativet för att hämta hela katalogträdet och använder -include-pattern
sedan och anger *.txt
för att hämta alla textfiler.
Ladda upp filer som har ändrats före eller efter ett datum och en tid
Använd kommandot azcopy copy med --include-before
alternativet eller --include-after
. Ange ett datum och en tid i ISO-8601-format (till exempel: 2020-08-19T15:04:00Z
).
I följande exempel laddas filer som har ändrats på eller efter det angivna datumet.
Syntax
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>
Exempel
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Exempel (Data Lake Storage-slutpunkt)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Detaljerad referens finns i referensdokumenten för azcopy-kopiering .
Ladda upp med indextaggar
Du kan ladda upp en fil och lägga 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
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 ('').
Överför en fil
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Ladda upp en katalog
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Ladda upp kataloginnehåll
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Kommentar
Om du anger en katalog för källan har alla blobar som kopieras till målet samma taggar som du anger i kommandot .
Ladda upp med valfria flaggor
Du kan justera uppladdningsåtgärden med hjälp av valfria flaggor. Här är några exempel.
Scenario | Flagga |
---|---|
Ladda upp filer som bifogade blobar eller sidblobar. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Ladda upp till en viss åtkomstnivå (till exempel arkivnivå). | --block-blob-tier=[None|Frekvent|Lågfrekvent|Arkiv] |
En fullständig lista finns i alternativ.
Nästa steg
Hitta fler exempel i de här artiklarna:
- Exempel: Ladda ned
- Exempel: Kopiera mellan konton
- 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: