Transférer des données avec AzCopy v7 sur Linux

AzCopy est un utilitaire de ligne de commande conçu pour copier des données à destination/en provenance d’un Stockage Blob et d’un Stockage Fichier Microsoft Azure en utilisant des commandes simples destinées à optimiser les performances. Vous pouvez copier des données entre un système de fichiers et un compte de stockage, ou entre comptes de stockage.

Important

Cet article décrit une ancienne version d’AzCopy. Pour installer la version la plus récente d’AzCopy, voir AzCopy v10.

Notes

À partir de la version 7.2 d’AzCopy, les dépendances .NET Core sont fournies avec le package AzCopy. Si vous utilisez la version 7.2 ou une version ultérieure, vous n’avez plus besoin d’installer .NET Core au préalable.

Téléchargement et installation d’AzCopy

Installation sur Linux

Notes

Vous pouvez avoir besoin d’installer les dépendances .NET Core 2.1 répertoriées dans cet article relatif aux prérequis pour .NET Core en fonction de votre distribution.

Pour les distributions de RHEL 7, installez les dépendances libunwind et ICU : yum install -y libunwind icu

L’installation d’AzCopy sur Linux (v7.2 ou ultérieure) consiste tout simplement à extraire un package tar et à exécuter le script d’installation.

Distributions basées sur RHEL 6 : lien de téléchargement

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinuxrhel6
tar -xf azcopy.tar.gz
sudo ./install.sh

Toutes les autres distributions Linux : lien de téléchargement

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz
sudo ./install.sh

Vous pouvez supprimer les fichiers extraits une fois qu’AzCopy sur Linux est installé. Si vous ne disposez pas de privilèges de superutilisateur, vous pouvez également exécuter azcopy à l’aide du script d’interpréteur de commandes azcopy dans le dossier extrait.

Installation alternative sur Ubuntu

Ubuntu 14.04

Ajoutez une source apt pour le référentiel de produit Microsoft Linux et installez AzCopy :

sudo echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod/ trusty main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Ubuntu 16.04

Ajoutez une source apt pour le référentiel de produit Microsoft Linux et installez AzCopy :

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Écriture de votre première commande AzCopy

La syntaxe de base d’une commande AzCopy est :

azcopy --source <source> --destination <destination> [Options]

Les exemples suivants montrent différents scénarios permettant de copier des données vers et à partir de fichiers et blobs Microsoft Azure. Reportez-vous au menu azcopy --help pour obtenir une explication détaillée des paramètres utilisés dans chaque exemple.

Blob : Téléchargement

Télécharger un seul objet blob

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key> 

Si le dossier /mnt/myfiles n’existe pas, AzCopy le crée et télécharge abc.txt dans le nouveau dossier.

Télécharger un objet blob unique depuis la région secondaire

azcopy \
    --source https://myaccount-secondary.blob.core.windows.net/mynewcontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Notez que vous devez avoir un accès en lecture activé pour le stockage géo-redondant.

Télécharger tous les objets blob

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Si les objets blob suivants se trouvent dans le conteneur spécifié :

abc.txt
abc1.txt
abc2.txt
vd1/a.txt
vd1/abcd.txt

Après l’opération de téléchargement, le répertoire /mnt/myfiles inclut les fichiers suivants :

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/vd1/a.txt
/mnt/myfiles/vd1/abcd.txt

Si vous ne spécifiez pas l’option --recursive, aucun blob ne sera téléchargé.

Téléchargement d’objets blob avec le préfixe spécifié

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --include "a" \
    --recursive

Si les objets blob suivants se trouvent dans le conteneur spécifié, Tous les blobs commençant par le préfixe a sont téléchargés.

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

Après l’opération de téléchargement, le dossier /mnt/myfiles inclut les fichiers suivants :

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt

Le préfixe s’applique au répertoire virtuel, qui forme la première partie du nom de l’objet blob. Dans l’exemple ci-dessus, le répertoire virtuel ne correspond pas au préfixe spécifié ; le blob n’est donc pas téléchargé. En outre, si l’option --recursive n’est pas spécifiée, AzCopy ne télécharge pas les blobs.

Définition de l’heure de la dernière modification des fichiers exportés pour qu’elle soit identique à celle des objets blob source

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination "/mnt/myfiles" \
    --source-key <key> \
    --preserve-last-modified-time

Vous pouvez également exclure des objets blob de l’opération de téléchargement en vous basant sur l’heure de leur dernière modification Par exemple, si vous souhaitez exclure les objets blob dont la dernière heure de modification est identique ou plus récente que celle du fichier de destination --exclude-newer :

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-newer

Ou si vous souhaitez exclure les objets blob dont la dernière heure de modification est identique ou plus ancienne que celle du fichier de destination --exclude-older :

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-older

Objet blob : Téléchargement

Télécharger un fichier unique

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --dest-key <key>

Si le conteneur de destination spécifié n’existe pas, AzCopy le crée et y charge le fichier.

Télécharger un fichier unique dans le répertoire virtuel

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/vd/abc.txt \
    --dest-key <key>

Si le répertoire virtuel spécifié n’existe pas, AzCopy télécharge le fichier pour inclure le répertoire vd/abc.txt virtuel dans le nom blob (par exemple, dans l’exemple ci-dessus).

Rediriger depuis stdin

gzip myarchive.tar -c | azcopy \
    --destination https://myaccount.blob.core.windows.net/mycontainer/mydir/myarchive.tar.gz \
    --dest-key <key>

Télécharger tous les fichiers

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --recursive

La spécification de l’option --recursive engendre le chargement des contenus du répertoire spécifié vers le stockage Blob récursivement, ce qui implique également la copie de tous les sous-dossiers et de leurs fichiers. Par exemple, si les fichiers suivants se trouvent dans le dossier /mnt/myfiles:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Après l’opération de chargement, le conteneur inclut les fichiers suivants :

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Lorsque l’option --recursive n’est pas spécifiée, seuls les trois fichiers suivants sont chargés :

abc.txt
abc1.txt
abc2.txt

Télécharger des fichiers correspondant au modèle spécifié

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --include "a*" \
    --recursive

Si les fichiers suivants se trouvent dans le dossier /mnt/myfiles:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/xyz.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Après l’opération de chargement, le conteneur inclut les fichiers suivants :

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Lorsque l’option --recursive n’est pas spécifiée, AzCopy ignore les fichiers qui se trouvent dans les sous-répertoires :

abc.txt
abc1.txt
abc2.txt

Spécifier le type de contenu MIME d’un objet blob de destination

Par défaut, AzCopy définit le type de contenu d'un objet blob de destination comme application/octet-stream. Toutefois, vous pouvez spécifier explicitement le type de contenu via l’option --set-content-type [content-type]. Cette syntaxe définit le type de contenu de tous les objets blob dans une opération de téléchargement.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type "video/mp4"

Si l’option --set-content-type est spécifiée sans valeur, AzCopy définit chaque type de contenu de blob ou de fichier en fonction de son extension de fichier.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type

Personnalisation du mappage de type de contenu MIME

AzCopy utilise un fichier de configuration qui contient un mappage d’extension de fichier à un type de contenu. Vous pouvez personnaliser ce mappage et ajouter de nouvelles paires selon vos besoins. Le mappage se trouve dans /usr/lib/azcopy/AzCopyConfig.json

Objet blob : copie

Copie d’un objet blob unique au sein d’un compte de stockage

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key> \
    --dest-key <key>

Lorsque vous copiez un blob sans l’option --sync-copy, une opération de copie côté serveur est exécutée.

Copier un objet blob unique sur plusieurs comptes de stockage

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

Lorsque vous copiez un blob sans l’option --sync-copy, une opération de copie côté serveur est exécutée.

Copier un objet blob unique de la région secondaire à la région principale

azcopy \
    --source https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1/abc.txt \
    --destination https://myaccount2.blob.core.windows.net/mynewcontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

Notez que vous devez avoir un accès en lecture activé pour le stockage géo-redondant.

Copier un objet blob unique et ses captures instantanées sur plusieurs comptes de stockage

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/ \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "abc.txt" \
    --include-snapshot

Après l’opération de copie, le conteneur cible inclut le blob et ses captures instantanées. Le conteneur inclut le blob suivant et ses captures instantanées :

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

Copier des objets blob de façon synchrone dans des comptes de stockage

AzCopy copie par défaut les données entre deux points de terminaison de stockage de façon asynchrone. Par conséquent, l’opération de copie s’exécute en arrière-plan à l’aide de la capacité de bande passante de secours qui n’a aucun SLA pour la rapidité de copie de blob.

L’option --sync-copy garantit que l’opération de copie a une vitesse constante. AzCopy effectue la copie synchrone en téléchargeant les objets blob à copier à partir de la source spécifiée dans la mémoire locale, puis en les téléchargeant sur la destination de stockage d’objets blob.

azcopy \
    --source https://myaccount1.blob.core.windows.net/myContainer/ \
    --destination https://myaccount2.blob.core.windows.net/myContainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "ab" \
    --sync-copy

--sync-copy peut générer des coûts de sortie supplémentaires par rapport à la copie asynchrone. L’approche recommandée consiste à utiliser cette option dans une machine virtuelle Azure qui se trouve dans la même région que votre compte de stockage source afin d’éviter les frais de sortie.

Fichier : Téléchargement

Télécharger un fichier unique

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/myfolder1/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Si la source spécifiée est un partage de fichier Azure, vous devez soit spécifier le nom de fichier exact, (par exemple, abc.txt) pour télécharger un fichier unique, soit spécifier l’option --recursive pour télécharger tous les fichiers dans le partage de manière récursive. Une erreur se produit si vous tentez de spécifier à la fois un modèle de fichier et l’option --recursive.

Charger tous les fichiers

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/ \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Notez que les dossiers vides ne sont pas téléchargés.

Fichier : Télécharger

Télécharger un fichier unique

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.file.core.windows.net/myfileshare/abc.txt \
    --dest-key <key>

Télécharger tous les fichiers

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --recursive

Notez que les dossiers vides ne sont pas chargés.

Télécharger des fichiers correspondant au modèle spécifié

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --include "ab*" \
    --recursive

Fichier : Copier

Copier d’un partage de fichier à l’autre

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Lorsque vous copiez un fichier sur plusieurs partage de fichiers, une opération de copie côté serveur est exécutée.

Copier d’un partage de fichiers vers un objet blob

azcopy \ 
    --source https://myaccount1.file.core.windows.net/myfileshare/ \
    --destination https://myaccount2.blob.core.windows.net/mycontainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Lorsque vous copiez un fichier d’un partage de fichiers vers un objet blob, une opération de copie côté serveur est exécutée.

Copier d’un objet blob vers le partage de fichiers

azcopy \
    --source https://myaccount1.blob.core.windows.net/mycontainer/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Lorsque vous copiez un fichier d’un objet blob vers un partage de fichiers, une opération de copie côté serveur est exécutée.

Copier les fichiers de façon synchrone

Vous pouvez spécifier l’option --sync-copy pour copier des données d’un stockage Fichier à un autre stockage Fichier, d’un stockage Fichier à un stockage Blob et d’un stockage Blob à un stockage Fichier de façon synchrone. AzCopy exécute cette opération en téléchargeant les données sources dans la mémoire locale, puis en les chargeant dans la destination. Dans ce cas, des coûts de sortie standard s’appliquent.

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive \
    --sync-copy

Pendant la copie depuis le stockage de fichier vers le stockage d'objets Blob, le type d'objet Blob par défaut est l'objet Blob de blocs. L'utilisateur peut spécifier l'option --blob-type page pour modifier le type d'objet Blob de destination. Les types disponibles sont page | block | append.

Notez que --sync-copy peut générer des coûts de sortie supplémentaires par rapport à la copie asynchrone. L’approche recommandée consiste à utiliser cette option dans une machine virtuelle Azure qui se trouve dans la même région que votre compte de stockage source afin d’éviter les frais de sortie.

Autres fonctionnalités AzCopy

Copier uniquement les données qui n’existent pas dans la destination

Les paramètres --exclude-older et --exclude-newer vous permettent d’exclure les ressources source plus anciennes ou plus récentes d’être copiées respectivement. Si vous souhaitez copier uniquement des ressources de code source qui n’existent pas dans la destination, vous pouvez spécifier les deux paramètres dans la commande AzCopy :

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --exclude-older --exclude-newer

--source /mnt/myfiles --destination http://myaccount.file.core.windows.net/myfileshare --dest-key <destkey> --recursive --exclude-older --exclude-newer

--source http://myaccount.blob.core.windows.net/mycontainer --destination http://myaccount.blob.core.windows.net/mycontainer1 --source-key <sourcekey> --dest-key <destkey> --recursive --exclude-older --exclude-newer

Utilisation d’un fichier config pour spécifier les paramètres en ligne de commande

azcopy --config-file "azcopy-config.ini"

Vous pouvez inclure n’importe quels paramètres en ligne de commande AzCopy dans un fichier config. AzCopy traite les paramètres du fichier comme s’ils avaient été spécifiés sur la ligne de commande, réalisant une substitution directe avec les contenus du fichier.

Imaginez un fichier config nommé copyoperation, qui contient les lignes suivantes. Chaque paramètre AzCopy peut être spécifié sur une seule ligne.

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --quiet

ou sur des lignes distinctes :

--source http://myaccount.blob.core.windows.net/mycontainer
--destination /mnt/myfiles
--source-key<sourcekey>
--recursive
--quiet

AzCopy échoue si vous écrivez le paramètre sur deux lignes, comme démontré ici pour le paramètre --source-key :

http://myaccount.blob.core.windows.net/mycontainer
/mnt/myfiles
--sourcekey
<sourcekey>
--recursive
--quiet

Spécification d’une signature d’accès partagé (SAP)

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-sas <SAS1> \
    --dest-sas <SAS2>

Vous pouvez également spécifier une SAP sur l’URI du conteneur :

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken \
    --destination /mnt/myfiles \
    --recursive

Dossier du fichier journal

Chaque fois que vous émettez une commande sur AzCopy, il vérifie si un fichier journal existe dans le dossier par défaut ou dans un dossier que vous avez spécifié via cette option. Si le fichier journal n’existe à aucun de ces emplacements, AzCopy considère l’opération comme nouvelle et génère un nouveau fichier journal.

Si le fichier journal existe, AzCopy vérifie si la ligne de commande que vous entrez correspond à la ligne de commande du fichier journal. Si les deux lignes de commande correspondent, AzCopy reprend l’opération incomplète. Si elles ne correspondent pas, AzCopy invite l’utilisateur à remplacer le fichier journal pour démarrer une nouvelle opération ou à annuler l’opération actuelle.

Si vous souhaitez utiliser l’emplacement par défaut pour le fichier journal :

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --resume

Si vous omettez l'option --resume, ou spécifiez l'option --resume sans le chemin du dossier, comme démontré ci-dessus, AzCopy crée le fichier journal à l'emplacement par défaut, qui est ~\Microsoft\Azure\AzCopy. Si le fichier journal existe déjà, AzCopy reprend l’opération en se basant sur le fichier journal.

Si vous souhaitez spécifier un emplacement personnalisé pour le fichier journal :

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key key \
    --resume "/mnt/myjournal"

Cet exemple crée le fichier journal s’il n’existe pas déjà. S’il existe, AzCopy reprend l’opération en se basant sur le fichier journal.

Si vous souhaitez reprendre une opération AzCopy, répétez la même commande. AzCopy sur Linux vous invitera à confirmer l’opération :

Incomplete operation with same command line detected at the journal directory "/home/myaccount/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No)

Journaux d’activité détaillés de sortie

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --verbose

Spécification du nombre d’opérations simultanées pour démarrer

L'option --parallel-level spécifie le nombre d'opérations de copie simultanées. Par défaut, AzCopy lance un certain nombre d’opérations simultanées pour augmenter la vitesse de transfert des données. Le nombre d’opérations simultanées est égal au nombre de processeurs dont vous disposez, multiplié par huit. Si vous exécutez AzCopy sur un réseau à faible bande passante, vous pouvez spécifier un nombre inférieur pour --parallel-level afin d’éviter l’échec causé par l’utilisation simultanée des ressources.

Conseil

Pour afficher la liste complète des paramètres AzCopy, consultez le menu « azcopy --help ».

Procédure d’installation d’AzCopy 7.1 et des versions antérieures

AzCopy sur Linux (v7.1 et versions antérieures) requiert l’infrastructure .NET Core. Les instructions d’installation sont fournies sur la page d’installation de .NET Core.

Par exemple, commencez par installer .NET Core sur Ubuntu 16.10. Pour consulter le guide d’installation le plus récent, rendez-vous sur la page d’installation .NET Core sur Linux.

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0

Une fois que vous avez installé .NET Core, téléchargez et installez AzCopy.

wget -O azcopy.tar.gz https://aka.ms/downloadazcopyprlinux
tar -xf azcopy.tar.gz
sudo ./install.sh

Vous pouvez supprimer les fichiers extraits une fois qu’AzCopy sur Linux est installé. Si vous ne disposez pas de privilèges de superutilisateur, vous pouvez également exécuter azcopy à l’aide du script d’interpréteur de commandes azcopy dans le dossier extrait.

Problèmes connus et meilleures pratiques

Erreur lors de l’installation d’AzCopy

Si vous rencontrez des problèmes avec l’installation d’AzCopy, vous pouvez essayer d’exécuter AzCopy à l’aide du script bash dans le dossier azcopy extrait.

cd azcopy
./azcopy

Limitation des écritures simultanées lors de la copie des données

Lorsque vous copiez des objets blob ou des fichiers avec AzCopy, gardez en tête qu’une autre application peut être en train de modifier les données pendant que vous les copiez. Si possible, assurez-vous que les données que vous copiez ne sont pas modifiées pendant l’opération de copie. Par exemple, lorsque vous copiez un disque dur virtuel (VHD) associé à une machine virtuelle Azure, assurez-vous qu’aucune autre application n’est en train d’écrire sur le disque VHD. Un bon moyen pour ce faire consiste à louer la ressource à copier. Sinon, vous pouvez commencer par créer une capture instantanée du disque VHD et copier ensuite la capture instantanée.

Si vous ne pouvez pas empêcher d’autres applications d’écrire sur les objets blob ou les fichiers pendant qu’ils sont copiés, gardez en tête qu’au moment où la tâche sera terminée, les ressources copiées n’auront peut-être plus une parité complète avec les ressources source.

Exécution de plusieurs processus AzCopy

Vous pouvez exécuter plusieurs processus AzCopy sur un même client à condition d’utiliser des dossiers de journaux distincts. L’utilisation d’un seul dossier de journaux pour plusieurs processus AzCopy n’est pas prise en charge.

1er processus :

azcopy \
    --source /mnt/myfiles1 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles1 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal1"

2nd processus :

azcopy \
    --source /mnt/myfiles2 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles2 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal2"

Étapes suivantes

Pour plus d’informations sur le stockage Azure et AzCopy, consultez les ressources suivantes :

Documentation d’Azure Storage :

Billets de blog Azure Storage :