Metadatos de objeto

En esta página, se analizan los campos de metadatos que se almacenan junto con objetos en Cloud Storage. Para obtener más información sobre cómo visualizar y configurar metadatos en objetos, consulta Visualiza y edita metadatos de objetos.

Introducción

Los objetos almacenados en Cloud Storage tienen metadatos asociados a ellos. Los metadatos identifican las propiedades del objeto y especifican cómo se debe controlar al objeto cuando se accede a él. Los metadatos existen como pares clave-valor. Por ejemplo, la clase de almacenamiento de un objeto se representa mediante la entrada de metadatos storageClass:STANDARD. storageClass es la clave para los metadatos. Todos los objetos tienen una clave similar asociada. STANDARD especifica el valor que tiene este objeto en particular y el valor varía de objeto a objeto.

La mutabilidad de los metadatos varía: a algunos metadatos los puedes editar en cualquier momento, a algunos los puedes configurar solo en el momento en el que se crean y a otros solo los puedes visualizar. Por ejemplo, puedes editar el valor de los metadatos Cache-Control en cualquier momento, pero solo puedes asignar los metadatos storageClass cuando se crea o se reescribe el objeto y no puedes editar de forma directa el valor de los metadatos generation, aunque el valor de generation cambia cuando se reemplaza el objeto.

Metadatos editables

Existen las siguientes categorías de metadatos que los usuarios pueden cambiar por objetos:

  • Metadatos de clave fija: metadatos en los que las claves están configuradas, pero puedes especificar un valor para ellos.

  • Metadatos personalizados: metadatos que agregas cuando especificas una clave y un valor asociado con la clave.

Cuando editas metadatos, debes evitar caracteres que no sean ASCII debido a que no están permitidos en los encabezados HTTP que usa la API de XML. Cuando usas la API de XML, también existe un límite de 16 KB para el tamaño combinado de los encabezados HTTP y la URL de solicitud, debes tener en cuenta este límite para el tamaño total de tus metadatos.

Metadatos de clave fija

Puedes editar los metadatos siguientes para los objetos, aunque debes tener permiso suficiente si quieres hacerlo:

Metadatos de control de acceso

Cloud Storage usa administración de identidades y accesos (IAM) y listas de control de acceso (LCA) para controlar el acceso a los objetos. Usa estos vínculos para obtener más información sobre estos métodos de control de acceso y metadatos asociados.

Cache-Control

Los metadatos Cache-Control pueden especificar dos aspectos diferentes de cómo se entregan los datos de Cloud Storage: si los datos se pueden almacenar en caché y si se pueden transformar.

Almacena datos en caché

Los metadatos Cache-Control te permiten controlar si las cachés del navegador y de Internet pueden almacenar en caché tus objetos y durante cuánto tiempo pueden hacerlo. Luego estos objetos se pueden entregar para satisfacer solicitudes futuras. Cache-Control solo se aplica cuando se accede a objetos que tienen las siguientes características:

Configurar el valor de Cache-Control en public implica que el objeto se puede almacenar en caché en cualquier ubicación. Configurar el valor en private implica que el objeto se puede almacenar en la caché local de un solicitante. Configurar el valor en no-cache implica que el objeto se puede almacenar en caché, pero no se puede usar para satisfacer solicitudes futuras, a menos que primero se valide mediante Cloud Storage.

También puedes agregar un valor de max-age=[TIME_IN_SECONDS] a los metadatos Cache-Control. El valor max-age indica el período en el que un objeto se puede almacenar en caché antes de que se considere inactivo. Los objetos inactivos no se entregan desde memorias caché, excepto en circunstancias especiales.

Si un objeto aplicable no tiene una entrada de metadatos Cache-Control, Cloud Storage usa el valor predeterminado de public, max-age=3600 en las respuestas que entregan el objeto.

