Trabajar con metadatos de objeto - Amazon Simple Storage Service

Trabajar con metadatos de objeto

Existen dos tipos de metadatos de objeto en Amazon S3: metadatos definidos por el sistema y metadatos definidos por el usuario. Los metadatos definidos por el sistema incluyen metadatos como la fecha de creación del objeto, el tamaño y la clase de almacenamiento. Los metadatos definidos por el usuario son metadatos que puede elegir establecer en el momento de cargar un objeto. Estos metadatos definidos por el usuario son un conjunto de pares nombre-​valor. Para obtener más información, consulte Metadatos de objetos definidos por el sistema y Metadatos de objetos definidos por el usuario.

Cuando crea un objeto, especifica la clave de objeto (o nombre de clave), que identifica de forma única el objeto en un bucket de Amazon S3. Para obtener más información, consulte Denominación de objetos de Amazon S3. También puede establecer metadatos definidos por el usuario en Amazon S3 en el momento en que carga el objeto.

Después de cargar el objeto, no puede modificar estos metadatos definidos por el usuario. La única manera de modificar estos metadatos de un objeto es realizar una copia del mismo y configurar los metadatos. Para obtener más información sobre cómo editar metadatos mediante la consola de Amazon S3, consulte Edición de metadatos de objeto en la consola de Amazon S3.

Consulta de los metadatos y aceleración del descubrimiento de datos con Metadatos de S3

Para encontrar, almacenar y consultar fácilmente los metadatos de los objetos de S3, puede utilizar Metadatos de S3. Con Metadatos de S3, puede preparar rápidamente datos para usarlos en análisis empresariales, recuperación de contenido, entrenamiento de modelos de inteligencia artificial y machine learning (AI/ML), etc.

Metadatos de S3 acelera el descubrimiento de datos al capturar automáticamente metadatos para los objetos en los buckets de uso general y almacenarlos en tablas de Apache Iceberg de solo lectura, totalmente administradas y que usted puede consultar. Estas tablas de solo lectura se denominan tablas de metadatos. A medida que se agregan, actualizan y eliminan objetos de los buckets de uso general, Metadatos de S3 actualiza automáticamente las tablas de metadatos correspondientes para reflejar los últimos cambios.

De forma predeterminada, Metadatos de S3 proporciona metadatos de objeto definidos por el sistema, como la hora de creación y la clase de almacenamiento de un objeto y metadatos personalizados, como etiquetas y metadatos definidos por el usuario que se incluyeron durante la carga del objeto. Metadatos de S3 también proporciona metadatos de eventos, por ejemplo, cuando un objeto se actualiza o elimina, y la Cuenta de AWS que ha realizado la solicitud.

Las tablas de metadatos se almacenan en buckets de tablas de S3, que proporcionan un almacenamiento optimizado para datos tabulares. Para consultar los metadatos, puede integrar el bucket de tablas con servicios de análisis de AWS, como Amazon Athena, Amazon Redshift y Amazon QuickSight.

Para obtener más información acerca de Metadatos de S3, consulte Aceleración del descubrimiento de datos con Metadatos de S3.

Metadatos de objetos definidos por el sistema

Para cada objeto almacenado en un bucket, Amazon S3 mantiene un conjunto de metadatos del sistema. Amazon S3 procesa estos metadatos del sistema según sea necesario. Por ejemplo, Amazon S3 mantiene los metadatos de fecha y tamaño de creación de objetos y esta información se utiliza como parte de la administración de objetos.

Existen dos categorías de metadatos del sistema:

  • Controlados por el sistema: los metadatos, como la fecha de creación del objeto, están controlados por el sistema, lo que significa que solo Amazon S3 puede modificar el valor de fecha.

  • Controlados por el usuario: otros metadatos de sistema, como la clase de almacenamiento configurada para el objeto y si el objeto tiene habilitado el cifrado del lado del servidor, son ejemplos de metadatos del sistema cuyos valores controla usted. Si el bucket está configurado como sitio web, a veces puede que desee redirigir una solicitud de página a otra página o URL externa. En este caso, una página web será un objeto en su bucket. Amazon S3 almacena el valor de redirección de la página como metadatos del sistema cuyo valor controla usted.

    Al crear objetos, puede configurar los valores de estos elementos de metadatos del sistema o actualizar los valores cuando lo necesite. Para obtener más información acerca de las clases de almacenamiento, consulte Descripción y administración de clases de almacenamiento de Amazon S3.

    Amazon S3 utiliza claves de AWS KMS para cifrar sus objetos de Amazon S3. AWS KMS cifra únicamente los datos del objeto. La suma de comprobación y el algoritmo especificado se almacenan como parte de los metadatos del objeto. Si se solicita el cifrado del lado del servidor para el objeto, la suma de comprobación se almacena de forma cifrada. Para obtener más información acerca del cifrado del lado del servidor, consulte Protección de los datos mediante el cifrado.

nota

El encabezado de las solicitudes PUT está limitado a un tamaño de 8 KB. En el encabezado de la solicitud PUT, los metadatos definidos por el sistema están limitados a un tamaño de 2 KB. El tamaño de los metadatos definidos por el sistema se mide con la suma del número de bytes de la codificación US-ASCII en cada clave y valor.

En la siguiente tabla se facilita una lista de metadatos definidos por el sistema y si puede actualizarlos.

Nombre Descripción ¿El usuario puede modificar el valor?
Date Fecha y hora actuales. No
Cache-Control Campo de encabezado general utilizado para especificar políticas de almacenamiento en caché.
Content-Disposition Información de presentación de objetos.
Content-Length Tamaño del objeto en bytes. No
Content-Type El tipo de objeto.
Last-Modified

Fecha de creación del objeto o última fecha de modificación, la que sea posterior. Para las cargas multiparte, la fecha de creación del objeto es la fecha de inicio de la carga multiparte.

No
ETag Etiqueta de entidad (ETag) que representa una versión específica de un objeto. Para los objetos que no se cargan como una carga multiparte y que no se cifraron o se cifraron mediante el cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3), ETag es un resumen MD5 de los datos. No
x-amz-server-side-encryption Encabezado que indica si se ha habilitado el cifrado del lado del servidor para el objeto y si dicho cifrado utiliza las claves de AWS Key Management Service (AWS KMS) (SSE-KMS) o claves de cifrado administrado por Amazon S3 (SSE-S3). Para obtener más información, consulte Protección de los datos con el cifrado del servidor.
x-amz-checksum-crc64nvme, x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, x-amz-checksum-sha256 Encabezados que contienen la suma de comprobación o resumen del objeto. Como mucho, se configurará uno de estos encabezados a la vez, dependiendo del algoritmo de suma de comprobación que se indique a Amazon S3 que utilice. Para obtener más información sobre cómo elegir el algoritmo de suma de comprobación, consulte Comprobación de la integridad de objetos en Amazon S3. No
x-amz-checksum-type El tipo de suma de comprobación, que determina cómo se combinan las sumas de comprobación en el nivel de parte para crear una suma de comprobación en el nivel de objeto para objetos multiparte.
x-amz-version-id Versión del objeto. Si activa el control de versiones en un bucket, Amazon S3 asigna un ID de versión a los objetos que se añades al bucket. Para obtener más información, consulte Retención de varias versiones de objetos con Control de versiones de S3. No
x-amz-delete-marker Marcador booleano que indica si el objeto es un marcador de eliminación. Este marcador solo se usa en los buckets que tienen habilitado el control de versiones, No
x-amz-storage-class Clase de almacenamiento utilizada para almacenar el objeto. Para obtener más información, consulte Descripción y administración de clases de almacenamiento de Amazon S3.
x-amz-website-redirect-location Encabezado que redirige las solicitudes del objeto asociado hacia otro objeto del mismo bucket o hacia una URL externa. Para obtener más información, consulte (Opcional) Configuración del redireccionamiento de páginas web.
x-amz-server-side-encryption-aws-kms-key-id Encabezado que indica el ID de la clave KMS de cifrado simétrico AWS KMS que se usó para cifrar el objeto. Este encabezado se usa solo cuando el encabezado x-amz-server-side-encryption está presente y tiene el valor aws:kms.
x-amz-server-side-encryption-customer-algorithm Encabezado que indica si se ha habilitado el cifrado del lado del servidor con claves de cifrado proporcionadas por el cliente (SSE-C). Para obtener más información, consulte Uso de cifrado en el lado del servidor con claves proporcionadas por el cliente (SSE-C).
x-amz-tagging El conjunto de etiquetas del objeto. El conjunto de etiquetas debe codificarse como parámetros de consulta de URL.

Metadatos de objetos definidos por el usuario

Al cargar un objeto, también puede asignar metadatos al objeto. Esta información opcional se facilita como par nombre-valor (clave-valor) al enviar una solicitud PUT o POST para crear el objeto. Cuando se cargan objetos con la API de REST, los nombres opcionales de metadatos definidos por el usuario deben comenzar con “x-amz-meta-” para distinguirlos de otros encabezados HTTP. Al recuperar el objeto con la API de REST, se devuelve este prefijo. Cuando carga objetos con la API SOAP, no es necesario el prefijo. Al recuperar el objeto con la API SOAP, el prefijo se elimina, independientemente de qué API se haya usado para cargar el objeto.

nota

La compatibilidad con SOAP por HTTP está obsoleta, pero SOAP aún se encuentra disponible con HTTPS. Las características nuevas de Amazon S3 no son compatibles con SOAP. En vez de usar SOAP, le recomendamos que utilice la API de REST o los SDK de AWS.

Cuando se recuperan metadatos con la API de REST, Amazon S3 combina encabezados que tengan el mismo nombre (sin tener en cuenta mayúsculas y minúsculas) en una lista delimitada por comas. Si algunos metadatos contienen caracteres no imprimibles, no se devuelven. En su lugar, se devuelve el encabezado x-amz-missing-meta con el número de entradas de metadatos no imprimibles como valor. La acción HeadObject recupera metadatos de un objeto sin devolver el objeto en sí. Esta operación es útil si solo está interesado en los metadatos de un objeto. Para utilizar HEAD, debe tener acceso READ al objeto. Para obtener más información, consulte el tema sobre el objeto Head en la referencia de la API de Amazon Simple Storage Service.

Los metadatos definidos por el usuario son un conjunto de pares clave-valor. Amazon S3 almacena las claves de metadatos definidos por el usuario en minúsculas.

Amazon S3 permite caracteres Unicode arbitrarios en los valores de metadatos.

Para evitar problemas relacionados con la presentación de estos valores de metadatos, debe cumplir con el uso de caracteres US-ASCII al utilizar REST y UTF-8 al utilizar SOAP o cargas basadas en navegador a través de POST.

Cuando utilice caracteres que no sean US-ASCII en los valores de metadatos, se examina la cadena Unicode proporcionada en busca de caracteres que no sean US-ASCII. Los valores de dichos encabezados se decodifican por caracteres según la RFC 2047 antes de almacenarse y codificarse según la RFC 2047 para que sean seguros para enviarlos por correo antes de devolverlos. Si la cadena contiene solo caracteres US-ASCII, se presenta tal cual.

A continuación se muestra un ejemplo.

PUT /Key HTTP/1.1 Host: amzn-s3-demo-bucket.s3.amazonaws.com x-amz-meta-nonascii: ÄMÄZÕÑ S3 HEAD /Key HTTP/1.1 Host: amzn-s3-demo-bucket.s3.amazonaws.com x-amz-meta-nonascii: =?UTF-8?B?w4PChE3Dg8KEWsODwpXDg8KRIFMz?= PUT /Key HTTP/1.1 Host: amzn-s3-demo-bucket.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3 HEAD /Key HTTP/1.1 Host: amzn-s3-demo-bucket.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3
nota

El encabezado de las solicitudes PUT está limitado a un tamaño de 8 KB. En el encabezado de la solicitud PUT, los metadatos definidos por el usuario están limitados a un tamaño de 2 KB. El tamaño de los metadatos definidos por el usuario se mide sumando el número de bytes de la codificación UTF-8 en cada clave y valor.

Si quiere obtener información para cambiar los metadatos del objeto después de que se haya cargado mediante la creación de una copia del objeto, la modificación y la sustitución del objeto anterior o la creación de una nueva versión, consulte Edición de metadatos de objeto en la consola de Amazon S3.