Los objetos almacenados en Object Storage Service (OSS) contienen una clave, datos y metadatos. Los metadatos describen las propiedades de un objeto e incluyen encabezados HTTP estándar y metadatos definidos por el usuario. Establezca los encabezados HTTP estándar para personalizar las políticas de solicitudes HTTP, como la política de caché o la política de descarga forzada del objeto. También puede definir metadatos personalizados para identificar la finalidad u otras propiedades del objeto.
Importante
En el kit de desarrollo de software (SDK) de Ruby, los metadatos del objeto se representan mediante un
Hash. Las claves y los valores son de tipoString.Los metadatos del objeto se incluyen en los encabezados HTTP. El protocolo HTTP especifica que los encabezados de solicitud no pueden contener caracteres complejos. Los metadatos solo admiten caracteres ASCII simples y visibles, y no deben incluir saltos de línea.
El tamaño total de todos los metadatos no debe superar los 8 KB.
Configuración de metadatos de objetos
Utilice el siguiente código para configurar los metadatos del objeto al cargarlo.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Specify the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name. Example: examplebucket.
bucket = client.get_bucket('examplebucket')
# Set object metadata during a simple upload.
bucket.put_object(
'my-object-1',
:file => 'local-file',
:metas => {'year' => '2016', 'people' => 'mary'})
# Set object metadata during an append upload.
bucket.append_object(
'my-object-2', 0,
:file => 'local-file',
:metas => {'year' => '2016', 'people' => 'mary'})
# Set object metadata during a resumable upload.
bucket.resumable_upload(
'my-object',
'local-file',
:metas => {'year' => '2016', 'people' => 'mary'})
Modificación de metadatos de objetos
Utilice el siguiente código para modificar los metadatos del objeto.
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Specify the endpoint of the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Obtain access credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Specify the bucket name. Example: examplebucket.
bucket = client.get_bucket('examplebucket')
# Modify the object metadata.
bucket.update_object_metas('my-object', {'year' => '2017'})
Referencias
Para obtener más información sobre cómo configurar los metadatos de un objeto durante una carga simple, consulte la operación de API PutObject.
Para obtener más información sobre cómo modificar los metadatos de un objeto al copiarlo, consulte la operación de API CopyObject.