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.

PonerObjeto

Puede utilizar la solicitud S3 PutObject para agregar un objeto a un depósito.

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.

Tamaño de los metadatos del usuario

Amazon S3 limita el tamaño de los metadatos definidos por el usuario dentro de cada encabezado de solicitud PUT a 2 KB. StorageGRID limita los metadatos del usuario a 24 KiB. El tamaño de los metadatos definidos por el usuario se mide tomando la suma de la cantidad de bytes en la codificación UTF-8 de cada clave y valor.

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 PutObject, CopyObject, GetObject y HeadObject 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.

Límites de etiquetas de objetos

Puede agregar etiquetas a objetos nuevos cuando los cargue o puede agregarlas a objetos existentes. Tanto StorageGRID como Amazon S3 admiten hasta 10 etiquetas para cada objeto. Las etiquetas asociadas a un objeto deben tener claves de etiqueta únicas. Una clave de etiqueta puede tener una longitud de hasta 128 caracteres Unicode y los valores de etiqueta pueden tener una longitud de hasta 256 caracteres Unicode. La clave y los valores distinguen entre mayúsculas y minúsculas.

Propiedad de los objetos

En StorageGRID, todos los objetos son propiedad de la cuenta del propietario del depósito, incluidos los objetos creados por una cuenta que no es del propietario o un usuario anónimo.

Encabezados de solicitud admitidos

Se admiten los siguientes encabezados de solicitud:

  • Cache-Control

  • Content-Disposition

  • Content-Encoding

    Cuando se especifica aws-chunked paraContent-Encoding StorageGRID no verifica los siguientes elementos:

    • StorageGRID no verifica la chunk-signature contra los datos del fragmento.

    • StorageGRID no verifica el valor que usted proporciona x-amz-decoded-content-length contra el objeto.

  • Content-Language

  • Content-Length

  • Content-MD5

  • Content-Type

  • Expires

  • Transfer-Encoding

    Se admite la codificación de transferencia fragmentada si aws-chunked También se utiliza la firma de carga útil.

  • x-amz-checksum-sha256

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

    Al especificar el par nombre-valor para los metadatos definidos por el usuario, utilice este formato general:

    x-amz-meta-name: value

    Si desea utilizar la opción Hora de creación definida por el usuario como Hora de referencia para una regla ILM, debe utilizar creation-time como el nombre de los metadatos que registran cuándo se creó el objeto. Por ejemplo:

    x-amz-meta-creation-time: 1443399726

    El valor de creation-time se evalúa en segundos desde el 1 de enero de 1970.

    Nota Una regla ILM no puede utilizar tanto un tiempo de creación definido por el usuario para el tiempo de referencia como la opción de ingesta equilibrada o estricta. Se devuelve un error cuando se crea la regla ILM.
  • x-amz-tagging

  • 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:

Encabezados de solicitud no admitidos

Los siguientes encabezados de solicitud no son compatibles:

  • x-amz-acl

  • x-amz-sdk-checksum-algorithm

  • x-amz-trailer

  • x-amz-website-redirect-location

    El x-amz-website-redirect-location el encabezado regresa XNotImplemented .

Opciones de clase de almacenamiento

El x-amz-storage-class Se admite el encabezado de solicitud. El valor presentado para x-amz-storage-class afecta la forma en que StorageGRID protege los datos de los objetos durante la ingesta y no la cantidad de copias persistentes del objeto que se almacenan en el sistema StorageGRID (lo cual está determinado por ILM).

Si la regla ILM que coincide con un objeto ingerido utiliza la opción Ingesta estricta, x-amz-storage-class El encabezado no tiene efecto.

Los siguientes valores se pueden utilizar para x-amz-storage-class :

  • STANDARD(Por defecto)

    • Confirmación dual: si la regla ILM especifica la opción de confirmación dual para el comportamiento de ingesta, tan pronto como se ingiere un objeto, se crea una segunda copia de ese objeto y se distribuye a un nodo de almacenamiento diferente (confirmación dual). Cuando se evalúa el ILM, StorageGRID determina si estas copias provisionales iniciales satisfacen las instrucciones de ubicación de la regla. De lo contrario, es posible que sea necesario realizar nuevas copias de objetos en ubicaciones diferentes y eliminar las copias provisionales iniciales.

    • Equilibrado: si la regla ILM especifica la opción Equilibrado y StorageGRID no puede realizar inmediatamente todas las copias especificadas en la regla, StorageGRID realiza dos copias provisionales en diferentes nodos de almacenamiento.

      Si StorageGRID puede crear inmediatamente todas las copias de objetos especificadas en la regla ILM (ubicación sincrónica), x-amz-storage-class El encabezado no tiene ningún efecto.

  • REDUCED_REDUNDANCY

    • Confirmación dual: si la regla ILM especifica la opción de Confirmación dual para Comportamiento de ingesta, StorageGRID crea una única copia provisional a medida que se ingiere el objeto (confirmación única).

    • Equilibrado: si la regla ILM especifica la opción Equilibrado, StorageGRID realiza una única copia provisional solo si el sistema no puede realizar inmediatamente todas las copias especificadas en la regla. Si StorageGRID puede realizar la colocación sincrónica, este encabezado no tiene ningún efecto. El REDUCED_REDUNDANCY Esta opción se utiliza mejor cuando la regla ILM que coincide con el objeto crea una única copia replicada. En este caso se utiliza REDUCED_REDUNDANCY Elimina la creación y eliminación innecesarias de una copia de objeto adicional para cada operación de ingesta.

    Usando el REDUCED_REDUNDANCY Esta opción no se recomienda en otras circunstancias. REDUCED_REDUNDANCY aumenta el riesgo de pérdida de datos de objetos durante la ingesta. Por ejemplo, podría perder datos si la copia única se almacena inicialmente en un nodo de almacenamiento que falla antes de que pueda ocurrir la evaluación de ILM.

Precaución Tener solo una copia replicada por un período de tiempo determinado pone los datos en riesgo de pérdida permanente. Si solo existe una copia replicada de un objeto, ese objeto se pierde si un nodo de almacenamiento falla o tiene un error significativo. También perderá temporalmente el acceso al objeto durante procedimientos de mantenimiento, como actualizaciones.

Especificando REDUCED_REDUNDANCY Sólo afecta la cantidad de copias que se crean cuando se ingiere un objeto por primera vez. No afecta la cantidad de copias del objeto que se realizan cuando las políticas ILM activas evalúan el objeto y no hace que los datos se almacenen en niveles inferiores de redundancia en el sistema StorageGRID .

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.

Encabezados de solicitud para el cifrado del lado del servidor

Puede utilizar los siguientes encabezados de solicitud para cifrar un objeto con cifrado del lado del servidor. Las opciones SSE y SSE-C son mutuamente excluyentes.

  • SSE: utilice el siguiente encabezado si desea cifrar el objeto con una clave única administrada por StorageGRID.

  • SSE-C: utilice estos tres encabezados si desea cifrar el objeto con una clave única que usted proporcione y administre.

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

    • x-amz-server-side-encryption-customer-key:Especifique su clave de cifrado para el nuevo objeto.

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

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" .
Nota Si un objeto está cifrado con SSE o SSE-C, se ignoran todas las configuraciones de cifrado a nivel de bucket o de cuadrícula.

Control de versiones

Si el control de versiones está habilitado para un bucket, se creará un único versionId Se genera automáticamente para la versión del objeto que se está almacenando. Este versionId También se devuelve en la respuesta utilizando el x-amz-version-id encabezado de respuesta.

Si se suspende el control de versiones, la versión del objeto se almacena con un valor nulo. versionId y si ya existe una versión nula, se sobrescribirá.

Cálculos de firma para el encabezado de autorización

Al utilizar el Authorization encabezado para autenticar solicitudes, StorageGRID se diferencia de AWS de las siguientes maneras:

  • StorageGRID no requiere host encabezados que se incluirán dentro CanonicalHeaders .

  • StorageGRID no requiere Content-Type para ser incluido dentro CanonicalHeaders .

  • StorageGRID no requiere x-amz-* encabezados que se incluirán dentro CanonicalHeaders .

Nota Como práctica recomendada general, incluya siempre estos encabezados dentro CanonicalHeaders para garantizar que se verifiquen; sin embargo, si excluye estos encabezados, StorageGRID no devuelve un error.