PONER objeto: Copiar
Puede usar la solicitud PUT Object - Copy de S3 para crear una copia de un objeto que ya está almacenado en S3. UNA operación PONER objeto - copia es la misma que realizar UNA GET y LUEGO UN PUT.
Resolver conflictos
Las solicitudes de clientes en conflicto, como dos clientes que escriben en la misma clave, se resuelven en función de las "últimas victorias". El plazo para la evaluación de "logros más recientes" se basa en cuándo el sistema StorageGRID completa una solicitud determinada, y no en cuándo los clientes de S3 comienzan una operación.
Tamaño del objeto
El tamaño máximo recomendado para una única operación PUT Object es de 5 GIB (5,368,709,120 bytes). Si tiene objetos que sean mayores de 5 GIB, utilice la carga de varias partes en su lugar.
El tamaño máximo de soportado para una única operación PUT Object es de 5 TiB (5.497.558.138.880 bytes). Sin embargo, la alerta * S3 PUT Object size demasiado grande* se activará si intenta cargar un objeto que supere los 5 GIB.
Caracteres UTF-8 en los metadatos de usuario
Si una solicitud incluye (no escapadas) valores UTF-8 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 los caracteres UTF-8 escapados incluidos en el nombre de clave o el valor de los metadatos definidos por el usuario. Los caracteres UTF-8 que se han escapado se tratan como caracteres ASCII:
-
Las solicitudes se realizan correctamente si los metadatos definidos por el usuario incluyen caracteres UTF-8 que se han escapado.
-
StorageGRID no devuelve el
x-amz-missing-meta
encabezado si el valor interpretado del nombre o valor de 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 esCOPY
, que permite copiar el objeto y los metadatos asociados.Puede especificar
REPLACE
para sobrescribir los metadatos existentes al copiar el objeto o actualizar los metadatos del objeto. -
x-amz-storage-class
-
x-amz-tagging-directive
: El valor predeterminado esCOPY
, que le permite copiar el objeto y todas las etiquetas.Puede especificar
REPLACE
para sobrescribir las etiquetas existentes al copiar el objeto o 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 estas cabeceras, se utiliza la configuración de retención por defecto del depósito para calcular el modo de versión del objeto y retener hasta la fecha. Consulte "Use 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 compatibles
No se admiten las siguientes cabeceras de solicitud:
-
Cache-Control
-
Content-Disposition
-
Content-Encoding
-
Content-Language
-
Expires
-
x-amz-website-redirect-location
Opciones para clase de almacenamiento
La x-amz-storage-class
Se admite el encabezado de la solicitud y afecta al número de copias de objetos que crea StorageGRID si la regla de ILM coincidente especifica un comportamiento de ingesta de COMMIT doble o de equilibrado.
-
STANDARD
(Predeterminado) especifica una operación de procesamiento de confirmación doble cuando la regla ILM utiliza la opción Commit doble o cuando la opción equilibrada vuelve a crear copias provisionales.
-
REDUCED_REDUNDANCY
Especifica una operación de procesamiento de confirmación única cuando la regla de ILM utiliza la opción Commit doble o cuando la opción equilibrada vuelve a crear copias provisionales.
Si va a procesar un objeto en un bloque con el bloqueo de objetos S3 habilitado, el REDUCED_REDUNDANCY
opción ignorada. Si está ingiriendo un objeto en un bloque compatible heredado, elREDUCED_REDUNDANCY
opción devuelve un error. StorageGRID siempre realizará una ingesta con doble confirmación para garantizar que se cumplan los requisitos de cumplimiento.
Uso de x-amz-copy-source en PUT Object - Copy
Si el bloque de origen y la clave, especificados en la x-amz-copy-source
header, son diferentes del bloque y la clave de destino, se escribe una copia de los datos del objeto de origen en el destino.
Si el origen y el destino coinciden, y la 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 procesar el objeto. Esto tiene dos consecuencias importantes:
-
No se puede utilizar PUT Object - Copy para cifrar un objeto existente en su lugar, o para cambiar el cifrado de un objeto existente en su lugar. Si proporciona el
x-amz-server-side-encryption
cabecera o lax-amz-server-side-encryption-customer-algorithm
Encabezamiento, StorageGRID rechaza la solicitud y devuelveXNotImplemented
. -
No se utiliza la opción de comportamiento de procesamiento especificado en la regla de ILM que coincida. Cualquier cambio en la ubicación del objeto que se active por la actualización se realice cuando los procesos de ILM normales se reevalúan el ILM en segundo plano.
Esto significa que si la regla ILM utiliza la opción estricta para el comportamiento de ingesta, no se realiza ninguna acción si no se pueden realizar las ubicaciones de objetos necesarias (por ejemplo, porque una nueva ubicación requerida no está disponible). El objeto actualizado conserva su ubicación actual hasta que sea posible la colocación requerida.
Solicitar encabezados para el cifrado del servidor
Si utiliza cifrado 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 se cifra utilizando una clave proporcionada por el cliente (SSE-C), debe incluir los tres encabezados siguientes en LA solicitud PUT Object - Copy, para que el objeto se pueda descifrar y copiar a continuación:
-
x-amz-copy-source-server-side-encryption-customer-algorithm
: EspecificarAES256
. -
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 proporciona y administra, incluya los tres encabezados siguientes:
-
x-amz-server-side-encryption-customer-algorithm
: EspecificarAES256
. -
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.
Las claves de cifrado que proporcione no se almacenan nunca. Si pierde una clave de cifrado, perderá el objeto correspondiente. Antes de utilizar las claves proporcionadas por el cliente para proteger los datos de 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 DE PUT Object - Copy:
-
x-amz-server-side-encryption
La server-side-encryption
no se puede actualizar el valor del objeto. En su lugar, haga una copia con un nuevoserver-side-encryption
valor conx-amz-metadata-directive
:REPLACE
.
-
Creación de versiones
Si se crea una versión del contenedor de origen, puede utilizar x-amz-copy-source
encabezado para copiar la versión más reciente de un objeto. Para copiar una versión específica de un objeto, debe especificar explícitamente la versión que desea copiar mediante versionId
subrecurso. Si se crea una versión del bloque de destino, la versión generada se devuelve en el x-amz-version-id
encabezado de respuesta. Si se suspende el control de versiones para el bloque de destino, entonces x-amz-version-id
devuelve un valor «'null'».