Sdílet prostřednictvím


Stažení objektů blob ze služby Azure Blob Storage pomocí nástroje AzCopy

Ke stažení objektů blob a adresářů z úložiště objektů blob můžete použít nástroj příkazového řádku AzCopy v10.

Příklady jiných typů úloh, jako je nahrávání souborů, synchronizace se službou Blob Storage nebo kopírování objektů blob mezi účty, najdete v odkazech 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 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>'.

Stažení objektu blob

Stáhněte objekt blob 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 do dvojitých uvozovek ("") místo jednoduchých uvozovek ('' ).

Syntaxe

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

Příklad

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

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

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

Poznámka:

Content-md5 Pokud hodnota vlastnosti objektu blob obsahuje hodnotu hash, AzCopy vypočítá hodnotu hash MD5 pro stažená data a ověří, že hodnota hash MD5 uložená ve vlastnosti objektu blob Content-md5 odpovídá vypočítané hodnotě hash. Pokud se tyto hodnoty neshodují, stahování selže, pokud toto chování nepřepíšete připojením --check-md5=NoCheck nebo --check-md5=LogOnly příkazem pro kopírování.

Stažení adresáře

Pomocí příkazu azcopy copy stáhněte adresář.

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 do dvojitých uvozovek ("") místo jednoduchých uvozovek ('' ).

Syntaxe

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

Příklad

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

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

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

Výsledkem tohoto příkladu je adresář s názvem C:\myDirectory\myBlobDirectory , který obsahuje všechny stažené objekty blob.

Stažení obsahu adresáře

S použitím zástupného znaku (*) můžete stáhnout obsah adresáře bez kopírování samotného adresáře.

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 do dvojitých uvozovek ("") místo jednoduchých uvozovek ('' ).

Poznámka:

V současné době se tento scénář podporuje jenom pro účty, které nemají hierarchický obor názvů.

Syntaxe

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

Příklad

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

--recursive Připojte příznak ke stažení souborů ve všech podadresářích.

Stažení konkrétních objektů blob

Konkrétní objekty blob si můžete stáhnout 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ů objektů blob

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

Syntaxe

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

Příklad

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

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

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

V tomto příkladu https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos AzCopy přenese adresář a https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt soubor. --recursive Zahrňte možnost přenosu všech objektů blob v adresářihttps://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos.

Pomocí této možnosti můžete také vyloučit objekty --exclude-path blob. 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 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Příklad

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

Příklad (hierarchický obor názvů)

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

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

Možnosti --include-pattern se --exclude-pattern vztahují pouze na názvy objektů blob, nikoli na cestu. Pokud chcete zkopírovat všechny textové soubory (objekty blob), 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.

Stažení objektů blob, 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 stáhnou soubory, které byly změněny k zadanému datu nebo po tomto datu.

Syntaxe

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Příklad

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

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

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

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

Stažení předchozích verzí objektu blob

Pokud povolíte správu verzí objektů blob, můžete si stáhnout jednu nebo více předchozích verzí objektu blob.

Nejprve vytvořte textový soubor, který obsahuje seznam ID verzí. Každé ID verze musí být uvedené na samostatném řádku. Příklad:

2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z

Potom použijte příkaz azcopy copy s --list-of-versions možností. Zadejte umístění textového souboru, který obsahuje seznam verzí (například: D:\\list-of-versions.txt).

Stažení snímku objektu blob

Snímek objektu blob si můžete stáhnout odkazem na hodnotu DateTime snímku objektu blob.

Syntaxe

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'

Příklad

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

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

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Poznámka:

Pokud k autorizaci přístupu k datům objektů blob použijete token SAS, připojte za token SAS snímek DateTime . Například: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

Stažení s volitelnými příznaky

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

Scénář Příznak
Automaticky dekomprimovat soubory. --dekomprimovat
Zadejte, jak podrobně chcete, aby byly položky protokolu související s kopírováním. --log-level=[UPOZORNĚNÍ|CHYBA|INFORMACE|NONE]
Určete, jestli a jak přepsat konfliktní soubory a objekty blob v cíli. --overwrite=[true|false|ifSourceNewer|prompt]

Úplný seznam najdete v možnostech.

Stažení obsahu statického webu

AzCopy nepodporuje stahování dat ze statických webů hostovaných ve službě Azure Storage prostřednictvím veřejného koncového bodu, například https://mystorageaccount.z12.web.core.windows.net. Místo toho ke stažení souborů ze statického webu použijte $web kontejner na koncovém bodu objektu blob.

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

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
BlobFSLocal Stažení z Azure Data Lake Gen2 (BlobFS) do místního systému souborů
BlobLocal Stažení ze služby Azure Blob Storage do místního systému souborů

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: