Object Storage Service (OSS) に格納されているオブジェクトには、キー、データ、およびオブジェクトのメタデータが含まれます。オブジェクトのメタデータはオブジェクトのプロパティを記述するもので、標準 HTTP ヘッダーとユーザー定義メタデータが含まれます。標準 HTTP ヘッダーを設定して、オブジェクトキャッシュポリシーや強制ダウンロードポリシーなどの HTTP リクエストポリシーをカスタマイズできます。また、ユーザー定義メタデータを設定して、オブジェクトの目的やその他のプロパティを識別することもできます。
重要
Ruby SDK では、オブジェクトのメタデータは
Hashで表されます。キーと値はString型です。オブジェクトのメタデータは HTTP ヘッダーに含まれます。HTTP プロトコルでは、リクエストヘッダーに複雑な文字を含めることはできません。メタデータには、表示可能な単純な ASCII 文字のみを含めることができ、改行を含めることはできません。
すべてのメタデータの合計サイズは 8 KB を超えることはできません。
オブジェクトのメタデータの設定
次のコードを使用して、オブジェクトのアップロード時にオブジェクトのメタデータを設定できます。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを 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']
)
# バケット名を指定します。 例: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(
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを 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']
)
# バケット名を指定します。 例:examplebucket。
bucket = client.get_bucket('examplebucket')
# オブジェクトのメタデータを変更します。
bucket.update_object_metas('my-object', {'year' => '2017'}) 関連ドキュメント
シンプルアップロード時のオブジェクトのメタデータ設定の詳細については、「PutObject」 API 操作をご参照ください。
オブジェクトのコピー時のオブジェクトのメタデータ変更の詳細については、「CopyObject」 API 操作をご参照ください。