このトピックでは、Object Storage Service (OSS) の Ruby SDK を使用して、バケットの作成、オブジェクトのアップロード、オブジェクトのダウンロードなどの基本的な操作を実行する方法について説明します。
バケットの作成
バケットは OSS のグローバルな名前空間です。バケットはオブジェクトを格納するために使用されるコンテナーです。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# 次の例では、中国 (杭州) リージョンのエンドポイントを使用します。実際のエンドポイントに置き換えてください。
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。
client.create_bucket('examplebucket')オブジェクトのアップロード
次のコードは、examplefile.txt という名前のローカルファイルを examplebucket という名前のバケットにアップロードする方法の例を示しています。アップロードされたファイルは、OSS 内で exampleobject.txt という名前のオブジェクトとして格納されます。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# エンドポイントを設定します。この例では、中国 (杭州) リージョンを使用します。実際のリージョンに対応するエンドポイントを指定してください。
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('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')オブジェクトのダウンロード
次のコードは、examplebucket という名前のバケット内の exampleobject.txt という名前のオブジェクトを D:\localpath にダウンロードする方法の例を示しています。ダウンロードされたオブジェクトは、examplefile.txt という名前のローカルファイルとして格納されます。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# 中国 (杭州) リージョンを例として使用します。実際の値にエンドポイントを置き換えてください。
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.get_object('exampleobject.txt', :file => 'D:\\localpath\\examplefile.txt')オブジェクトのリスト化
次のサンプルコードは、examplebucket という名前のバケットに格納されているオブジェクトを一覧表示する方法の例を示しています。デフォルトでは、100 個のオブジェクトが一覧表示されます。
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')
# すべてのオブジェクトを一覧表示します。
objects = bucket.list_objects
objects.each { |o| puts o.key } オブジェクトの削除
次のコードは、指定されたオブジェクトを削除します。
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')
# オブジェクトの完全なパスを設定します。例:exampledir/exampleobject.txt。完全なパスにバケット名を含めることはできません。
bucket.delete_object('exampledir/exampleobject.txt') 関連ドキュメント
バケットの作成で呼び出すことができる API 操作の詳細については、「PutBucket」をご参照ください。
オブジェクトのアップロードで呼び出すことができる API 操作の詳細については、「PutObject」をご参照ください。
オブジェクトのダウンロードで呼び出すことができる API 操作の詳細については、「GetObject」をご参照ください。
オブジェクトのリスト化で呼び出すことができる API 操作の詳細については、「GetBucket (ListObjects)」をご参照ください。
オブジェクトの削除で呼び出すことができる API 操作の詳細については、「DeleteObject」をご参照ください。