Si permites que se almacene en caché, las descargas pueden continuar recibiendo versiones anteriores de un objeto, incluso después de subir una versión más nueva. Esto se debe a que la versión anterior permanece “activa” en la memoria caché durante un período determinado por el max-age. Además, debido a que los objetos se pueden almacenar en caché en varias ubicaciones de Internet, no hay manera de forzar el vencimiento de un objeto almacenado en caché de forma global. Si quieres evitar que se entreguen versiones almacenadas en caché de objetos que se pueden leer de forma pública, configura Cache-Control:no-cache, max-age=0 en el objeto.

Transforma datos

Los metadatos Cache-Control también te permiten entregar objetos como están almacenados, sin aplicar ninguna transformación a los datos, como quitar la codificación de contenido gzip para los clientes que no son compatibles. Para entregar un objeto tal como es, configura Cache-Control:no-transform.

Content-Disposition

Los metadatos Content-Disposition especifican información de presentación de los datos que se transmiten. La configuración Content-Disposition te permite controlar el estilo de presentación del contenido, por ejemplo, determinar si un adjunto se debe mostrar de forma automática o si se requiere que el usuario realice alguna acción para abrirlo. Consulta https://tools.ietf.org/html/rfc6266 para ver la especificación Content-Disposition.

Content-Encoding

Los metadatos Content-Encoding se pueden usar para indicar que un objeto está comprimido y, al mismo tiempo, mantener el Content-Type subyacente del objeto. Por ejemplo, para un archivo de texto comprimido en gzip, el hecho de que es un archivo de texto se puede indicar en Content-Type y en Content-Encoding, se puede indicar que está comprimido en gzip. Te debes asegurar de que los archivos se compriman con el Content-Encoding especificado antes de subirlos, de lo contrario, puede ocurrir un comportamiento inesperado cuando se intenten descargar los objetos. Para obtener más información, consulta la página de transcodificación.

Para el contenido que se puede comprimir, como el texto, el uso de Content-Encoding: gzip ahorra costos de red y almacenamiento, y mejora el rendimiento de la entrega del contenido. Sin embargo, para el contenido ya comprimido de manera inherente, como los archivos y muchos formatos de contenido multimedia, aplicar otro nivel de compresión y marcarlo en los metadatos Content-Encoding suele ser perjudicial para el tamaño y el rendimiento del objeto, por lo que debe evitarse.

Content-Language

Los metadatos Content-Language indican los lenguajes para los que está destinado el objeto. Consulta los códigos de lenguajes ISO 639-1 para ver los valores admitidos de estos metadatos.

Content-Type

Los metadatos que se configuran con mayor frecuencia son Content-Type (también conocidos como tipo de medio), que permiten que los navegadores procesen el objeto de forma adecuada. Todos los objetos tienen un valor especificado en sus metadatos Content-Type, pero este valor no tiene que coincidir con el tipo subyacente del objeto. Por ejemplo, si quien lo sube no especifica el Content-Type y este no se puede determinar, se configura en application/octet-stream o application/x-www-form-urlencoded, según cómo subiste el objeto. Consulta la página Tipos de medios IANA para obtener una lista de los tipos de contenido válidos.

Metadatos personalizados

Los metadatos personalizados son metadatos que puedes agregar o quitar. Para crear metadatos personalizados, tienes que especificar un valor y una clave. Una vez que hayas creado un par de metadatos personalizados key:value, puedes borrar la clave o cambiar el valor.

En la página Visualiza y edita metadatos, se incluye información sobre cómo configurar metadatos personalizados. Ten en cuenta que el uso de metadatos personalizados genera costos de red y almacenamiento.

Metadatos no editables

Algunos metadatos no se pueden editar directamente. Estos metadatos se configuran al momento de la creación o de la reescritura del objeto. Como parte de la creación o la reescritura del objeto, puedes configurar algunos de estos metadatos, como la clase de almacenamiento del objeto o las claves de encriptación proporcionadas por el cliente. Otros metadatos se agregan de forma automática y solo se pueden visualizar, como el número de generación del objeto o la fecha de creación.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.