Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Copiar objeto

Puede utilizar la solicitud S3 CopyObject para crear una copia de un objeto que ya esté almacenado en S3. Una operación CopyObject es lo mismo que realizar GetObject seguido de PutObject.

Resolver conflictos

Las solicitudes de clientes conflictivas, como dos clientes que escriben en la misma clave, se resuelven según el criterio del "último que gana". El momento de la evaluación de "últimas victorias" se basa en cuándo el sistema StorageGRID completa una solicitud determinada y no en cuándo los clientes S3 comienzan una operación.

Tamaño del objeto

El tamaño máximo recomendado para una sola operación PutObject es 5 GiB (5.368.709.120 bytes). Si tiene objetos de más de 5 GiB, utilice"carga multiparte" en cambio.

El tamaño máximo admitido para una sola operación PutObject es 5 TiB (5.497.558.138.880 bytes).

Nota Si actualizó desde StorageGRID 11.6 o una versión anterior, se activará la alerta de tamaño de objeto PUT de S3 demasiado grande si intenta cargar un objeto que supere los 5 GiB. Si tiene una nueva instalación de StorageGRID 11.7 o 11.8, la alerta no se activará en este caso. Sin embargo, para alinearse con el estándar AWS S3, las futuras versiones de StorageGRID no admitirán cargas de objetos de más de 5 GiB.

Caracteres UTF-8 en metadatos de usuario

Si una solicitud incluye valores UTF-8 (sin escapar) en el nombre de clave o el valor de los metadatos definidos por el usuario, el comportamiento de StorageGRID no está definido.

StorageGRID no analiza ni interpreta caracteres UTF-8 escapados incluidos en el nombre de clave o el valor de los metadatos definidos por el usuario. Los caracteres UTF-8 escapados se tratan como caracteres ASCII:

  • Las solicitudes tienen éxito si los metadatos definidos por el usuario incluyen caracteres UTF-8 escapados.

  • StorageGRID no devuelve el x-amz-missing-meta encabezado si el valor interpretado del nombre o valor de la clave incluye caracteres no imprimibles.

Encabezados de solicitud admitidos

Se admiten los siguientes encabezados de solicitud:

  • Content-Type

  • x-amz-copy-source

  • x-amz-copy-source-if-match

  • x-amz-copy-source-if-none-match

  • x-amz-copy-source-if-unmodified-since

  • x-amz-copy-source-if-modified-since

  • x-amz-meta-, seguido de un par nombre-valor que contiene metadatos definidos por el usuario

  • x-amz-metadata-directive:El valor predeterminado es COPY , que le permite copiar el objeto y los metadatos asociados.

    Puedes especificar REPLACE para sobrescribir los metadatos existentes al copiar el objeto o para actualizar los metadatos del objeto.

  • x-amz-storage-class

  • x-amz-tagging-directive:El valor predeterminado es COPY , que le permite copiar el objeto y todas las etiquetas.

    Puedes especificar REPLACE para sobrescribir las etiquetas existentes al copiar el objeto o para actualizar las etiquetas.

  • Encabezados de solicitud de bloqueo de objetos S3:

    • x-amz-object-lock-mode

    • x-amz-object-lock-retain-until-date

    • x-amz-object-lock-legal-hold

      Si se realiza una solicitud sin estos encabezados, se utilizan las configuraciones de retención predeterminadas del depósito para calcular el modo de versión del objeto y la fecha de retención. Ver "Utilice la API REST de S3 para configurar el bloqueo de objetos de S3" .

  • Encabezados de solicitud SSE:

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm

    • x-amz-copy-source​-server-side-encryption-customer-key

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption

    • x-amz-server-side-encryption-customer-key-MD5

    • x-amz-server-side-encryption-customer-key

    • x-amz-server-side-encryption-customer-algorithm

Encabezados de solicitud no admitidos

Los siguientes encabezados de solicitud no son compatibles:

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

  • Content-Language

  • Expires

  • x-amz-checksum-algorithm

    Cuando copia un objeto, si el objeto de origen tiene una suma de comprobación, StorageGRID no copia ese valor de suma de comprobación al nuevo objeto. Este comportamiento se aplica independientemente de si intenta utilizarlo o no. x-amz-checksum-algorithm en la solicitud de objeto.

  • x-amz-website-redirect-location

Opciones de clase de almacenamiento

El x-amz-storage-class Se admite el encabezado de solicitud y afecta la cantidad de copias de objetos que crea StorageGRID si la regla ILM correspondiente usa la confirmación dual o equilibrada."opción de ingesta" .

  • STANDARD

    (Predeterminado) Especifica una operación de ingesta de confirmación dual cuando la regla ILM usa la opción Confirmación dual o cuando la opción Equilibrada recurre a la creación de copias provisionales.

  • REDUCED_REDUNDANCY

    Especifica una operación de ingesta de confirmación única cuando la regla ILM usa la opción de confirmación dual o cuando la opción Equilibrada recurre a la creación de copias provisionales.

    Nota Si está ingiriendo un objeto en un depósito con el bloqueo de objetos S3 habilitado, REDUCED_REDUNDANCY La opción se ignora. Si está ingiriendo un objeto en un depósito compatible heredado, el REDUCED_REDUNDANCY La opción devuelve un error. StorageGRID siempre realizará una ingesta de confirmación dual para garantizar que se cumplan los requisitos de cumplimiento.

Uso de x-amz-copy-source en CopyObject

Si el depósito de origen y la clave se especifican en el x-amz-copy-source encabezado, son diferentes del depósito de destino y la clave, se escribe una copia de los datos del objeto de origen en el destino.

Si el origen y el destino coinciden, y el x-amz-metadata-directive El encabezado se especifica como REPLACE , los metadatos del objeto se actualizan con los valores de metadatos proporcionados en la solicitud. En este caso, StorageGRID no vuelve a ingerir el objeto. Esto tiene dos consecuencias importantes:

  • No se puede utilizar CopyObject para cifrar un objeto existente en un lugar, ni para cambiar el cifrado de un objeto existente en un lugar. Si usted suministra el x-amz-server-side-encryption encabezado o el x-amz-server-side-encryption-customer-algorithm encabezado, StorageGRID rechaza la solicitud y devuelve XNotImplemented .

  • No se utiliza la opción de Comportamiento de ingestión especificada en la regla ILM correspondiente. Cualquier cambio en la ubicación de objetos que se active mediante la actualización se realiza cuando ILM se vuelve a evaluar mediante procesos de fondo normales de ILM.

    Esto significa que si la regla ILM usa la opción Estricta para el comportamiento de ingesta, no se realiza ninguna acción si no se pueden realizar las ubicaciones de objetos requeridas (por ejemplo, porque una nueva ubicación requerida no está disponible). El objeto actualizado conserva su ubicación actual hasta que sea posible la ubicación requerida.

Encabezados de solicitud para el cifrado del lado del servidor

Si usted"utilizar cifrado del lado del servidor" Los encabezados de solicitud que proporcione dependerán de si el objeto de origen está cifrado y de si planea cifrar el objeto de destino.

  • Si el objeto de origen está cifrado mediante una clave proporcionada por el cliente (SSE-C), debe incluir los siguientes tres encabezados en la solicitud CopyObject, para que el objeto pueda descifrarse y luego copiarse:

    • x-amz-copy-source​-server-side​-encryption​-customer-algorithm: Especificar AES256 .

    • x-amz-copy-source​-server-side-encryption-customer-key:Especifique la clave de cifrado que proporcionó cuando creó el objeto de origen.

    • x-amz-copy-source​-server-side-encryption-customer-key-MD5:Especifique el resumen MD5 que proporcionó cuando creó el objeto de origen.

  • Si desea cifrar el objeto de destino (la copia) con una clave única que usted proporciona y administra, incluya los siguientes tres encabezados:

    • x-amz-server-side-encryption-customer-algorithm: Especificar AES256 .

    • x-amz-server-side-encryption-customer-key:Especifique una nueva clave de cifrado para el objeto de destino.

    • x-amz-server-side-encryption-customer-key-MD5:Especifique el resumen MD5 de la nueva clave de cifrado.

    Precaución Las claves de cifrado que usted proporciona nunca se almacenan. Si pierde una clave de cifrado, perderá el objeto correspondiente. Antes de utilizar las claves proporcionadas por el cliente para proteger los datos de los objetos, revise las consideraciones para"utilizando cifrado del lado del servidor" .
  • Si desea cifrar el objeto de destino (la copia) con una clave única administrada por StorageGRID (SSE), incluya este encabezado en la solicitud CopyObject:

    • x-amz-server-side-encryption

      Nota El server-side-encryption El valor del objeto no se puede actualizar. En lugar de eso, haga una copia con un nuevo server-side-encryption valor usando x-amz-metadata-directive : REPLACE .

Control de versiones

Si el depósito de origen tiene versiones, puede utilizar el x-amz-copy-source encabezado para copiar la última versión de un objeto. Para copiar una versión específica de un objeto, debe especificar explícitamente la versión a copiar utilizando el versionId subrecurso. Si el depósito de destino está versionado, la versión generada se devuelve en el x-amz-version-id encabezado de respuesta. Si se suspende el control de versiones para el depósito de destino, entonces x-amz-version-id devuelve un valor "nulo".