Tous les produits
Search
Centre de documentation

Object Storage Service:cp (Télécharger des objets)

Dernière mise à jour :Sep 25, 2026

Utilisez la commande cp pour télécharger des ressources telles que des fichiers, des images et des vidéos depuis Object Storage Service (OSS) vers votre ordinateur local. Cette commande permet de télécharger plusieurs objets, de limiter la vitesse de téléchargement ou de récupérer des versions spécifiques d'objets depuis un bucket avec versioning activé.

Remarques sur l'utilisation

  • À partir de la version 1.6.16 d'ossutil, utilisez ossutil comme nom binaire dans la ligne de commande, quel que soit votre système d'exploitation. Pour les versions antérieures à la 1.6.16, adaptez le nom binaire à votre système d'exploitation. Pour plus d'informations, consultez la page Référence des commandes ossutil.

Autorisations

Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations sur ses ressources. Un utilisateur RAM ou un rôle RAM ne possède aucune autorisation par défaut. Vous devez accorder des autorisations à un utilisateur RAM ou à un rôle RAM via une politique RAM ou une politique de bucket.

Action API

Description

oss:GetObject

Requis pour télécharger un objet.

oss:GetObjectVersion

Facultatif. Requis pour télécharger une version spécifique d'un objet source à l'aide de l'option --version-id.

kms:GenerateDataKey

Facultatif. Requis si l'objet téléchargé est chiffré côté serveur à l'aide de KMS.

kms:Decrypt

oss:ListObjects

Facultatif. Requis pour les téléchargements par lot (opérations récursives).

Syntaxe

ossutil cp cloud_url file_url [options]

Paramètre

Description

cloud_url

Le chemin source de l'objet OSS. Le format est oss://bucket[/prefix]. Par exemple, oss://examplebucket/examplefile.txt.

file_url

Le chemin de destination du fichier local. Si la destination est un répertoire, le chemin doit se terminer par un séparateur (/ ou \). Par exemple, un chemin Linux est /localfolder/examplefile.txt et un chemin Windows est D:\localfolder\examplefile.txt.

-r, --recursive

Applique l'opération de manière récursive à tous les objets correspondants sous le préfixe spécifié. Sinon, l'opération s'applique uniquement à l'objet unique spécifié.

-f --force

Force l'exécution de l'opération sans demander de confirmation.

-u,--update

Effectue le téléchargement uniquement si le fichier de destination n'existe pas ou si la date de dernière modification de l'objet source est plus récente que celle du fichier de destination.

--maxdownspeed

La vitesse de téléchargement maximale en Ko/s. La valeur par défaut est 0, ce qui signifie qu'il n'y a aucune limite de vitesse.

--disable-ignore-error

Désactive l'ignorance des erreurs lors des opérations par lot.

--only-current-dir

Télécharge uniquement les objets du répertoire actuel et ignore les sous-répertoires ainsi que les objets qu'ils contiennent.

--bigfile-threshold

Le seuil de taille en octets pour un téléchargement avec reprise.

Valeur par défaut : 100 Mo

Plage de valeurs : 0 à 9223372036854775807

--part-size

La taille de la partie en octets. Par défaut, ossutil calcule automatiquement une taille de partie appropriée en fonction de la taille de l'objet.

Plage de valeurs : 1 à 9223372036854775807

--checkpoint-dir

Le répertoire dans lequel ossutil stocke les informations de point de contrôle pour un téléchargement avec reprise. Si un téléchargement avec reprise échoue, ossutil crée un répertoire .ossutil_checkpoint pour enregistrer les informations de point de contrôle. ossutil supprime ce répertoire une fois le téléchargement réussi. Assurez-vous que le répertoire spécifié peut être supprimé.

--range

Télécharge une plage d'octets spécifiée de l'objet et l'enregistre sous forme de nouveau fichier. La numérotation des octets commence à zéro.

  • Spécifier une plage

    Par exemple, 3-9 télécharge les octets du 3e au 9e octet inclus.

  • Spécifier une position de départ

    Par exemple, 3- télécharge du 3e octet jusqu'à la fin de l'objet inclus.

  • Spécifier une position de fin

    Par exemple, -9 télécharge du 0e octet au 9e octet inclus.

--encoding-type

Le type d'encodage du nom de l'objet. Définissez cette option sur url. Si cette option n'est pas spécifiée, le nom de l'objet n'est pas encodé.

--include

Inclut tous les objets qui correspondent au modèle spécifié.

Pour plus d'informations, consultez les options include et exclude.

--exclude

Exclut tous les objets qui correspondent au modèle spécifié.

Pour plus d'informations, consultez les options include et exclude.

--meta

Définit les métadonnées de l'objet. Le format est header:value#header:value. Exemple : Cache-Control:no-cache#Content-Encoding:gzip. Pour plus d'informations sur les métadonnées, consultez la page set-meta (Gérer les métadonnées des objets).

--acl

La liste de contrôle d'accès (ACL) de l'objet. Valeurs possibles :

  • default (par défaut) : L'objet hérite de l'ACL du bucket.

  • private : Seul le propriétaire du bucket dispose des autorisations de lecture et d'écriture. Les autres utilisateurs ne peuvent pas accéder aux objets du bucket.

  • public-read : Seul le propriétaire du bucket dispose des autorisations d'écriture. Tous les autres utilisateurs, y compris les utilisateurs anonymes, disposent d'autorisations en lecture seule sur les objets du bucket. Cela peut entraîner des fuites de données et une augmentation des frais. Utilisez cette ACL avec prudence.

  • public-read-write : Toute personne, y compris les utilisateurs anonymes, peut lire et écrire des objets dans le bucket. Cela peut entraîner des fuites de données, une augmentation des frais et d'éventuelles responsabilités légales si du contenu malveillant est téléchargé. Sauf cas d'utilisation spécifiques, ne configurez pas d'autorisations de lecture-écriture publiques.

--snapshot-path

Le répertoire dans lequel les informations de snapshot sont enregistrées pendant le téléchargement. Lors du prochain téléchargement, ossutil lit les informations de snapshot depuis ce répertoire pour effectuer un téléchargement incrémentiel.

--disable-crc64

Désactive la vérification de redondance cyclique 64 bits (CRC-64). Par défaut, ossutil active CRC-64 pour tous les transferts de données.

--payer

La méthode de paiement pour la requête. Pour que le demandeur paie le trafic et les requêtes générés par l'accès au chemin spécifié, définissez cette option sur requester.

--partition-download

Spécifie une partition de l'objet à télécharger. La valeur est au format Numéro de partition:Total des partitions. Par exemple, 1:5 indique que cette commande ossutil télécharge la partition 1 sur un total de 5 partitions. La numérotation des partitions commence à 1. L'algorithme interne de l'outil détermine la manière dont ossutil partitionne l'objet. Cette option vous permet de diviser un objet en plusieurs partitions et de les télécharger en parallèle à l'aide de plusieurs commandes ossutil. Chaque commande télécharge sa partition assignée.

-j,--job

Le nombre de tâches simultanées pour les opérations multi-objets. Valeur par défaut : 3. Plage de valeurs : 1 à 10 000.

--parallel

Le nombre de tâches simultanées pour les opérations sur un seul objet. Plage de valeurs : 1 à 10 000. Si cette option n'est pas définie, ossutil détermine la valeur en fonction du type d'opération et de la taille de l'objet.

--version-id

Télécharge une version spécifique d'un objet. Utilisez l'option --version-id uniquement avec un bucket dont le versioning est activé. Pour activer le versioning d'un bucket, consultez la page bucket-versioning (Versioning).

--start-time

Un horodatage UNIX. Si vous spécifiez cette option, les objets dont la date de dernière modification est antérieure à cet horodatage sont ignorés.

Remarque

Seules les versions 1.7.18 et ultérieures d'ossutil prennent en charge ce paramètre. Pour plus d'informations sur la mise à niveau, consultez la page update (Mettre à jour ossutil).

--end-time

Un horodatage UNIX. Si vous spécifiez cette option, les objets dont la date de dernière modification est postérieure à cet horodatage sont ignorés.

Remarque
  • Si vous spécifiez à la fois start-time et end-time, la commande de copie s'exécute uniquement pour les fichiers dont la dernière modification se situe entre les heures de début et de fin spécifiées.

  • Seules les versions 1.7.18 et ultérieures d'ossutil prennent en charge ce paramètre. Pour plus d'informations sur la mise à niveau de la version, consultez la page update (Mettre à jour ossutil).

Pour plus d'informations sur les autres options courantes de cette commande, consultez la page Options courantes.

Si le niveau de concurrence par défaut ne répond pas à vos besoins en matière de performances, ajustez les options -j, --jobs et --parallel pour optimiser les performances. Par défaut, ossutil calcule le nombre de processus parallèles en fonction de la taille de l'objet. Lorsque vous transférez de grands objets par lots, la concurrence réelle correspond au nombre de jobs multiplié par le nombre de processus parallèles.

  • Si l'instance ECS ou le serveur qui exécute la commande dispose de ressources limitées, telles que le réseau, la mémoire ou le CPU, nous vous recommandons de définir la concurrence sur une valeur inférieure à 100. Si ces ressources ne sont pas entièrement utilisées, vous pouvez augmenter la concurrence.

  • Une concurrence trop élevée peut dégrader les performances ou provoquer des erreurs EOF en raison de la surcharge liée au changement de contexte des threads et à la compétition pour les ressources. Ajustez les options -j, --jobs et --parallel en fonction des ressources de votre machine. Lors des tests de charge, commencez par de faibles valeurs de concurrence et augmentez-les progressivement pour trouver le paramètre optimal.

Exemples

Les exemples suivants concernent un système Linux. Adaptez les paramètres à votre système d'exploitation et à votre environnement. Les exemples supposent les éléments suivants :

  • Nom du bucket : examplebucket

  • Répertoire OSS : destfolder/

  • Répertoire local : localfolder/

  • Fichier local : examplefile.txt

Télécharger un seul objet

  • Téléchargez un objet dans un répertoire spécifié en conservant son nom d'origine :

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/
  • Téléchargez un objet dans un répertoire spécifié et renommez-le en example.txt :

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/example.txt

Téléchargement par lot

  • Utilisez l'option -r pour télécharger le répertoire destfolder, y compris tous ses sous-répertoires et objets.

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/
  • Utilisez l'option --only-current-dir pour télécharger uniquement les objets du répertoire actuel et ignorer tous les sous-répertoires.

    ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -r
  • Utilisez l'option -u pour télécharger uniquement les objets qui n'existent pas localement ou qui ont été mis à jour dans OSS. Cette option ignore le téléchargement d'un objet si un fichier local portant le même nom et ayant la même date de dernière modification existe déjà.

    ossutil cp -r -u oss://examplebucket/destfolder/ localfolder/

Télécharger des objets conditionnels

  • Téléchargez tous les objets qui ne sont pas au format JPG depuis le répertoire destfolder :

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg"
  • Téléchargez les objets du répertoire destfolder dont les noms contiennent abc mais qui ne sont ni au format JPG ni au format TXT :

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt"

Limiter la vitesse de téléchargement

Utilisez l'option --maxdownspeed pour limiter la vitesse de téléchargement à 1 Mo/s (1 024 Ko/s).

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --maxdownspeed 1024

Téléchargement par plage

Utilisez l'option --range pour télécharger les octets 10 à 20 de examplefile.txt sur votre ordinateur local.

ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ --range 10-20

Télécharger des objets dans une plage de temps spécifiée

Utilisez les options --start-time et --end-time pour télécharger uniquement les objets du répertoire destfolder dont la dernière modification a eu lieu entre le 31 octobre 2023 à 10:09:18 (UTC+8) et le 31 octobre 2023 à 12:55:58 (UTC+8).

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158

Télécharger une version spécifique d'un objet

Commencez par utiliser la commande ls --all-versions pour obtenir tous les ID de version de l'objet. Ensuite, utilisez l'option --version-id pour télécharger une version spécifique.

Remarque

L'option --version-id ne peut être utilisée que pour les objets d'un bucket dont le versioning est activé. Pour activer le versioning d'un bucket, consultez la page bucket-versioning (Versioning).

ossutil cp oss://examplebucket/test.jpg localfolder/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk

Télécharger des objets et générer des informations de snapshot

Utilisez l'option --snapshot-path pour générer des informations de snapshot pour les objets téléchargés dans un répertoire spécifié. Lorsque vous exécutez une commande de téléchargement ultérieure avec cette option, ossutil lit les informations de snapshot depuis le répertoire pour effectuer un téléchargement incrémentiel. Pour plus d'informations, consultez la page Télécharger des objets et générer des snapshots.

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158

Téléchargement inter-comptes ou inter-régions

Utilisez les options courantes -e, -i et -k pour télécharger un objet depuis un bucket appartenant à un autre compte et situé dans la région Chine (Shanghai).

Remarque

Spécifiez l'Endpoint correspondant à la région où se trouve le bucket. Pour plus d'informations, consultez la page Régions et Endpoints.

ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret