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 valuelä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 valueblir --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:

Se de här artiklarna om du vill konfigurera inställningar, optimera prestanda och felsöka problem: