Tutoriel : Migrer des données locales vers le stockage cloud avec AzCopy

AzCopy est un outil en ligne de commande qui vous permet de copier des données vers ou depuis le Stockage Blob Azure, Azure Files ou le Stockage Table Azure, à l’aide de commandes simples. Les commandes sont conçues pour offrir des performances optimales. Grâce à AzCopy, vous pouvez copier des données entre un système de fichiers et un compte de stockage, ou entre comptes de stockage. AzCopy peut être utilisé pour copier des données à partir de données locales vers un compte de stockage.

Dans ce tutoriel, vous allez apprendre à :

  • Créez un compte de stockage.
  • Utilisez AzCopy pour charger toutes vos données.
  • Modifiez les données pour les besoins du test.
  • Créez une tâche planifiée ou un travail Cron pour identifier les nouveaux fichiers à charger.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prérequis

Pour suivre ce tutoriel, téléchargez la dernière version d’AzCopy. Consultez Bien démarrer avec AzCopy.

Si vous êtes sur Windows, vous aurez besoin de Schtasks car ce tutoriel l’utilise afin de planifier une tâche. Les utilisateurs Linux utiliseront la commande crontab à la place.

Pour créer un compte de stockage à usage général v2 dans le portail Azure, procédez comme suit :

  1. Sous Services Azure, sélectionnez Comptes de stockage.
  2. Dans la page Comptes de stockage, choisissez + Créer.
  3. Dans le panneau Informations de base, sélectionnez l’abonnement dans lequel créer le compte de stockage.
  4. Sous le champ Groupe de ressources , sélectionnez le groupe de ressources désiré ou créez-en un. Pour plus d’informations sur les groupes de ressources Azure, consultez l’article Vue d’ensemble d’Azure Resource Manager.
  5. Ensuite, entrez un nom pour votre compte de stockage. Le nom choisi doit être unique dans tout Azure. Le nom doit aussi contenir entre 3 et 24 caractères, et uniquement des lettres minuscules et des chiffres.
  6. Sélectionnez la région de votre compte de stockage, ou utilisez la région par défaut.
  7. Sélectionnez un niveau de performances. Le niveau par défaut est Standard.
  8. Spécifiez la méthode de réplication du compte de stockage. L’option de redondance par défaut est le stockage géoredondant (GRS) . Pour plus d’informations sur les options de réplication disponibles, consultez Redondance de Stockage Azure.
  9. Des options supplémentaires sont disponibles sous les onglets Avancé, Réseau, Protection des données et Étiquettes. Pour utiliser Azure Data Lake Storage, choisissez le panneau Avancé, puis affectez la valeur Activé à Espace de noms hiérarchiques. Pour plus d’informations, consultez Introduction à Azure Data Lake Storage Gen2.
  10. Cliquez sur Vérifier + créer pour passer en revue vos paramètres de compte de stockage et créer le compte.
  11. Sélectionnez Create (Créer).

L’illustration suivante montre les paramètres du panneau Informations de base d’un nouveau compte de stockage :

Screenshot showing how to create a storage account in the Azure portal.

Créez un conteneur.

La première étape consiste à créer un conteneur, étant donné que les objets Blob doivent toujours être chargés dans un conteneur. Les conteneurs sont utilisés en tant que méthode d’organisation des groupes d’objets Blob, comme vous le feriez dans des dossiers pour les fichiers sur votre ordinateur.

Pour créer un conteneur, effectuez les étapes suivantes :

  1. Sélectionnez le bouton Comptes de stockage dans la page principale, puis sélectionnez le compte de stockage que vous avez créé.

  2. Sélectionnez Objets blob sous Services, puis sélectionnez Conteneur.

    Screenshot showing container creation

Les noms de conteneur doivent commencer par une lettre ou un chiffre. Ils peuvent contenir uniquement des lettres, des chiffres et des traits d’union (-). Pour prendre connaissance des autres règles de nommage des objets blob et des conteneurs, consultez Nommage et référencement des conteneurs, objets blob et métadonnées.

Télécharger AzCopy

Téléchargez le fichier exécutable AzCopy V10.

Placez le fichier AzCopy sur votre ordinateur à l’emplacement de votre choix. Ajoutez l’emplacement du fichier à votre variable de chemin système pour pouvoir faire référence à ce fichier exécutable depuis n’importe quel dossier sur votre ordinateur.

S’authentifier avec Microsoft Entra ID

Tout d’abord, attribuez le rôle Contributeur aux données Blob du stockage à votre identité. Consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob.

Ensuite, ouvrez une invite de commandes, tapez la commande suivante, puis appuyez sur la touche Entrée.

azcopy login

Cette commande retourne un code d’authentification et l’URL d’un site web. Ouvrez le site web, indiquez le code, puis choisissez le bouton Suivant.

Screenshot showing the login prompt

Une fenêtre de connexion s’affiche. Dans cette fenêtre, connectez-vous à votre compte Azure à l’aide de vos informations d’identification de compte Azure. Une fois connecté, vous pouvez fermer la fenêtre du navigateur et commencer à utiliser AzCopy.

Charger les contenus d’un dossier dans le Stockage Blob

Vous pouvez utiliser AzCopy pour charger tous les fichiers d’un dossier dans le Stockage Blob sur Windows ou Linux. Pour charger tous les objets blob d’un dossier, entrez la commande AzCopy suivante :

azcopy copy "<local-folder-path>" "https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>" --recursive=true
  • Remplacez l’espace réservé <local-folder-path> par le chemin d’un dossier qui contient des fichiers (par exemple : C:\myFolder ou /mnt/myFolder).

  • Remplacez la valeur d’espace réservé <storage-account-name> par le nom de votre compte de stockage.

  • Remplacez l’espace réservé <container-name> par le nom du conteneur que vous avez créé.

Pour charger le contenu du répertoire spécifié dans le stockage Blob de manière récursive, spécifiez l’option --recursive. Quand vous exécutez AzCopy avec cette option, tous les sous-dossiers et leurs fichiers sont également chargés.

Charger les fichiers modifiés dans le Stockage Blob

Vous pouvez utiliser AzCopy pour charger des fichiers en fonction de l’heure de leur dernière modification.

Pour les besoins du test, modifiez des fichiers existants ou créez-en d’autres dans votre répertoire source. Ensuite, utilisez la commande AzCopy sync.

azcopy sync "<local-folder-path>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive=true
  • Remplacez l’espace réservé <local-folder-path> par le chemin d’un dossier qui contient des fichiers (par exemple : C:\myFolder ou /mnt/myFolder).

  • Remplacez la valeur d’espace réservé <storage-account-name> par le nom de votre compte de stockage.

  • Remplacez l’espace réservé <container-name> par le nom du conteneur que vous avez créé.

Pour en savoir plus sur la commande sync, consultez Synchroniser des fichiers.

Créer une tâche planifiée

Vous pouvez créer une tâche planifiée ou un travail Cron qui exécute un script de commande AzCopy. Le script identifie et charge les nouvelles données locales dans le stockage cloud selon un intervalle de temps spécifique.

Copiez la commande AzCopy dans un éditeur de texte. Mettez à jour les valeurs de paramètre de la commande AzCopy avec les valeurs appropriées. Enregistrez le fichier sous script.sh (Linux) ou script.bat (Windows) pour AzCopy.

Ces exemples supposent que le dossier est nommé myFolder, que le nom de votre compte de stockage est mystorageaccount et celui de votre conteneur est mycontainer.

Notes

L’exemple Linux ajoute un jeton SAS. Vous devez en fournir un dans votre commande. La version actuelle d’AzCopy V10 ne prend pas en charge les autorisations Microsoft Entra dans les tâches cron.

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-05-30T06:57:40Z&st=2019-05-29T22:57:40Z&spr=https&sig=BXHippZxxx54hQn/4tBY%2BE2JHGCTRv52445rtoyqgFBUo%3D" --recursive=true

Dans ce didacticiel, Schtasks est utilisé pour créer une tâche planifiée sur Windows. La commande Crontab est utilisée pour créer un travail Cron sur Linux.

Avec Schtasks, un administrateur peut créer, supprimer, interroger, modifier, exécuter et terminer des tâches planifiées sur un ordinateur local ou distant. Avec Cron, les utilisateurs sur Linux et Unix peuvent exécuter des commandes ou des scripts à la date et à l’heure qu’ils ont spécifiées à l’aide d’expressions Cron.

Pour créer un travail Cron sur Linux, entrez la commande suivante sur un terminal :

crontab -e
*/5 * * * * sh /path/to/script.sh

La spécification de l’expression Cron */5 * * * * dans la commande indique que le script d’interpréteur de commandes script.sh doit s’exécuter toutes les cinq minutes. Vous pouvez planifier le script pour qu’il s’exécute à une heure précise tous les jours, tous les mois ou tous les ans. Pour en savoir plus sur la définition de la date et l’heure d’exécution d’un travail, consultez la page sur les expressions Cron.

Pour vérifier que la tâche planifiée ou le travail Cron s’exécute correctement, créez des fichiers de test dans votre répertoire myFolder. Attendez cinq minutes pour laisser le temps aux nouveaux fichiers de se charger dans votre compte de stockage. Accédez à votre répertoire des journaux d’activité pour afficher les journaux d’activité de sortie de la tâche planifiée ou du travail Cron.

Étapes suivantes

Pour en savoir plus sur les façons de déplacer des données locales vers le Stockage Azure, et inversement, suivez ce lien :

Pour plus d’informations sur AzCopy, consultez les articles suivants :