Sdílet prostřednictvím


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

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

Příklady pro jiné typy úloh, jako je nahrávání souborů, 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>'.

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 jste povolili 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žíváte 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

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: