全部產品
Search
文件中心

Object Storage Service:Ruby管理檔案中繼資料

更新時間:Feb 28, 2024

Object Storage Service儲存的檔案(Object)資訊包含Key、Data和Object Meta。Object Meta是對檔案的屬性描述,包括HTTP標準屬性(HTTP Header)和使用者自訂中繼資料(User Meta)兩種。您可以通過設定HTTP標準屬性來自訂HTTP請求的策略,例如檔案(Object)緩衝策略、強制下載策略等。您還可以通過設定使用者自訂中繼資料來標識Object的用途或屬性等。

注意事項

  • 在Ruby SDK中,檔案中繼資料用Hash來表示,其他key和value均為String類型。

  • 檔案中繼資料會附在HTTP Headers中,而HTTP協議規定要求標頭部不能包含複雜字元,中繼資料只能是簡單的ASCII可見字元且不能包含換行。

  • 所有中繼資料的總大小不能超過8 KB。

設定檔案中繼資料

以下代碼用於上傳檔案時設定檔案中繼資料。

require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
  # 填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)

# 填寫Bucket名稱,例如examplebucket。
bucket = client.get_bucket('examplebucket')

# 簡單上傳時設定檔案中繼資料。
bucket.put_object(
  'my-object-1',
  :file => 'local-file',
  :metas => {'year' => '2016', 'people' => 'mary'})

# 追加上傳時設定檔案中繼資料。
bucket.append_object(
  'my-object-2', 0,
  :file => 'local-file',
  :metas => {'year' => '2016', 'people' => 'mary'})

# 斷點續傳上傳時設定檔案中繼資料。
bucket.resumable_upload(
  'my-object',
  'local-file',
  :metas => {'year' => '2016', 'people' => 'mary'})          

修改檔案中繼資料

以下代碼用於修改檔案中繼資料。

require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
  # 填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
   # 從環境變數中擷取訪問憑證。運行本程式碼範例之前,請確保已設定環境變數OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)

# 填寫Bucket名稱,例如examplebucket。
bucket = client.get_bucket('examplebucket')
# 修改檔案中繼資料。
bucket.update_object_metas('my-object', {'year' => '2017'})            

相關文檔

  • 關於在簡單上傳過程中設定檔案中繼資料的API介面說明,請參見PutObject

  • 關於在拷貝檔案過程中修改檔案中繼資料的API介面說明,請參見CopyObject