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 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, 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 s dvojitými uvozovkami ("") 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 s dvojitými uvozovkami ("") 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 s dvojitými uvozovkami ("") 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 s dvojitými uvozovkami ("") 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/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 --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 s dvojitými uvozovkami ("") 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:

Informace o konfiguraci nastavení, optimalizaci výkonu a řešení potíží najdete v těchto článcích: