Nahrání souborů do úložiště objektů blob v Azure pomocí AzCopy

Soubory a adresáře můžete nahrát do úložiště objektů blob pomocí nástroje příkazového řádku AzCopy v10.

Příklady pro jiné typy úloh, jako je stahování objektů blob, synchronizace se službou Blob Storage nebo kopírování objektů blob mezi účty, najdete v odkazech uvedených v části Další kroky tohoto článku.

Začínáme

Přečtěte si článek Začínáme s nástrojem AzCopy a stáhněte si AzCopy a seznamte se s způsoby, jak službě úložiště poskytnout přihlašovací údaje pro autorizaci.

Poznámka:

V příkladech v tomto článku se předpokládá, že jste pomocí ID Microsoft Entra zadali přihlašovací údaje pro autorizaci.

Pokud byste raději k autorizaci přístupu k datům objektů blob použili token SAS, můžete tento token připojit k adrese URL prostředku v každém příkazu AzCopy. Například: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Vytvoření kontejneru

K vytvoření kontejneru můžete použít příkaz azcopy make .

Tip

Tento příklad uzavře argumenty cesty do jednoduchých uvozovek ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Syntaxe

azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Příklad

azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'

Příklad (koncový bod Data Lake Storage)

azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'

Podrobné referenční dokumenty najdete v tématu azcopy make.

Odeslání souboru

Nahrajte soubor pomocí příkazu azcopy copy .

Tip

Tento příklad uzavře argumenty cesty do jednoduchých uvozovek ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Syntaxe

azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'

Příklad

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'

Soubor můžete nahrát také pomocí zástupné znaky (*) kdekoli v cestě k souboru nebo názvu souboru. Příklad: 'C:\myDirectory\*.txt'nebo C:\my*\*.txt.

Nahrání adresáře

Nahrajte adresář pomocí příkazu azcopy copy .

Tento příklad zkopíruje adresář (a všechny soubory v tomto adresáři) do kontejneru objektů blob. Výsledkem je adresář v kontejneru se stejným názvem.

Tip

Tento příklad uzavře argumenty cesty do jednoduchých uvozovek ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Syntaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Příklad

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive

Pokud chcete zkopírovat do adresáře v rámci kontejneru, stačí zadat název tohoto adresáře v příkazovém řetězci.

Příklad

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive

Pokud zadáte název adresáře, který v kontejneru neexistuje, AzCopy vytvoří nový adresář podle tohoto názvu.

Nahrání obsahu adresáře

Pomocí příkazu azcopy copy nahrajte obsah adresáře. K nahrání obsahu bez kopírování samotného adresáře použijte zástupný znak (*).

Tip

Tento příklad uzavře argumenty cesty do jednoduchých uvozovek ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Syntaxe

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'

Příklad

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'

--recursive Připojte příznak pro nahrání souborů ve všech podadresářích.

Nahrání konkrétních souborů

Konkrétní soubory můžete nahrát pomocí úplných názvů souborů, částečných názvů se zástupnými znaky (*) nebo pomocí kalendářních dat a časů.

Tip

Tyto příklady ohraničují argumenty cesty jednoduchými uvozovkami ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Zadání několika úplných názvů souborů

Použijte příkaz azcopy copy s --include-path možností. Jednotlivé názvy souborů oddělte středníkem (;).

Syntaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>

Příklad

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

V tomto příkladu C:\myDirectory\photos AzCopy přenese adresář a C:\myDirectory\documents\myFile.txt soubor. --recursive Zahrňte možnost přenosu všech souborů v adresářiC:\myDirectory\photos.

Soubory můžete také vyloučit pomocí této --exclude-path možnosti. Další informace najdete v referenční dokumentaci k azcopy copy .

Použití zástupných znaků

Použijte příkaz azcopy copy s --include-pattern možností. Zadejte částečné názvy, které obsahují zástupné znaky. Názvy oddělte středníkem (;).

Syntaxe

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>

Příklad

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Soubory můžete také vyloučit pomocí této --exclude-pattern možnosti. Další informace najdete v referenční dokumentaci k azcopy copy .

--exclude-pattern Možnosti --include-pattern se vztahují pouze na názvy souborů, nikoli na cestu. Pokud chcete zkopírovat všechny textové soubory, které existují ve stromu adresáře, použijte -recursive možnost získat celý adresářový strom a pak pomocí -include-pattern a zadat *.txt získat všechny textové soubory.

Nahrání souborů, které byly změněny před datem a časem nebo po nich

Použijte příkaz azcopy copy s možností --include-before nebo --include-after příkazem. Zadejte datum a čas ve formátu ISO-8601 (například: 2020-08-19T15:04:00Z).

Následující příklady nahrají soubory, které byly změněny k zadanému datu nebo po tomto datu.

Syntaxe

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>

Příklad

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory'  --include-after '2020-08-19T15:04:00Z'

Příklad (koncový bod Data Lake Storage)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory'   --include-after '2020-08-19T15:04:00Z'

Podrobné referenční informace najdete v referenční dokumentaci k azcopy copy .

Nahrání se značkami indexu

Do cílového objektu blob můžete nahrát soubor a přidat značky indexu objektů blob.

Pokud používáte autorizaci Microsoft Entra, musí být instančnímu objektu zabezpečení přiřazena role Vlastník dat objektů blob úložiště nebo musí být udělena oprávnění k Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeoperaci poskytovatele prostředků Azure prostřednictvím vlastní role Azure. Pokud používáte token sdíleného přístupového podpisu (SAS), musí tento token poskytnout přístup ke značkům objektu t blob prostřednictvím oprávnění SAS.

Pokud chcete přidat značky, použijte --blob-tags možnost spolu s párem klíč-hodnota zakódovanou adresou URL. Pokud například chcete přidat klíč my tag a hodnotu my tag value, přidejte --blob-tags='my%20tag=my%20tag%20value' ho do cílového parametru.

Více indexových značek oddělte pomocí ampersandu (&). Pokud například chcete přidat klíč my second tag a hodnotu my second tag value, bude --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'úplný řetězec možnosti .

Následující příklady ukazují, jak tuto možnost použít --blob-tags .

Tip

Tento příklad uzavře argumenty cesty do jednoduchých uvozovek ('' ). Použití jednoduchých uvozovek ve všech příkazových prostředích s výjimkou prostředí Windows Command Shell (cmd.exe). Pokud používáte prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty s dvojitými uvozovkami ("") místo jednoduchých uvozovek ('' ).

Odeslání souboru

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'

Nahrání adresáře

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'

Nahrání obsahu adresáře

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'

Poznámka:

Pokud zadáte adresář pro zdroj, všechny objekty blob, které se zkopírují do cíle, budou mít stejné značky, které zadáte v příkazu.

Nahrání s volitelnými příznaky

Operaci nahrávání můžete upravit pomocí volitelných příznaků. Tady je několik příkladů.

Scénář Příznak
Nahrání souborů jako doplňovacích objektů blob nebo objektů blob stránky: --blob-type=[BlockBlob|PageBlob|AppendBlob]
Nahrání do konkrétní úrovně přístupu (například do archivní úrovně): --block-blob-tier=[None|Horké |Studená|Archiv]

Úplný seznam najdete v možnostech.

Další kroky

Další příklady najdete v těchto článcích:

Informace o konfiguraci nastavení, optimalizaci výkonu a řešení potíží najdete v těchto článcích: