Partager via


Charger des fichiers sur Stockage Blob Azure avec AzCopy

Vous pouvez charger des fichiers et des répertoires vers le stockage d’objets 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 téléchargement d’objets blob, la synchronisation avec le stockage d’objets blob ou la copie d’objets blob 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 supposent que vous fournissez des informations d’identification d’autorisation à l’aide de l’ID Microsoft Entra.

Si vous souhaitez utiliser un jeton SAP pour autoriser l’accès aux données d’objet blob, ajoutez ce jeton à l’URL de la ressource dans chaque commande AzCopy. Par exemple : 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Créez un conteneur.

Utilisez la commande azcopy make pour créer un conteneur.

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 un interpréteur de commandes Windows (cmd.exe), placez les arguments de chemin d’accès avec des guillemets doubles (« ») au lieu de guillemets simples (').

Syntaxe

azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Exemple

azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'

Exemple (point de terminaison Data Lake Storage)

azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'

Pour obtenir des informations de référence détaillées, consultez azcopy make.

Charger un fichier

Chargez un fichier à l’aide de la commande azcopy copy.

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 un interpréteur de commandes Windows (cmd.exe), placez les arguments de chemin d’accès avec des guillemets doubles (« ») au lieu de guillemets simples (').

Syntaxe

azcopy copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'

Exemple

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'

Vous pouvez également charger un fichier en plaçant un caractère générique (*) n’importe où dans le chemin ou le nom de fichier. Par exemple : 'C:\myDirectory\*.txt' ou C:\my*\*.txt.

Charger un annuaire

Chargez un répertoire à l’aide de la commande azcopy copy.

Cet exemple copie un répertoire (et tous les fichiers qu’il contient) dans un conteneur d’objets blob. Le résultat est un répertoire dans le conteneur portant le même nom.

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 un interpréteur de commandes Windows (cmd.exe), placez les arguments de chemin d’accès avec des guillemets doubles (« ») au lieu de guillemets simples (').

Syntaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Exemple

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

Exemple (point de terminaison Data Lake Storage)

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

Pour copier des éléments dans un répertoire du conteneur, spécifiez simplement le nom de ce répertoire dans votre chaîne de commande.

Exemple

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

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive

Si vous spécifiez le nom d’un répertoire qui n’existe pas dans le conteneur, AzCopy crée un répertoire portant ce nom.

Charger le contenu d’un répertoire

Chargez le contenu d’un répertoire à l’aide de la commande azcopy copy. Utilisez le caractère générique (*) pour charger le contenu sans copier le répertoire contenant lui-même.

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 un interpréteur de commandes Windows (cmd.exe), placez les arguments de chemin d’accès avec des guillemets doubles (« ») au lieu de guillemets simples (').

Syntaxe

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'

Exemple

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'

Ajoutez l’indicateur --recursive pour charger des fichiers dans tous les sous-répertoires.

Charger des fichiers spécifiques

Vous pouvez charger des fichiers 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 fichiers complets

Utilisez la commande azcopy copy avec l’option --include-path. Séparez les noms de fichiers à l’aide d’un point-virgule (;).

Syntaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>

Exemple

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

Dans cet exemple, AzCopy transfère le répertoire C:\myDirectory\photos et le fichier C:\myDirectory\documents\myFile.txt. Incluez l’option --recursive pour transférer tous les fichiers dans le répertoire C:\myDirectory\photos.

Vous pouvez également exclure des fichiers à 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Exemple

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Vous pouvez également exclure des fichiers à 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 fichiers, et non au chemin. Si vous souhaitez copier tous les fichiers texte 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.

Charger les fichiers 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 chargent les fichiers qui ont été modifiés à la date spécifiée ou après celle-ci.

Syntaxe

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>

Exemple

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory'  --include-after '2020-08-19T15:04:00Z'

Exemple (point de terminaison Data Lake Storage)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory'   --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.

Charger avec des balises d’index

Vous pouvez charger un fichier et ajouter des balises d’index d’objet blob à l’objet blob cible.

Si vous utilisez l’autorisation Microsoft Entra, attribuez le rôle Propriétaire des données blob de stockage à votre principal de sécurité ou accordez-lui l’autorisation à l’opération du Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writefournisseur de ressources Azure via un rôle Azure personnalisé. Si vous utilisez un jeton SAS (Signature d'Accès Partagé), le jeton doit fournir l'accès aux balises du blob via l'autorisation t SAS.

Pour ajouter des balises, utilisez l’option --blob-tags avec une paire clé-valeur encodée d’URL. Par exemple, pour ajouter la clé my tag et la valeur my tag value, incluez --blob-tags='my%20tag=my%20tag%20value' dans le paramètre de destination.

Séparez plusieurs balises d’index avec un ampersand (&). Par exemple, pour ajouter la clé my second tag et la valeur my second tag value, la chaîne d’option complète est --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'.

Les exemples suivants montrent comment utiliser l’option --blob-tags.

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 un interpréteur de commandes Windows (cmd.exe), placez les arguments de chemin d’accès avec des guillemets doubles (« ») au lieu de guillemets simples (').

Charger un fichier

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Charger un annuaire

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Charger le contenu d’un répertoire

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Remarque

Si vous spécifiez un répertoire pour la source, tous les objets blob que vous copiez vers la destination ont les mêmes balises que celles que vous spécifiez dans la commande.

Charger avec des indicateurs facultatifs

Vous pouvez ajuster votre opération de chargement à l’aide d’indicateurs facultatifs. Voici quelques exemples.

Scénario Indicateur
Charger des fichiers sous forme d’objets blob d’ajout ou de pages --blob-type=[BlockBlob|PageBlob|AppendBlob]
Effectuer un chargement sur un niveau d’accès spécifique (tel que le niveau Archive) --block-blob-tier=[None|Hot|Cool|Archive]

Pour obtenir la liste complète, consultez Options.

Spécifier les types source et de destination

AzCopy utilise le --from-to paramètre pour définir explicitement les types de ressources source et de destination lorsque la détection automatique peut échouer, par exemple dans les scénarios de piping ou les émulateurs. Ce paramètre permet à AzCopy de comprendre le contexte du transfert et de l’optimiser en conséquence.

Valeur FromTo Descriptif
LocalBlob Charger à partir du système de fichiers local vers Stockage Blob Azure
LocalBlobFS Charger à partir du système de fichiers local vers Azure Data Lake Gen2 (BlobFS)
PipeBlob Diffuser en continu des données d’un canal vers Stockage Blob Azure
PipeFile Diffuser des données d’un canal vers Stockage Fichier Azure

Étapes suivantes

Vous trouverez plus d’exemples dans ces articles :

Consultez les articles suivants pour configurer les paramètres, optimiser les performances et résoudre les problèmes :