Todos os produtos
Search
Central de documentação

Object Storage Service:Manage object metadata (Ruby SDK)

Última atualização: Sep 22, 2026

Objetos armazenados no Object Storage Service (OSS) contêm uma chave, dados e metadados de objeto. Os metadados descrevem as propriedades de um objeto e incluem cabeçalhos HTTP padrão e metadados definidos pelo usuário. Defina cabeçalhos HTTP padrão para personalizar políticas de requisição HTTP, como a política de cache do objeto ou a política de download forçado. Defina também metadados personalizados para identificar a finalidade ou outras propriedades de um objeto.

Importante

  • No SDK Ruby, os metadados de objeto são representados por um Hash. As chaves e os valores são do tipo String.

  • Os metadados de objeto fazem parte dos cabeçalhos HTTP. O protocolo HTTP determina que os cabeçalhos de requisição não podem conter caracteres complexos. Os metadados podem conter apenas caracteres ASCII simples e visíveis, sem quebras de linha.

  • O tamanho total de todos os metadados não pode exceder 8 KB.

Definir metadados de objeto

Use o código a seguir para definir metadados de objeto ao fazer upload de um 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')

# 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'})          

Modificar metadados de objeto

Use o código a seguir para modificar os metadados de um 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'})            

Referências

  • Para obter mais informações sobre como definir metadados de objeto durante um upload simples, consulte a operação de API PutObject.

  • Para obter mais informações sobre como modificar metadados de objeto ao copiar um objeto, consulte a operação de API CopyObject.