L’automatisation est omniprésente de nos jours dans le domaine de l’informatique. De la provision de machines virtuelles au déploiement de sites web, l’automatisation est essentielle surtout lorsque vous devez gérer plusieurs éléments. Même la gestion de fichiers entre le stockage Azure et votre machine locale peut être automatisée en utilisant un programme utilitaire appelé AzCopy.
AzCopy est un utilitaire autonome qui permet la gestion du stockage Azure. Avec AzCopy, plusieurs opérations peuvent être effectuées. Dans cet article, nous allons nous concentrer sur :
- Création de conteneurs de stockage
- Copie de fichiers locaux vers des conteneurs
- Copie de fichiers entre des conteneurs
Commençons !
Si vous préférez apprendre via vidéo, vous pouvez également consulter une vidéo de TechSnips étroitement liée à ce que vous allez apprendre dans cet article.
Prérequis
Cet article sera un guide pas à pas démontrant diverses tâches. Si vous souhaitez suivre, assurez-vous d’avoir rempli la liste des exigences ci-dessous avant de commencer.
- Un abonnement Azure. Si vous ne l’avez pas encore, vous pouvez demander un abonnement d’essai.
- Un compte de stockage Azure. Veuillez vous référer à Créer un compte de stockage pour en savoir plus.
- AzCopy téléchargé et authentifié (consultez l’article Comment télécharger et installer l’outil AZCopy pour apprendre à configurer cela)
Création de nouveaux conteneurs de stockage
Tout d’abord, utilisons AzCopy pour créer de nouveaux conteneurs de stockage dans un compte de stockage existant. Dans l’exemple que vous utiliserez, vous créerez deux nouveaux conteneurs nommés container1 et container2.
Remarque : Avant de créer un nouveau conteneur, vous devez connaître l’URL de point de terminaison du conteneur. L’URL de point de terminaison suit le format : https://[nom_du_compte_de_stockage].blob.core.windows.net/[nom_du_conteneur].
Tout d’abord, définissez l’URL de point de terminaison. Dans cet exemple, les conteneurs seront créés dans un compte de stockage appelé storageaccount1207 en créant deux URL de point de terminaison :
- https://storageaccount1207.blob.core.windows.net/container1
- https://storageaccount1207.blob.core.windows.net/container2
Maintenant que vous connaissez les URL de point de terminaison, utilisez la commande azcopy make
en passant chaque URL de point de terminaison en tant que paramètre comme indiqué ci-dessous.

Copie de fichiers vers/depuis les conteneurs Azure
Une fois que vous avez créé un conteneur de stockage, vous vous demandez probablement « Comment puis-je télécharger vers le stockage blob Azure ? ». Vous pouvez le faire avec AzCopy en utilisant la commande azcopy copy
. Vous pouvez utiliser AzCopy pour copier des fichiers PST, des VHD et plus encore.
Utilisation de l’authentification OAuth
Lorsque vous utilisez AzCopy pour copier des fichiers vers des blobs, vous avez plusieurs options d’authentification. Étant donné qu’il est présumé que vous vous êtes déjà authentifié auprès du stockage Azure (car c’était dans les prérequis), vous pouvez simplement exécuter azcopy copy
en spécifiant un chemin de fichier local suivi d’une URL de point de terminaison de conteneur comme indiqué ci-dessous.
En ne spécifiant aucun autre paramètre, vous utilisez l’authentification OAuth.

Comment savoir si le fichier est bien copié dans le conteneur de blobs Azure ? Vous pouvez utiliser la commande azcopy list [URL du conteneur]
. Voir l’exemple ci-dessous montrant que le fichier file1.txt
existe.

Pour télécharger un fichier depuis le blob Azure vers le répertoire local, vous devez simplement échanger les positions des arguments source et destination. Voir l’exemple ci-dessous.

Utilisation d’un jeton d’accès partagé (SAS)
Pour utiliser un jeton SAS, vous devez d’abord en générer un. Si vous ne savez pas comment générer un jeton SAS, consultez l’article Comment générer un jeton SAS Azure pour accéder aux comptes de stockage.
Une fois que vous avez un jeton SAS disponible, vous pouvez ajouter le jeton à l’URL du conteneur de destination en tant que paramètre HTTP comme indiqué ci-dessous.
Si vous utilisez PowerShell et que vous avez stocké le jeton dans une variable (par exemple $token
), vous pouvez passer cette variable à la place de la chaîne de jeton complète comme dans la commande ci-dessous.

