Les objets stockés dans Object Storage Service (OSS) se composent d'une clé, de données et de métadonnées. Les métadonnées décrivent les propriétés d'un objet et incluent des en-têtes HTTP standard ainsi que des métadonnées définies par l'utilisateur. Configurez des en-têtes HTTP standard pour personnaliser les politiques de requête HTTP, telles que la politique de mise en cache ou la politique de téléchargement forcé. Définissez également des métadonnées personnalisées pour identifier l'objectif ou d'autres caractéristiques d'un objet.
Important
Dans le kit de développement logiciel (SDK) Ruby, les métadonnées d'objet sont représentées par un
Hash. Les clés et les valeurs sont de typeString.Les métadonnées d'objet figurent dans les en-têtes HTTP. Le protocole HTTP spécifie que les en-têtes de requête ne peuvent pas contenir de caractères complexes. Les métadonnées doivent uniquement comporter des caractères ASCII simples et visibles, et ne peuvent pas inclure de sauts de ligne.
La taille totale de toutes les métadonnées ne doit pas dépasser 8 Ko.
Définir les métadonnées d'objet
Utilisez le code suivant pour définir les métadonnées d'objet lors du chargement d'un objet.
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'})
Modifier les métadonnées d'objet
Utilisez le code suivant pour modifier les métadonnées d'objet.
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'})
Références
Pour plus d'informations sur la définition des métadonnées d'objet lors d'un chargement simple, consultez l'opération API PutObject.
Pour plus d'informations sur la modification des métadonnées d'objet lors de la copie d'un objet, consultez l'opération API CopyObject.