Descarga de objetos - Amazon Simple Storage Service

Descarga de objetos

En esta sección se explica cómo descargar objetos desde un bucket de Amazon S3. Con Amazon S3, puede almacenar objetos en uno o varios buckets, y cada objeto individual puede tener un tamaño de hasta 5 TB. Se puede acceder en tiempo real a cualquier objeto de Amazon S3 que no esté archivado. Los objetos archivados, sin embargo, deben restaurarse antes de poder descargarse. Para obtener más información sobre cómo descargar objetos archivados, consulte Descarga de registros archivados.

Puede descargar un solo objeto utilizando la consola de Amazon S3, AWS Command Line Interface (AWS CLI), los SDK de AWS o la API de REST de Amazon S3. Para descargar un objeto de S3 sin escribir código ni ejecutar ningún comando, utilice la consola de S3. Para obtener más información, consulte Descarga de un objeto.

Para descargar varios objetos, utilice AWS CloudShell, la AWS CLI o los SDK de AWS. Para obtener más información, consulte Descarga de varios objetos.

Si necesita descargar parte de un objeto, utilice parámetros adicionales con la AWS CLI o la API de REST para especificar únicamente los bytes que desee descargar. Para obtener más información, consulte Para descargar parte de un objeto.

Si necesita descargar un objeto que no le pertenece, pida al propietario del objeto que genere una URL prefirmada que le permita descargar el objeto. Para obtener más información, consulte Descarga de un objeto de otra Cuenta de AWS.

Cuando descarga objetos fuera de la red de AWS, se aplican tarifas de transferencia de datos. La transferencia de datos dentro de la red de AWS es gratuita si está en la misma Región de AWS, pero se le cobrará por cualquier solicitud GET. Para obtener más información sobre los costes de transferencia de datos y los cargos por recuperación de datos, consulte los precios de Amazon S3.

Descarga de un objeto

Puede descargar un objeto utilizando la consola de Amazon S3, AWS CLI, los SDK de AWS o la API de REST.

En esta sección se explica cómo utilizar la consola de Amazon S3 para descargar un objeto de un bucket de S3.

nota
  • Solo se puede descargar un objeto a la vez.

  • Si utiliza la consola de Amazon S3 para descargar un objeto cuyo nombre de clave termine con un punto (.), se eliminará el punto del nombre de clave del objeto descargado. Para conservar el punto al final del nombre del objeto descargado, debe usar la AWS Command Line Interface (AWS CLI), los SDK de AWS o la API de REST de Amazon S3.

Para descargar un objeto desde un bucket de S3
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto que desea descargar.

  3. Puede descargar un objeto de un bucket de S3 de cualquiera de las siguientes maneras:

    • Seleccione la casilla de verificación situada junto al objeto y elija Descargar. Si desea descargar el objeto a una carpeta específica, en el menú Acciones, seleccione Descargar como.

    • Si desea descargar una versión específica del objeto, active Mostrar versiones (situado junto al cuadro de búsqueda). Seleccione la casilla de verificación situada junto a la versión del objeto que desee y elija Descargar. Si desea descargar el objeto a una carpeta específica, en el menú Acciones, seleccione Descargar como.

En el siguiente comando de ejemplo de get-object, se muestra cómo puede utilizar la AWS CLI para descargar un objeto de Amazon S3. Este comando obtiene el objeto folder/my_image del bucket DOC-EXAMPLE-BUCKET1. El objeto se descargará en un archivo denominado my_downloaded_image.

aws s3api get-object --bucket DOC-EXAMPLE-BUCKET1 --key folder/my_image my_downloaded_image

Para obtener más información y ejemplos, consulte get-object en la referencia de comandos de AWS CLI.

Para ver ejemplos de cómo descargar un objeto con los SDK de AWS, consulte Obtenga un objeto de un bucket de Amazon S3 con un SDK de AWS.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS y los exploradores.

Puede utilizar la API de REST para recuperar objetos de Amazon S3. Para obtener más información, consulte GetObject en la Referencia de la API de Amazon Simple Storage Service.

Descarga de varios objetos

Puede descargar varios objetos mediante AWS CloudShell, la AWS CLI o los SDK de AWS.

AWS CloudShell es un shell previamente autenticado y basado en el navegador, que se puede lanzar directamente desde la página web de la AWS Management Console.

Para obtener más información acerca de AWS CloudShell, consulte ¿Qué es CloudShell? en la Guía del usuario de AWS CloudShell.

importante

Con AWS CloudShell, su directorio principal tiene capacidad de almacenamiento de hasta 1 GB por Región de AWS Por lo tanto, no puede sincronizar buckets con objetos que superen en total esta cantidad. Para ver más limitaciones, consulta las Service quotas and restrictions (Cuotas y restricciones del servicio) en la Guía del usuario de AWS CloudShell.

Para descargar objetos mediante AWS CloudShell
  1. Inicie sesión en la AWS Management Console y abra la consola de CloudShell en https://console.aws.amazon.com/cloudshell/.

  2. Ejecute el siguientes comando para sincronizar objetos del bucket con CloudShell. El siguiente comando sincroniza los objetos del bucket denominado DOC-EXAMPLE-BUCKET1 y crea una carpeta denominada temp en CloudShell. CloudShell sincroniza los objetos con esta carpeta. Para usar este comando, sustituya user input placeholders por su información.

    aws s3 sync s3://DOC-EXAMPLE-BUCKET1 ./temp
    nota

    Para realizar una coincidencia de patrones para excluir o incluir objetos concretos, puede utilizar los parámetros --exclude "value" y --include "value" con el comando sync.

  3. Ejecute el siguiente comando para comprimir los objetos en la carpeta con el nombre tempen un archivo denominado temp.zip.

    zip temp.zip -r temp/
  4. Elija Acciones y luego Descargar archivo.

  5. Escriba el nombre de archivo temp.zip y luego elija Descargar.

  6. (Opcional) Elimine el archivo temp.zip y los objetos que están sincronizados con la carpeta temp de CloudShell. Con AWS CloudShell, tiene un almacenamiento persistente de hasta 1 GB para cada Región de AWS.

    Los siguientes comandos de ejemplo se pueden utilizar para eliminar el archivo .zip y la carpeta. Para utilizar este comando de ejemplo, sustituya user input placeholders por su propia información.

    rm temp.zip && rm -rf temp/

Los siguientes ejemplos muestran cómo se puede utilizar AWS CLI para descargar todos los archivos u objetos que tienen el directorio o prefijo especificados. Este comando copia todos los objetos del bucket DOC-EXAMPLE-BUCKET1 a su directorio actual. Para usar este comando de ejemplo, use el nombre de su bucket en lugar de DOC-EXAMPLE-BUCKET1.

aws s3 cp s3://DOC-EXAMPLE-BUCKET1 . --recursive

El siguiente comando descarga todos los objetos con el prefijo logs del bucket DOC-EXAMPLE-BUCKET1 en su directorio actual. También usa los parámetros --exclude y --include para copiar solo los objetos con el sufijo .log. Para utilizar este comando de ejemplo, sustituya user input placeholders por su propia información.

aws s3 cp s3://DOC-EXAMPLE-BUCKET1/logs/ . --recursive --exclude "*" --include "*.log"

Para obtener más información y ejemplos, consulte cp en la referencia de comandos de AWS CLI.

Para ver ejemplos de cómo descargar todos los objetos de un bucket de Amazon S3 con los SDK de AWS, consulte Descargar todos los objetos de un bucket de Amazon Simple Storage Service (Amazon S3) en un directorio local.

Para obtener información general sobre el uso de diferentes SDK de AWS, consulte Desarrollo con Amazon S3 mediante los SDK de AWS y los exploradores.

Para descargar parte de un objeto

Puede descargar parte de un objeto mediante la AWS CLI o la API de REST. Para ello, utilice parámetros adicionales para especificar qué parte de un objeto desea descargar.

El siguiente comando de ejemplo ejecuta una solicitud GET de un rango de bytes en el objeto denominado folder/my_data del bucket denominado DOC-EXAMPLE-BUCKET1. En la solicitud, el rango de bytes debe llevar el prefijo bytes=. El objeto parcial se descarga en el archivo de salida denominado my_data_range. Para utilizar este comando de ejemplo, sustituya user input placeholders por su propia información.

aws s3api get-object --bucket DOC-EXAMPLE-BUCKET1 --key folder/my_data --range bytes=0-500 my_data_range

Para obtener más información y ejemplos, consulte get-object en la referencia de comandos de AWS CLI.

Para más información sobre el encabezado Range HTTP, consulte el documento RFC 9110 en la página web del editor de RFC.

nota

Amazon S3 no admite la recuperación de varios rangos de datos en una sola solicitud GET.

Puede usar los parámetros partNumber y Range de la API de REST para recuperar partes de objetos de Amazon S3. Para obtener más información, consulte GetObject en la Referencia de la API de Amazon Simple Storage Service.

Descarga de un objeto de otra Cuenta de AWS

Puede utilizar una URL prefirnada para conceder a otras personas un acceso de tiempo limitado a sus objetos sin necesidad de actualizar su política de buckets.

La URL prefirmada puede introducirse en un navegador o utilizarse por un programa para descargar un objeto. Las credenciales que utiliza la URL son las del usuario de AWS que generó la URL. Una vez creada la URL, cualquier persona que tenga la URL prefirmada puede descargar el objeto correspondiente hasta que la URL caduque.

Puede utilizar la consola de Amazon S3 para generar una URL prefirmada para compartir un objeto si sigue estos pasos. Al utilizar la consola, el tiempo máximo de caducidad de una URL prefirmada es de 12 horas desde el momento de su creación.

Para generar una URL prefirmada con la consola de Amazon S3
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

  3. En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto para el que desea generar una URL prefirmada.

  4. En la lista Objects (Objetos), seleccione el objeto para el que desea crear una URL prefirmada.

  5. En el menú Acciones, elija Compartir con una URL prefirmada.

  6. Especifique cuánto tiempo de validez desea que tenga la URL prefirmada.

  7. Elija Create presigned URL (Crear URL prefirmada).

  8. Cuando aparece un mensaje de confirmación, la URL se copia automáticamente en el portapapeles. Verá un botón para copiar la URL prefirmada en caso de que necesite volver a copiarla.

  9. Para descargar el objeto, pegue la URL en cualquier navegador y el objeto intentará descargarse.

Para obtener más información sobre las direcciones URL prefirmadas y otros métodos para crearlas, consulte Uso de URL prefirmadas.

Descarga de registros archivados

Para reducir los costos de almacenamiento de los objetos a los que se accede con poca frecuencia, puede archivar dichos objetos. Cuando archiva un objeto, se traslada a un almacenamiento de bajo costo, lo que significa que no puede acceder a él en tiempo real. Para descargar un objeto archivado, primero debe restaurarlo.

Puede restaurar objetos que se han archivado en minutos o en horas, según la clase de almacenamiento. Puede restaurar un objeto archivado mediante la consola de Amazon S3, Operaciones por lotes de S3, la API de REST de Amazon S3, los SDK de AWS y la AWS Command Line Interface (AWS CLI).

Para obtener instrucciones, consulte Restauración de un objeto archivado. Tras restaurar el objeto archivado, puede descargarlo.

Solución de problemas al descargar objetos

Los permisos insuficientes o las políticas de usuario AWS Identity and Access Management (IAM) o bucket incorrectas pueden provocar errores al intentar descargar objetos de Amazon S3. Estos problemas suelen provocar errores de acceso denegado (403 prohibido), en los que Amazon S3 no puede permitir el acceso a un recurso.

Para conocer las causas habituales de los errores de acceso denegado (403 prohibido), consulte Solucionar errores de acceso denegado (403 Prohibido) en Amazon S3.