Copia, traslado y cambio de nombre de objetos
La operación CopyObject
crea una copia de un objeto que ya está almacenado en Amazon S3.
Puede crear una copia de un objeto de hasta 5 GB en una única operación atómica. Sin embargo, para copiar un objeto mayor de 5 GB, debe usar una carga multiparte mediante la AWS CLI o los SDK de AWS. Para obtener más información, consulte Copiar un objeto con la carga multiparte.
nota
Para mantener el beneficio de rendimiento de un objeto que ha cargado mediante la carga multiparte, debe copiar el objeto con la carga multiparte mediante la AWS CLI o el AWS SDK o en lugar de la consola de S3. Para obtener más información, consulte Copiar un objeto con la carga multiparte.
Con la operación CopyObject
, puede:
-
Cree copias adicionales de objetos.
-
Cambie el nombre de objetos copiándolos y eliminando los originales
-
Copie o mueva objetos de un bucket a otro, incluso entre Regiones de AWS (por ejemplo, de
us-west-1
aeu-west-2
). Cuando mueve un objeto, Amazon S3 copia el objeto en el destino especificado y, a continuación, elimina el objeto original.nota
La copia o el tralsado objetos entre Regiones de AWS genera cargos por uso de ancho de banda. Para obtener más información, consulte Precios de Amazon S3
. -
Cambie metadatos de objetos. Cada objeto de Amazon S3 tiene metadatos. Estos metadatos son un conjunto de pares nombre-valor. Puede establecer los metadatos de un objeto en el momento en el que lo sube. Tras cargar el objeto, no puede modificar los metadatos. La única manera de modificar los metadatos de un objeto es realizar una copia del mismo y configurar sus metadatos. Para ello, en la operación de copia, ajuste el mismo objeto en el origen y el destino.
Algunos los metadatos del objeto son metadatos del sistema y otros definidos por el usuario. Puede controlar algunos de los metadatos del sistema. Por ejemplo, puede controlar la clase de almacenamiento y el tipo de cifrado del servidor que se utilizará para el objeto. Cuando copia un objeto, los metadatos del sistema controlados por el usuario y los metadatos definidos por el usuario también se copian. Amazon S3 reinicia los metadatos controlados por el sistema. Por ejemplo, cuando se copia un objeto, Amazon S3 restablece la fecha de creación del objeto copiado. No necesita establecer ninguno de estos valores de metadatos controlados por el sistema en su solicitud de copia.
Al copiar un objeto, puede decidir actualizar algunos de los valores de los metadatos. Por ejemplo, si su objeto de origen está configurado para usar almacenamiento S3 estándar, podría elegir usar S3 Intelligent-Tiering para la copia del objeto. También podría decidir alterar algunos de los valores de metadatos definidos por el usuario presentes en el objeto de origen. Si decide actualizar cualquiera de los metadatos del objeto configurables por el usuario (definidos por el sistema o por el usuario) durante la copia, debe especificar explícitamente todos los metadatos configurables por el usuario presentes en el objeto de origen de la solicitud, incluso aunque solo cambie uno de los valores de metadatos.
nota
Al copiar un objeto utilizando la consola de Amazon S3, puede recibir el mensaje de error
“Copied metadata can't be verified”
. La consola utiliza encabezados para recuperar y establecer metadatos para el objeto. Si la configuración de la red o del navegador modifica las solicitudes de red, este comportamiento podría hacer que se escriban metadatos no deseados (como encabezadosCache-Control
modificados) en el objeto copiado. Amazon S3 no puede verificar estos metadatos no deseados.Para solucionar este problema, compruebe la configuración de la red y del navegador para asegurarse de que no modifica encabezados, como
Cache-Control
. Para obtener más información, consulte Modelo de responsabilidad compartida.Para obtener más información acerca de los metadatos del objeto, consulte Trabajar con metadatos de objeto.
Copia de objetos archivados y restaurados
Si el objeto de origen está archivado en S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive, deberá restaurar primero una copia temporal antes de poder copiar el objeto a otro bucket. Para obtener información acerca del archivado de objetos, consulte Trabajar con objetos archivados.
La operación Copy (Copiar) no se admite en la consola de Amazon S3 para los objetos restaurados de las clases de almacenamiento S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive. Para copiar estos objetos restaurados, utilice la AWS Command Line Interface (AWS CLI), los SDK de AWS o la API de REST de Amazon S3.
Copia de objetos cifrados
Amazon S3 cifra automáticamente todos los objetos nuevos que se copian a un bucket de S3. Si no especifica la información de cifrado en su solicitud de copia, la configuración de cifrado del objeto de destino se establece con la configuración de cifrado predeterminada del bucket de destino. De forma predeterminada, todos los buckets tienen un nivel de configuración de cifrado básico que utiliza el cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3). Si el bucket de destino tiene una configuración de cifrado predeterminada que utiliza el cifrado del lado del servidor con una clave de AWS Key Management Service (AWS KMS) (SSE-KMS) o una clave de cifrado proporcionada por el cliente (SSE-C), Amazon S3 utiliza la clave de KMS correspondiente o una clave proporcionada por el cliente para cifrar la copia del objeto de destino.
Al copiar un objeto, si desea utilizar un tipo de configuración de cifrado diferente para el objeto de destino, puede solicitar que Amazon S3 cifre el objeto de destino con una clave de KMS, una clave administrada de Amazon S3 o una clave proporcionada por el cliente. Si la configuración de cifrado de su solicitud es diferente de la configuración de cifrado predeterminada del bucket de destino, tendrá prioridad la configuración de cifrado de su solicitud. Si el objeto de origen de la copia se ha cifrado con SSE-C, debe facilitar la información de cifrado necesaria en la solicitud, de modo que Amazon S3 pueda descifrar el objeto para copiarlo. Para obtener más información, consulte Protección de los datos mediante el cifrado.
Uso de sumas de comprobación al copiar objetos
Al copiar objetos, puede optar por utilizar un algoritmo de suma de comprobación diferente para el objeto. Tanto si elige utilizar el mismo algoritmo como uno nuevo, Amazon S3 calcula un nuevo valor de suma de comprobación después de copiar el objeto. Amazon S3 no copia directamente el valor de la suma de comprobación. Todos los objetos copiados sin sumas de comprobación y algoritmos de suma de comprobación de destino especificados obtienen automáticamente un algoritmo de suma de comprobación CRC-64NVME
. Para obtener más información sobre el cálculo de la suma de comprobación, consulte Carga y copia de objetos con la carga multiparte en Amazon S3.
Copia de varios objetos en una sola solicitud
Para copiar más de un objeto de Amazon S3 con una sola solicitud, puede utilizar las operaciones por lotes de Amazon S3. Proporcione a Operaciones por lotes de S3 una lista de objetos en los que operar. Operaciones por lotes de S3 llama a la operación de la API respectiva para realizar la operación especificada. Un solo trabajo de operaciones por lotes puede realizar la operación especificada en miles de millones de objetos con exabytes de datos.
Operaciones por lotes de S3 realiza un seguimiento del avance, envía notificaciones y guarda un informe de finalización de todas las acciones, por lo que proporciona una experiencia sin servidor, auditable, completamente administrada. Puede emplear Operaciones por lotes de S3 a través de la consola de Amazon S3, AWS CLI, los SDK de AWS o la API de REST. Para obtener más información, consulte Conceptos básicos de Operaciones por lotes de S3.
Copia de objetos a buckets de directorio
Para obtener información sobre cómo copiar un objeto a un bucket de directorio, consulte Copia de objetos desde y en un bucket de directorio. Para obtener información sobre el uso de la clase de almacenamiento Amazon S3 Express One Zone con buckets de directorio, consulte S3 Express One Zone y Trabajar con buckets de de directorio.
Para copiar un objeto
Para copiar un objeto, utilice los métodos siguientes.
nota
Las restricciones y limitaciones a la hora de copiar un objeto con la consola son las siguientes:
-
Puede copiar un objeto si es menor de 5 GB. Si el objeto es mayor de 5 GB, debe usar la AWS CLI o los AWS SDK para copiar un objeto.
-
Para obtener una lista de los permisos adicionales necesarios para copiar objetos, consulte Permisos necesarios para las operaciones de la API de Amazon S3. Para ver políticas de ejemplo que conceden estos permisos, consulte Ejemplos de políticas basadas en identidad para Amazon S3.
-
La acción
Copy
se aplica a todos los objetos de las carpetas especificadas (prefijos). Es posible que afecte a los objetos agregados a estas carpetas mientras la acción esté en curso. -
La consola de Amazon S3 no admite la copia entre regiones de objetos cifrados con SSE-KMS. Para copiar objetos cifrados con SSE-KMS entre regiones, utilice la AWS CLI, el SDK de AWS o la API de REST de Amazon S3.
-
Los objetos cifrados con claves de cifrado proporcionadas por el cliente (SSE-C) no se pueden copiar usando la consola de S3. Para copiar objetos cifrados con SSE-C, utilice la AWS CLI, el SDK de AWS o la API REST de Amazon S3.
-
Los objetos copiados no retendrán la configuración de Bloqueo de objetos de los objetos originales.
-
Si el bucket del que está copiando objetos utiliza la configuración aplicada por el propietario del bucket en Propiedad de objetos de S3, las ACL de los objetos no se copiarán en el destino especificado.
-
Si quiere copiar objetos a un bucket que utilice la configuración aplicada por el propietario del bucket en Propiedad de objetos de S3, asegúrese de que el bucket de origen también utilice la configuración aplicada por el propietario del bucket, o bien elimine cualquier objeto que la ACL conceda a otras cuentas de AWS y grupos.
Para copiar un objeto
Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación izquierdo, elija Buckets de uso general o Buckets de directorio.
-
En la lista de buckets, elija el nombre del bucket que contiene los objetos que desea copiar.
-
Seleccione la casilla de verificación situada a la izquierda de los nombres de los objetos que desea copiar.
-
En el menú Actions (Acciones), elija Copy (Copiar) en la lista de opciones que aparece.
-
Seleccione el tipo de destino y la cuenta de destino. Para especificar la ruta de destino, seleccione Browse S3 (Examinar S3), desplácese hasta el destino y active la casilla de verificación situada a la izquierda del destino. Seleccione Elegir destino en la esquina inferior derecha.
También puede escribir la ruta de destino.
-
Si no tiene habilitado el control de versiones de bucket, verá una advertencia en la que se le recomendará que lo habilite para evitar que se sobrescriban o eliminen objetos de forma no intencionada. Si quiere mantener todas las versiones de los objetos en este bucket, seleccione Enable Bucket Versioning (Habilitar control de versiones de bucket). También puede consultar las propiedades predeterminadas de cifrado y de bloqueo de objetos de S3 en Detalles de destino.
-
En Configuración de copia adicional, elija si desea Copiar la configuración de origen, No especificar la configuración o Especificar la configuración. Copiar la configuración de origen es la opción predeterminada. Si solo desea copiar el objeto sin los atributos de configuración de origen, elija No especificar la configuración. Elija Especificar la configuración para especificar la configuración de la clase de almacenamiento, las ACL, las etiquetas de objetos, los metadatos, el cifrado del servidor y las sumas de comprobación adicionales.
-
En la esquina inferior derecha, elija Copiar. Amazon S3 copia el objeto en el destino.
Los ejemplos de esta sección demuestran cómo copiar objetos de hasta 5 GB en una única operación. Para copiar objetos mayores de 5 GB, debe usar una carga multiparte. Para obtener más información, consulte Copiar un objeto con la carga multiparte.
En este ejemplo se describe cómo copiar un objeto con la API de REST de Amazon S3. Para obtener más información sobre la API de REST, consulte CopyObject.
En este ejemplo se copia el objeto flotsam
desde el bucket
al objeto amzn-s3-demo-bucket1
jetsam
del bucket
, conservando sus metadatos.amzn-s3-demo-bucket2
PUT /jetsam HTTP/1.1 Host:
amzn-s3-demo-bucket2
.s3.amazonaws.com x-amz-copy-source: /amzn-s3-demo-bucket1
/flotsam Authorization: AWS AKIAIOSFODNN7EXAMPLE:ENoSbxYByFA0UGLZUqJN5EUnLDg= Date: Wed, 20 Feb 2008 22:12:21 +0000
La firma se generó a partir de la siguiente información.
PUT\r\n \r\n \r\n Wed, 20 Feb 2008 22:12:21 +0000\r\n x-amz-copy-source:/
amzn-s3-demo-bucket1
/flotsam\r\n /amzn-s3-demo-bucket2
/jetsam
Amazon S3 devuelve la siguiente respuesta, que especifica el ETag del objeto y cuándo se modificó por última vez.
HTTP/1.1 200 OK x-amz-id-2: Vyaxt7qEbzv34BnSu5hctyyNSlHTYZFMWK4FtzO+iX8JQNyaLdTshL0KxatbaOZt x-amz-request-id: 6B13C3C5B34AF333 Date: Wed, 20 Feb 2008 22:13:01 +0000 Content-Type: application/xml Transfer-Encoding: chunked Connection: close Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <CopyObjectResult> <LastModified>2008-02-20T22:13:01</LastModified> <ETag>"7e9c608af58950deeb370c98608ed097"</ETag> </CopyObjectResult>
También puede usar la AWS Command Line Interface (AWS CLI) para copiar un objeto de S3. Para obtener más información, consulte copy-object
Para obtener información sobre AWS CLI, consulte ¿Qué es AWS Command Line Interface? en la Guía del usuario de AWS Command Line Interface.
Para mover un objeto
Para mover un objeto, utilice los métodos siguientes.
nota
-
Puede mover un objeto si es menor de 5 GB. Si el objeto es mayor de 5 GB, debe usar la AWS CLI o los AWS SDK para mover un objeto.
-
Para obtener una lista de los permisos adicionales necesarios para mover objetos, consulte Permisos necesarios para las operaciones de la API de Amazon S3. Para ver políticas de ejemplo que conceden estos permisos, consulte Ejemplos de políticas basadas en identidad para Amazon S3.
-
Los objetos cifrados con claves de cifrado proporcionadas por el cliente (SSE-C) no se pueden mover con la consola Amazon S3. Para mover objetos cifrados con SSE-C, utilice la AWS CLI, los SDK de AWS o la API de REST de Amazon S3.
-
Al mover carpetas, espere a que finalice la operación Move (Mover) antes de realizar cambios adicionales en las carpetas.
-
No puede usar los alias de los puntos de acceso S3 como origen o destino para las operaciones de Move (Mover) en la consola de Amazon S3.
Para mover un objeto
-
Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación izquierdo, elija Instancias. Desplácese hasta el bucket o carpeta de Amazon S3 que contiene los objetos que quiera mover.
-
Seleccione la casilla de verificación de los objetos que desea mover.
-
En el menú Actions (Acciones), elija Move (Mover).
-
Para especificar la ruta de destino, elija Examinar S3, desplácese hasta el destino y seleccione la casilla de verificación de destino. Elija Choose destination (Elegir destino).
También puede escribir la ruta de destino.
-
Si no tiene habilitado el control de versiones de bucket, verá una advertencia en la que se le recomendará que lo habilite para evitar que se sobrescriban o eliminen objetos de forma no intencionada. Si quiere mantener todas las versiones de los objetos en este bucket, seleccione Enable Bucket Versioning (Habilitar control de versiones de bucket). También puede consultar las propiedades predeterminadas de cifrado y de bloqueo de objetos en Detalles de destino.
-
En Configuración de copia adicional, elija si desea Copiar la configuración de origen, No especificar la configuración o Especificar la configuración. Copiar la configuración de origen es la opción predeterminada. Si solo desea copiar el objeto sin los atributos de configuración de origen, elija No especificar la configuración. Elija Especificar la configuración para especificar la configuración de la clase de almacenamiento, las ACL, las etiquetas de objetos, los metadatos, el cifrado del servidor y las sumas de comprobación adicionales.
-
En la esquina inferior derecha, elija Move (Mover). Amazon S3 mueve los objetos al destino.
También puede usar AWS Command Line Interface (AWS CLI) para copiar un objeto de S3. Para obtener más información, consulte mv
Para obtener información sobre AWS CLI, consulte ¿Qué es AWS Command Line Interface? en la Guía del usuario de AWS Command Line Interface.
Para cambiar el nombre de un objeto
Utilice el siguiente procedimiento para cambiar el nombre de un objeto.
nota
-
Puede cambiar el nombre de un objeto si es menor de 5 GB. Para cambiar el nombre de los objetos de más de 5 GB, debe usar la AWS CLI o los AWS SDK para copiar el objeto con un nombre nuevo y, a continuación, eliminar el objeto original.
-
Para obtener una lista de los permisos adicionales necesarios para copiar objetos, consulte Permisos necesarios para las operaciones de la API de Amazon S3. Para ver políticas de ejemplo que conceden estos permisos, consulte Ejemplos de políticas basadas en identidad para Amazon S3.
-
Al cambiar el nombre de un objeto se crea una copia del objeto con una nueva fecha de última modificación y, a continuación, se agrega un marcador de eliminación al objeto original.
-
Los ajustes del bucket para el cifrado predeterminado se aplican automáticamente a cualquier objeto especificado que no esté cifrado.
-
No puede usar la consola de Amazon S3 para cambiar el nombre de los objetos con claves de cifrado (SSE-C) proporcionadas por el cliente. Para cambiar el nombre de los objetos cifrados con SSE-C, utilice la AWS CLI, los AWS SDK o la API de REST de Amazon S3 para copiar esos objetos con nombres nuevos.
-
Si este bucket utiliza el ajuste Aplicada al propietario del bucket para Propiedad de objetos de S3, las listas de control de acceso (ACL) a los objetos no se copiarán.
Para cambiar el nombre de un objeto
Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación, elija Buckets y, a continuación, la pestaña Buckets de uso general. Desplácese hasta el bucket o la carpeta de Amazon S3 que contiene el objeto cuyo nombre quiere cambiar.
-
Seleccione la casilla de verificación del objeto cuyo nombre quiera cambiar.
-
En el menú Acciones, seleccione Cambiar el nombre.
-
En el cuadro Nombre del nuevo objeto, introduzca el nuevo nombre del objeto.
-
En Configuración de copia adicional, elija si desea Copiar la configuración de origen, No especificar la configuración o Especificar la configuración. Copiar la configuración de origen es la opción predeterminada. Si solo desea copiar el objeto sin los atributos de configuración de origen, elija No especificar la configuración. Elija Especificar la configuración para especificar la configuración de la clase de almacenamiento, las ACL, las etiquetas de objetos, los metadatos, el cifrado del servidor y las sumas de comprobación adicionales.
-
Elija Guardar cambios. Amazon S3 cambia el nombre de su objeto.