En utilisant le même jeton (en supposant qu’il soit toujours dans sa période de validité), vous pouvez également télécharger des fichiers depuis le stockage Azure vers le stockage local. L’exemple ci-dessous copie le fichier file1.txt
depuis le stockage Azure avec un jeton SAS.
Dans le code ci-dessous, vous pouvez voir que cette fois-ci, au lieu d’ajouter le jeton après le nom du conteneur, le nom du fichier est ajouté en premier. Cela indique à AzCopy de copier un fichier spécifique en utilisant l’authentification SAS.

Copier un répertoire depuis/vers le stockage Azure
Si vous avez de nombreux fichiers à transférer ou à télécharger depuis Azure, vous pouvez également copier des répertoires entiers à la fois en utilisant azcopy copy
. La commande pour le faire n’est pas très différente de celle que vous utilisez pour copier des fichiers individuels.
Vous pouvez voir ci-dessous une commande qui copie récursivement le répertoire C:\\MyDir
vers le conteneur de blob container1. Le paramètre --recursive
est la clé ici. Le drapeau --recursive
à la fin de la commande indique que tous les contenus du répertoire parent et des sous-répertoires éventuels seront copiés.
Vous pouvez voir ci-dessous que dix fichiers à l’intérieur du dossier C:\MyDir ont tous été copiés avec succès en fonction du résumé de la tâche.

Copie de fichiers entre des conteneurs de stockage Azure
Tout au long de cet article, vous avez beaucoup utilisé la commande azcopy copy
. Il n’y a pas besoin de s’arrêter maintenant ! Non seulement vous pouvez copier des répertoires et des fichiers de/vers votre site local, mais vous pouvez également copier des blobs entre des conteneurs de stockage.
Au lieu d’utiliser un chemin de fichier local, vous modifierez les paramètres pour utiliser une URL de conteneur de blob comme source et une autre URL de conteneur de blob comme destination.
Vous avez déjà créé deux conteneurs de stockage appelés container1 et container2. Dans cette section, copions des fichiers, des répertoires et même l’ensemble du conteneur de blob de container1 à container2.
Pour copier des fichiers d’un conteneur à un autre, commencez par générer un nouveau jeton SAS. Comme les deux conteneurs appartiennent au même compte de stockage, le même jeton peut être utilisé pour la source et la destination.
En supposant que vous avez enregistré la chaîne de jeton dans une variable appelée $token
(si vous exécutez azcopy avec PowerShell), vous pouvez facilement copier toutes les données d’un conteneur de stockage à l’autre comme indiqué ci-dessous.
Rappel : Consultez l’article Comment générer un jeton SAS Azure pour accéder aux comptes de stockage si vous ne savez pas comment générer un jeton SAS.

Autres opérations utiles d’AzCopy
Outre la copie de fichiers et de dossiers, vous pouvez effectuer d’autres opérations de copie avec AzCopy. Certaines d’entre elles sont :
- Copier des fichiers spécifiques (filtrés).
- Copier un répertoire dans un autre répertoire dans le conteneur de blob.
- Copier d’Amazon AWS vers le stockage Azure.
Si vous souhaitez découvrir tout ce que AzCopy peut faire, consultez le contenu d’aide en exécutant azcopy -h
. Vous trouverez de nombreuses autres commandes utiles en plus de la commande copy
sur laquelle vous vous êtes concentré uniquement dans cet article. Vous pouvez voir une capture d’écran de ces commandes ci-dessous.

Pour en savoir plus, visitez la page Copie AzCopy. Ensuite, vous pouvez les essayer par vous-même en utilisant les techniques que vous avez apprises dans cet article.
Résumé
Dans cet article, vous avez appris comment utiliser AzCopy pour transférer des fichiers entre le stockage local et Azure. Vous avez également appris comment effectuer ces tâches tout en utilisant OAuth et le jeton d’authentification de signature d’accès partagé. Vous avez vu quelles autres commandes AzCopy sont disponibles et comment les trouver.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!