Synchronizace se službou Azure Blob Storage s využitím nástroje AzCopy

Místní úložiště můžete synchronizovat se službou Azure Blob Storage pomocí nástroje příkazového řádku AzCopy v10.

Obsah místního systému souborů můžete synchronizovat s kontejnerem objektů blob. Mezi sebou můžete také synchronizovat kontejnery a virtuální adresáře. Synchronizace je jedním ze způsobů. Jinými slovy, zvolíte, který z těchto dvou koncových bodů je zdrojem a který z nich je cílem. Synchronizace také používá server na serverová rozhraní API. Příklady uvedené v této části také pracují s účty, které mají hierarchický obor názvů.

Poznámka:

Aktuální verze AzCopy se nesynchronizuje mezi jinými zdroji a cíli (například úložiště souborů nebo kontejnery AWS (Amazon Web Services) S3).

Příklady pro jiné typy úloh, jako je nahrávání souborů, stahování objektů blob 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. Příklad: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Pokyny

Ve výchozím nastavení synchronizační příkaz porovnává názvy souborů a časová razítka poslední změny. Toto chování můžete přepsat tak, aby místo časového razítka poslední změny používalo hodnoty hash MD5.--compare-hash --delete-destination Pokud tyto soubory ve zdrojovém adresáři již neexistují, nastavte volitelný příznak na hodnotu true nebo prompt odstraňte soubory v cílovém adresáři.

  • Pokud nastavíte --delete-destination příznak na true, AzCopy odstraní soubory bez zadání výzvy. Pokud chcete, aby se zobrazila výzva před odstraněním souboru nástrojem AzCopy, nastavte --delete-destination příznak na prompt.

  • Pokud plánujete nastavit --delete-destination příznak na nebo false, zvažte použití příkazu copy místo příkazu sync a nastavte --overwrite parametr na ifSourceNewerprompt . Příkaz pro kopírování spotřebovává méně paměti a účtuje méně nákladů na fakturaci, protože operace kopírování nemusí před přesunem souborů indexovat zdroj ani cíl.

  • Pokud nechcete příznak používat --compare-hash , měl by mít počítač, na kterém spouštíte příkaz synchronizace, přesný systémový čas, protože časy poslední změny jsou důležité při určování, jestli se má soubor přenést. Pokud má váš systém značnou nerovnoměrnou distribuci hodin, vyhněte se úpravám souborů v cíli příliš blízko času, kdy plánujete spustit příkaz synchronizace.

  • AzCopy používá rozhraní API mezi servery k synchronizaci dat mezi účty úložiště. To znamená, že data se kopírují přímo mezi servery úložiště. AzCopy ale nastavuje a monitoruje každý přenos a pro větší účty úložiště (například účty, které obsahují miliony objektů blob), AzCopy může k provedení těchto úloh vyžadovat značné množství výpočetních prostředků. Proto pokud používáte AzCopy z virtuálního počítače, ujistěte se, že má virtuální počítač dostatek jader a paměti pro zpracování zatížení.

Aktualizace kontejneru pomocí změn v místním systému souborů

V tomto případě je cílem kontejner a zdrojem je místní systém souborů.

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 sync '<local-directory-path>' 'https://<storage-account-name>.blob.core.windows.net/<container-name>' --recursive

Příklad

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

Aktualizace místního systému souborů s použitím změn kontejneru

V tomto případě je místní systém souborů cílem a kontejner je zdrojem.

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 sync 'https://<storage-account-name>.blob.core.windows.net/<container-name>' 'C:\myDirectory' --recursive

Příklad

azcopy sync 'https://mystorageaccount.blob.core.windows.net/mycontainer' 'C:\myDirectory' --recursive

Aktualizace kontejneru pomocí změn v jiném kontejneru

Prvním kontejnerem, který se zobrazí v tomto příkazu, je zdroj. Druhým je cíl.

Pokud zadáte přihlašovací údaje pro autorizaci pomocí ID Microsoft Entra, ujistěte se, že jste ve zdrojovém a cílovém účtu nastavili správné role. Viz možnost 1: Použijte ID Microsoft Entra.

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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>' --recursive

Příklad

azcopy sync 'https://mysourceaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive

Aktualizace adresáře se změnami adresáře v jiném kontejneru

Prvním adresářem, který se zobrazí v tomto příkazu, je zdroj. Druhým je cíl.

Pokud zadáte přihlašovací údaje pro autorizaci pomocí ID Microsoft Entra, ujistěte se, že jste ve zdrojovém a cílovém účtu nastavili správné role. Viz možnost 1: Použijte ID Microsoft Entra.

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 sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive

Příklad

azcopy sync 'https://mysourceaccount.blob.core.windows.net/<container-name>/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myDirectory' --recursive

Synchronizace s volitelnými příznaky

Operaci synchronizace můžete upravit pomocí volitelných příznaků. Tady je několik příkladů.

Scénář Příznak
Určete, jak se mají při stahování ověřit výhradně hodnoty hash MD5. --check-md5=[NoCheck|LogOnly|FailIfDifferent|FailIfDifferentOrMissing]
Vylučte soubory na základě vzoru. --exclude-path
Zadejte, jak podrobně chcete mít položky protokolu související se synchronizací. --log-level=[UPOZORNĚNÍ|CHYBA|INFORMACE|NONE]

Úplný seznam příznaků najdete v možnostech.

Poznámka:

Příznak --recursive je ve výchozím nastavení nastavený true . Příznaky --exclude-pattern se --include-pattern vztahují pouze na názvy souborů a ne na jiné části cesty k souboru.

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: