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:
- Příklady: Nahrání
- Příklady: Kopírování mezi účtem
- Příklady: Synchronizovat
- Příklady: Kontejnery Amazon S3
- Příklady: Google Cloud Storage
- Příklady: Soubory Azure
- Kurz: Migrace místních dat do cloudového úložiště pomocí AzCopy
Informace o konfiguraci nastavení, optimalizaci výkonu a řešení potíží najdete v těchto článcích: