Sdílet prostřednictvím


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:

Příklady v tomto článku předpokládají, že zadáte autorizační přihlašovací údaje pomocí ID Microsoft Entra.

Pokud chcete k autorizaci přístupu k datům objektů blob použít token SAS, připojte tento token 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 použijte příkaz azcopy make .

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žijete prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty do dvojitých uvozovek ("") 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

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žijete prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty do dvojitých uvozovek ("") 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

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žijete prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty do dvojitých uvozovek ("") 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ář s tímto názvem.

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

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žijete prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty do dvojitých uvozovek ("") 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 do dvojitých uvozovek ("") 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 .

--include-pattern Možnosti --exclude-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, přiřaďte vašemu objektu zabezpečení roli Vlastník dat objektu blob služby Storage, nebo udělte oprávnění k Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeoperaci poskytovatele prostředků Azure prostřednictvím přizpůsobené role Azure. Pokud používáte token sdíleného přístupového podpisu (SAS), musí token poskytnout přístup ke značkům objektu blob prostřednictvím t oprávnění SAS.

Pokud chcete přidat značky, použijte volbu --blob-tags s dvojicí klíč-hodnota zakódovanou jako URL. Pokud například chcete přidat klíč my tag a hodnotu my tag value, zahrňte --blob-tags='my%20tag=my%20tag%20value' do cílového parametru.

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

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

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žijete prostředí Windows Command Shell (cmd.exe), uzavřete argumenty cesty do dvojitých uvozovek ("") 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é zkopírujete do cíle, mají 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.

Zadání zdrojových a cílových typů

AzCopy pomocí parametru --from-to explicitně definuje typy zdrojových a cílových prostředků, když může dojít k selhání automatického zjišťování – například ve scénářích propojení nebo emulátorech. Tento parametr pomáhá nástroji AzCopy porozumět kontextu přenosu a odpovídajícím způsobem optimalizovat.

Hodnota FromTo Description
LocalBlob Nahrání z místního systému souborů do služby Azure Blob Storage
LocalBlobFS Nahrání z místního systému souborů do Azure Data Lake Gen2 (BlobFS)
PipeBlob Streamování dat z kanálu do služby Azure Blob Storage
PipeFile Streamování dat z kanálu do Azure File Storage

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: