Kopírování objektů blob mezi účty úložiště Azure pomocí AzCopy
Objekty blob, adresáře a kontejnery mezi účty úložiště můžete kopírovat pomocí nástroje příkazového řádku AzCopy v10.
Příklady pro jiné typy úloh, jako je nahrávání souborů, stahování objektů blob a synchronizace se službou Blob Storage, najdete v odkazech uvedených v části Další kroky tohoto článku.
AzCopy používá rozhraní API typu server-server, takže se data kopírují přímo mezi servery úložiště.
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 jste pomocí ID Microsoft Entra zadali přihlašovací údaje pro autorizaci a že identita Microsoft Entra má správná přiřazení rolí pro zdrojové i cílové účty.
Případně můžete ke zdrojové nebo cílové adrese URL připojit token SAS v každém příkazu AzCopy. Například: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'
.
Pokyny
Pro příkazy AzCopy použijte následující pokyny.
Pokud používáte autorizaci Microsoft Entra pro zdroj i cíl, musí oba účty patřit do stejného tenanta Microsoft Entra.
Váš klient musí mít síťový přístup ke zdrojovému i cílovému účtu úložiště. Informace o konfiguraci nastavení sítě pro každý účet úložiště najdete v tématu Konfigurace bran firewall a virtuálních sítí služby Azure Storage.
Pokud zkopírujete do účtu úložiště objektů blob bloku Úrovně Premium, vyhnete se z operace kopírování úroveň přístupu objektu blob nastavením
s2s-preserve-access-tier
nafalse
(například:--s2s-preserve-access-tier=false
). Účty úložiště objektů blob bloku úrovně Premium nepodporují úrovně přístupu.Propustnost operací kopírování můžete zvýšit nastavením hodnoty
AZCOPY_CONCURRENCY_VALUE
proměnné prostředí. Další informace najdete v tématu Zvýšení souběžnosti.Pokud zdrojové objekty blob mají značky indexu a chcete tyto značky zachovat, budete je muset znovu použít pro cílové objekty blob. Informace o tom, jak nastavit značky indexu, najdete v části Kopírování objektů blob do jiného účtu úložiště s oddílem Značky indexu tohoto článku.
Kopírování objektu blob
Zkopírujte objekt blob do jiného účtu úložiště 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Příklad
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Příklad (koncové body Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Operace kopírování je synchronní, takže když příkaz vrátí výsledek, znamená to, že se zkopírovaly všechny soubory.
Kopírování adresáře
Pomocí příkazu azcopy copy zkopírujte adresář do jiného účtu úložiště.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Příklad
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Příklad (koncové body Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Operace kopírování je synchronní. Při návratu příkazu byly zkopírovány všechny soubory.
Kopírování kontejneru
Pomocí příkazu azcopy copy zkopírujte kontejner do jiného účtu úložiště.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Příklad
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Příklad (koncové body Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Operace kopírování je synchronní. Při návratu příkazu byly zkopírovány všechny soubory.
Kopírování kontejnerů, adresářů a objektů blob
Pomocí příkazu azcopy copy zkopírujte všechny kontejnery, adresáře a objekty blob do jiného účtu úložiště.
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://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Příklad
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Příklad (koncové body Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
Operace kopírování je synchronní, takže když příkaz vrátí výsledek, znamená to, že se zkopírovaly všechny soubory.
Kopírování objektů blob a přidání značek indexu
Zkopírujte objekty blob do jiného účtu úložiště a přidejte do cílového objektu blob 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/write
operaci 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
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 ('' ).
Příklad objektu blob
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Příklad adresáře
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Příklad kontejneru
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Příklad účtu
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Operace kopírování je synchronní. Při návratu příkazu byly zkopírovány všechny soubory.
Poznámka:
Pokud pro zdroj zadáte adresář, kontejner nebo účet, budou mít všechny objekty blob zkopírované do cíle stejné značky, které zadáte v příkazu.
Kopírování s volitelnými příznaky
Operaci kopírování můžete upravit pomocí volitelných příznaků. Tady je několik příkladů.
Scénář | Příznak |
---|---|
Zkopírujte objekty blob jako objekty blob bloku, stránky nebo doplňovací objekty blob. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Zkopírujte na konkrétní úroveň přístupu (například archivní úroveň). | --block-blob-tier=[None|Horké |Studená|Archiv] |
Automaticky dekomprimovat soubory. | --dekomprim=[gzip|deflate] |
Úplný seznam najdete v možnostech.
Další kroky
Další příklady najdete v těchto článcích:
- Příklady: Nahrání
- Příklady: Stažení
- 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: