Télécharger des objets blob à partir du Stockage Blob Azure en utilisant AzCopy
Vous pouvez télécharger des blobs et des répertoires à partir du stockage Blob à l’aide de l’utilitaire en ligne de commande AzCopy v10.
Pour obtenir des exemples d’autres types de tâches, telles que le chargement de fichiers, la synchronisation avec le stockage Blob ou la copie de blobs entre des comptes, consultez les liens présentés dans la section Étapes suivantes de cet article.
Bien démarrer
Consultez l’article Prise en main d’AzCopy pour télécharger AzCopy, et découvrez comment vous pouvez fournir des informations d’identification au service de stockage.
Remarque
Les exemples de cet article partent du principe que vous avez fourni des informations d’identification d’autorisation en utilisant Microsoft Entra ID.
Si vous préférez utiliser un jeton SAS pour autoriser l’accès aux données d’objets blob, vous pouvez ajouter ce jeton à l’URL de ressource dans chaque commande AzCopy. Par exemple : 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
Télécharger un objet blob
Téléchargez un blob à l’aide de la commande azcopy copy.
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Exemple (point de terminaison Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Remarque
Si la valeur de propriété Content-md5
d’un objet blob contient un code de hachage, AzCopy calcule un code de hachage MD5 pour les données téléchargées et vérifie que le code de hachage MD5 stocké dans la propriété Content-md5
de l’objet blob correspond au code de hachage calculé. Si ces valeurs ne correspondent pas, le téléchargement échoue, sauf si vous remplacez ce comportement en ajoutant --check-md5=NoCheck
ou --check-md5=LogOnly
à la commande de copie.
Télécharger un annuaire
Téléchargez un répertoire à l’aide de la commande azcopy copy.
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Exemple (point de terminaison Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Cet exemple illustre la création d’un répertoire nommé C:\myDirectory\myBlobDirectory
qui contient tous les blobs téléchargés.
Télécharger le contenu d’un répertoire
Vous pouvez télécharger le contenu d’un répertoire sans copier le répertoire proprement dit en utilisant le caractère générique (*).
Conseil
Cet exemple englobe les arguments de chemin d’accès avec des guillemets simples (' '). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Notes
Actuellement, ce scénario est pris en charge uniquement pour les comptes qui ne disposent pas d’un espace de noms hiérarchique.
Syntaxe
azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'
Ajoutez l’indicateur --recursive
pour télécharger des fichiers dans tous les sous-répertoires.
Télécharger des blobs spécifiques
Vous pouvez télécharger des blobs spécifiques en utilisant des noms de fichiers complets, des noms partiels avec des caractères génériques (*), ou des dates et des heures.
Conseil
Ces exemples englobent les arguments de chemin avec des guillemets simples (''). Utilisez des guillemets simples dans tous les interpréteurs de commandes, à l’exception de l’interface de commande Windows (cmd. exe). Si vous utilisez une interface de commande Windows (cmd. exe), placez les arguments de chemin d’accès entre guillemets doubles (" ") au lieu de guillemets simples (' ').
Spécifier plusieurs noms de blob complets
Utilisez la commande azcopy copy avec l’option --include-path
. Séparez les noms de blobs individuels en utilisant un point-virgule (;
).
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive
Exemple (point de terminaison Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt'--recursive
Dans cet exemple, AzCopy transfère le répertoire https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
et le fichier https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt
. Incluez l’option --recursive
pour transférer tous les blobs dans le répertoire https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
.
Vous pouvez également exclure des blobs à l’aide de l’option --exclude-path
. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Utiliser des caractères génériques
Utilisez la commande azcopy copy avec l’option --include-pattern
. Spécifiez des noms partiels qui incluent les caractères génériques. Séparez les noms à l’aide d’un point-virgule (;
).
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Exemple (espace de noms hiérarchique)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Vous pouvez également exclure des blobs à l’aide de l’option --exclude-pattern
. Pour plus d’informations, consultez la documentation de référence sur azcopy copy.
Les options --include-pattern
et --exclude-pattern
s’appliquent uniquement aux noms de blob, et non au chemin. Si vous souhaitez copier tous les fichiers texte (objets blob) qui existent dans une arborescence de répertoires, utilisez l’option -recursive
pour obtenir la totalité de l’arborescence de répertoires, puis utilisez -include-pattern
et spécifiez *.txt
pour obtenir tous les fichiers texte.
Télécharger les blobs qui ont été modifiés avant ou après une date et une heure
Utilisez la commande azcopy copy avec l’option --include-before
ou --include-after
. Spécifiez une date et une heure au format ISO 8601 (par exemple : 2020-08-19T15:04:00Z
).
Les exemples suivants téléchargent les fichiers qui ont été modifiés à la date spécifiée ou après celle-ci.
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Exemple (point de terminaison Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Pour obtenir des informations de référence détaillées, consultez les documents de référence azcopy copy.
Télécharger les versions précédentes d’un objet blob
Si vous avez activé le contrôle de version, vous pouvez télécharger une ou plusieurs versions précédentes d’un objet blob.
Tout d’abord, créez un fichier texte qui contient une liste d’ID de version. Chaque ID de version doit figurer sur une ligne distincte. Par exemple :
2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z
Utilisez ensuite la commande azcopy copy avec l’option --list-of-versions
. Spécifiez l’emplacement du fichier texte qui contient la liste des versions (par exemple : D:\\list-of-versions.txt
).
Télécharger un instantané d’objet blob
Vous pouvez télécharger un instantané de blob en référençant la valeur DateTime d’un instantané de blob.
Syntaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'
Exemple
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Exemple (point de terminaison Data Lake Storage)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Remarque
Si vous utilisez un jeton SAS pour autoriser l’accès aux données blob, ajoutez le DateTime de l’instantané après le jeton SAS. Par exemple : 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'
.
Télécharger avec des indicateurs facultatifs
Vous pouvez ajuster votre opération de téléchargement à l’aide d’indicateurs facultatifs. Voici quelques exemples.
Scénario | Indicateur |
---|---|
Décompresser automatiquement les fichiers | DECOMPRESS |
Spécifier le niveau de détail des entrées de journal liées à la copie | --log-level=[WARNING|ERROR|INFO|NONE] |
Spécifier s’il faut remplacer les fichiers et objets blob en conflit dans la destination, et comment le faire | --overwrite=[true|false|ifSourceNewer|prompt] |
Pour obtenir la liste complète, consultez Options.
Télécharger le contenu du site web statique
AzCopy ne prend pas en charge le téléchargement de données à partir de sites web statiques hébergés dans stockage Azure via le point de terminaison public, tel que https://mystorageaccount.z12.web.core.windows.net
. Utilisez plutôt le conteneur $web
sur le point de terminaison d’objet blob pour télécharger des fichiers à partir de votre site web statique.
azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive
Étapes suivantes
Vous trouverez plus d’exemples dans ces articles :
- Exemples : Charger
- Exemples : Copie entre comptes
- Exemples : Synchroniser
- Exemples : Compartiments Amazon S3
- Exemples : Google Cloud Storage
- Exemples : Azure Files
- Tutoriel : Migrer des données locales vers un stockage cloud à l’aide d’AzCopy
Consultez les articles suivants pour configurer les paramètres, optimiser les performances et résoudre les problèmes :