Sdílet prostřednictvím


Kopírování objektů blob mezi účty úložiště Azure pomocí AzCopy

Pomocí nástroje příkazového řádku AzCopy v10 můžete kopírovat objekty blob, adresáře a kontejnery mezi účty úložiště.

Příklady jiných typů úloh, jako je nahrávání souborů, stahování objektů blob a synchronizace s úložištěm objektů blob, najdete v odkazech 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 zadáte autorizační přihlašovací údaje pomocí Microsoft Entra ID a že identita Microsoft Entra má správná přiřazení rolí pro zdrojové i cílové účty.

Případně můžete token SAS připojit ke zdrojové nebo cílové adrese URL 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.

    Informace o podporovaných síťových topologiích při kopírování mezi účty najdete v tématu Kopírování objektů blob mezi účty úložiště s omezením přístupu.

  • 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 na false (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, musíte je 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 .

Návod

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í. Když se příkaz vrátí, znamená to, že se zkopírují všechny soubory.

Kopírování adresáře

Pomocí příkazu azcopy copy zkopírujte adresář do jiného účtu úložiště.

Návod

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í. Když se příkaz vrátí, zkopírují se všechny soubory.

Kopírování kontejneru

Pomocí příkazu azcopy copy zkopírujte kontejner do jiného účtu úložiště.

Návod

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í. Když se příkaz vrátí, zkopírují se 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ě.

Návod

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í. Když se příkaz vrátí, znamená to, že se zkopírují 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, přiřaďte svému bezpečnostnímu objektu roli Vlastník dat objektu blob služby Storage nebo mu udělte oprávnění k Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeoperaci 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 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, přidejte --blob-tags='my%20tag=my%20tag%20value' do cílového parametru.

Oddělte více indexových značek pomocí ampersandu (&). Například pokud chcete přidat klíč my second tag a hodnotu my second tag value, úplný řetězec možností by byl --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 .

Návod

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í. Když se příkaz vrátí, zkopírují se všechny soubory.

Poznámka:

Pokud pro zdroj zadáte adresář, kontejner nebo účet, budou mít všechny objekty blob, které zkopírujete 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. --typ-blobu=[BlokovýBlob|StránkovýBlob|PřírůstkovýBlob]
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.

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
BlobBlob Kopírování mezi dvěma umístěními Azure Blob Storage
BlobBlobFS Kopírování ze služby Azure Blob Storage do Azure Data Lake Gen2 (BlobFS)
BlobFSBlob Kopírování z Azure Data Lake Gen2 (BlobFS) do Azure Blob Storage
BlobFSBlobFS Kopírování mezi dvěma umístěními Azure Data Lake Gen2 (BlobFS)
BlobFSFile Kopírování z Azure Data Lake Gen2 (BlobFS) do Azure File Storage
BlobFile Kopírování ze služby Azure Blob Storage do Azure File Storage
FileBlob Kopírování ze služby Azure File Storage do služby Azure Blob Storage
FileBlobFS Kopírování ze služby Azure File Storage do Azure Data Lake Gen2 (BlobFS)

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: