Todos los productos
Search
Centro de documentos

Object Storage Service:cp (Download objects)

Última actualización: Sep 25, 2026

Utilice el comando cp para descargar recursos como archivos, imágenes y videos desde Object Storage Service (OSS) a su computadora local. Este comando le permite descargar varios objetos, limitar la velocidad de descarga u obtener versiones específicas de los objetos almacenados en un bucket con control de versiones habilitado.

Notas de uso

  • A partir de la versión 1.6.16 de ossutil, puede usar ossutil como nombre del binario en la línea de comandos, sin importar el sistema operativo. Si utiliza una versión anterior a la 1.6.16, debe cambiar el nombre del binario para que coincida con su sistema operativo. Para más información, consulte ossutil command reference.

Permisos

De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos sobre sus recursos. Un usuario o rol de Resource Access Management (RAM) no cuenta con ningún permiso de manera predeterminada. Debe otorgar permisos a un usuario o rol de RAM mediante una RAM policy o un bucket policy.

Acción de API

Descripción

oss:GetObject

Obligatorio para descargar un objeto.

oss:GetObjectVersion

Opcional. Obligatorio para descargar una versión específica de un objeto de origen mediante la opción --version-id.

kms:GenerateDataKey

Opcional. Obligatorio si el objeto descargado se cifra en el servidor mediante KMS.

kms:Decrypt

oss:ListObjects

Opcional. Obligatorio para descargas por lotes (operaciones recursivas).

Sintaxis

ossutil cp cloud_url file_url [options]

Parámetro

Descripción

cloud_url

Ruta de origen del objeto de OSS. El formato es oss://bucket[/prefix]. Por ejemplo, oss://examplebucket/examplefile.txt.

file_url

Ruta de destino del archivo local. Si el destino es un directorio, la ruta debe terminar con un separador (/ o \). Por ejemplo, una ruta de Linux es /localfolder/examplefile.txt y una ruta de Windows es D:\localfolder\examplefile.txt.

-r, --recursive

Aplica la operación de forma recursiva a todos los objetos coincidentes bajo el prefijo especificado. De lo contrario, la operación se aplica únicamente al objeto indicado.

-f --force

Fuerza la ejecución de la operación sin solicitar confirmación.

-u,--update

Ejecuta la descarga solo si el archivo de destino no existe o si la última modificación del objeto de origen es posterior a la del archivo de destino.

--maxdownspeed

Velocidad máxima de descarga en KB/s. El valor predeterminado es 0, lo que significa que no hay límite de velocidad.

--disable-ignore-error

Deshabilita la omisión de errores durante las operaciones por lotes.

--only-current-dir

Descarga únicamente los objetos del directorio actual e ignora los subdirectorios y su contenido.

--bigfile-threshold

Umbral de tamaño en bytes para iniciar una descarga reanudable.

Valor predeterminado: 100 MB

Rango de valores: de 0 a 9223372036854775807

--part-size

Tamaño de cada parte en bytes. De forma predeterminada, ossutil calcula automáticamente un tamaño adecuado según el tamaño del objeto.

Rango de valores: de 1 a 9223372036854775807

--checkpoint-dir

Directorio donde ossutil almacena la información de puntos de control para una descarga reanudable. Si la descarga reanudable falla, ossutil crea el directorio .ossutil_checkpoint para registrar dicha información. Una vez que la descarga finaliza correctamente, ossutil elimina este directorio. Asegúrese de que el directorio especificado se pueda eliminar.

--range

Descarga un rango de bytes específico del objeto y lo guarda como un archivo nuevo. La numeración de los bytes comienza en cero.

  • Especifique un rango

    Por ejemplo, 3-9 descarga desde el byte 3 hasta el byte 9, ambos incluidos.

  • Especifique una posición inicial

    Por ejemplo, 3- descarga desde el byte 3 hasta el final del objeto, incluido.

  • Especifique una posición final

    Por ejemplo, -9 descarga desde el byte 0 hasta el byte 9, ambos incluidos.

--encoding-type

Tipo de codificación del nombre del objeto. Establezca esta opción en url. Si no se especifica, el nombre del objeto no se codifica.

--include

Incluye todos los objetos que coinciden con el patrón especificado.

Para más información, consulte include and exclude options.

--exclude

Excluye todos los objetos que coinciden con el patrón especificado.

Para más información, consulte include and exclude options.

--meta

Establece los metadatos del objeto. El formato es header:value#header:value. Ejemplo: Cache-Control:no-cache#Content-Encoding:gzip. Para más información sobre los metadatos, consulte set-meta (Manage object metadata).

--acl

Lista de control de acceso (ACL) del objeto. Valores válidos:

  • default (predeterminado): el objeto hereda la ACL del bucket.

  • private: solo el propietario del bucket tiene permisos de lectura y escritura. Los demás usuarios no pueden acceder a los objetos del bucket.

  • public-read: solo el propietario del bucket tiene permisos de escritura. Todos los demás usuarios, incluidos los anónimos, tienen permisos de solo lectura sobre los objetos del bucket. Esta configuración puede provocar filtraciones de datos y un aumento en los costos. Úsela con precaución.

  • public-read-write: cualquier persona, incluidos los usuarios anónimos, puede leer y escribir objetos en el bucket. Esto puede generar filtraciones de datos, costos adicionales y posibles responsabilidades legales si se carga contenido malicioso. Salvo en casos de uso específicos, no configure permisos públicos de lectura y escritura.

--snapshot-path

Directorio donde se guarda la información de la instantánea durante la descarga. En la siguiente descarga, ossutil lee esta información desde dicho directorio para ejecutar una descarga incremental.

--disable-crc64

Deshabilita la verificación de redundancia cíclica de 64 bits (CRC-64). De forma predeterminada, ossutil habilita CRC-64 en todas las transferencias de datos.

--payer

Método de pago de la solicitud. Para que quien realiza la solicitud asuma el costo del tráfico y de las peticiones generadas al acceder a la ruta indicada, establezca esta opción en requester.

--partition-download

Especifica la partición del objeto que se va a descargar. El valor sigue el formato Partition number:Total partitions. Por ejemplo, 1:5 indica que este comando de ossutil descarga la partición 1 de un total de 5. La numeración de las particiones comienza en 1. El algoritmo interno de la herramienta determina cómo se divide el objeto. Esta opción le permite dividir un objeto en varias particiones y descargarlas en paralelo mediante múltiples comandos de ossutil. Cada comando descarga la partición asignada.

-j,--job

Número de tareas simultáneas para operaciones con varios objetos. Valor predeterminado: 3. Rango de valores: de 1 a 10 000.

--parallel

Número de tareas simultáneas para operaciones con un solo objeto. Rango de valores: de 1 a 10 000. Si no se establece esta opción, ossutil determina el valor según el tipo de operación y el tamaño del objeto.

--version-id

Descarga una versión específica de un objeto. Utilice la opción --version-id únicamente con buckets que tengan el control de versiones habilitado. Para habilitar el control de versiones en un bucket, consulte bucket-versioning (Versioning).

--start-time

Marca de tiempo UNIX. Si especifica esta opción, se ignoran los objetos cuya última modificación sea anterior a dicha marca de tiempo.

Nota

Solo ossutil 1.7.18 y versiones posteriores admiten este parámetro. Para más información sobre cómo actualizar la versión, consulte update (Upgrade ossutil).

--end-time

Marca de tiempo UNIX. Si especifica esta opción, se ignoran los objetos cuya última modificación sea posterior a dicha marca de tiempo.

Nota
  • Si especifica tanto start-time como end-time, el comando de copia se ejecuta únicamente para los archivos modificados por última vez entre las marcas de tiempo indicadas.

  • Solo ossutil 1.7.18 y versiones posteriores admiten este parámetro. Para más información sobre cómo actualizar la versión, consulte update (Upgrade ossutil).

Para más información sobre otras opciones comunes de este comando, consulte Common options.

Si la concurrencia predeterminada no satisface sus necesidades de rendimiento, ajuste las opciones -j, --jobs y --parallel para optimizarlo. De forma predeterminada, ossutil calcula el número de procesos paralelos según el tamaño del objeto. Cuando transfiere objetos grandes por lotes, la concurrencia real equivale al número de trabajos multiplicado por el número de procesos paralelos.

  • Si la instancia de ECS o el servidor que ejecuta el comando tiene recursos limitados (red, memoria o CPU), se recomienda establecer la concurrencia en un valor inferior a 100. Si estos recursos no se aprovechan por completo, puede aumentar la concurrencia.

  • Una concurrencia demasiado alta puede degradar el rendimiento o provocar errores EOF debido a la sobrecarga por cambio de hilos y a la competencia por recursos. Ajuste las opciones -j, --jobs y --parallel según los recursos de su máquina. Al ejecutar pruebas de estrés, comience con valores bajos de concurrencia y auméntelos gradualmente hasta encontrar la configuración óptima.

Ejemplos

A continuación se presentan ejemplos para un sistema Linux. Debe ajustar los parámetros para que coincidan con su sistema operativo y entorno. Estos ejemplos asumen lo siguiente:

  • Nombre del bucket: examplebucket

  • Directorio de OSS: destfolder/

  • Directorio local: localfolder/

  • Archivo local: examplefile.txt

Descargar un solo objeto

  • Descargue un objeto a un directorio específico y conserve su nombre original:

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/
  • Descargue un objeto a un directorio específico y cámbiele el nombre a example.txt:

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

Descarga por lotes

  • Utilice la opción -r para descargar el directorio destfolder, incluidos todos sus subdirectorios y objetos.

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/
  • Utilice la opción --only-current-dir para descargar únicamente los objetos del directorio actual e ignorar los subdirectorios.

    ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -r
  • Utilice la opción -u para descargar solo los objetos que no existen localmente o que se actualizaron en OSS. Esta opción omite la descarga de un objeto si ya existe un archivo local con el mismo nombre y fecha de última modificación.

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

Descargar objetos condicionales

  • Descargue todos los objetos del directorio destfolder que no estén en formato JPG:

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg"
  • Descargue los objetos del directorio destfolder cuyo nombre contenga abc, pero que no estén en formato JPG ni TXT:

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

Limitar la velocidad de descarga

Utilice la opción --maxdownspeed para limitar la velocidad de descarga a 1 MB/s (1024 KB/s).

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

Descarga por rango

Utilice la opción --range para descargar los bytes del 10 al 20 del archivo examplefile.txt a su computadora local.

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

Descargar objetos dentro de un intervalo de tiempo específico

Utilice las opciones --start-time y --end-time para descargar únicamente los objetos del directorio destfolder cuya última modificación ocurrió entre las 10:09:18 y las 12:55:58 del 31 de octubre de 2023 (UTC+8).

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

Descargar una versión específica de un objeto

Primero, ejecute el comando ls --all-versions para obtener todos los identificadores de versión del objeto. Después, utilice la opción --version-id para descargar la versión deseada.

Nota

La opción --version-id solo se puede utilizar con objetos almacenados en un bucket que tenga el control de versiones habilitado. Para habilitar el control de versiones en un bucket, consulte bucket-versioning (Versioning).

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

Descargar objetos y generar información de instantánea

Utilice la opción --snapshot-path para generar información de instantánea de los objetos descargados en un directorio específico. Cuando ejecute un comando de descarga posterior con esta opción, ossutil leerá dicha información desde el directorio para realizar una descarga incremental. Para más información, consulte Upload objects and generate snapshots.

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

Descarga entre cuentas o entre regiones

Utilice las opciones comunes -e, -i y -k para descargar un objeto de un bucket propiedad de otra cuenta y ubicado en la región China (Shanghai).

Nota

Especifique el endpoint correspondiente a la región donde se encuentra el bucket. Para más información, consulte Regions and Endpoints.

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