このセクションでは、 バケットリストとオブジェクトリストの表示、オブジェクトのアップロード、ダウンロード、および削除を含む、OSS Ruby SDKを使用してOSSサービスにアクセスする方法について説明します。使用上の便宜のため、以下の操作はRubyの対話型コマンドラインインタフェース(CLI)である irb
で実行されます。
クライアントを初期化する
CLIに次の内容を入力し、 Enterキーを押します。
irb
Rubyの対話型CLIモードに入ります。require
でSDKパッケージを宣言してください:
> require 'aliyun/oss'
=> true
注意:次のデモンストレーションでは、
> 'はユーザーが入力するコマンドを紹介し、
=> `はプログラムによって返される内容を示します。
次のコマンドを実行してOSSClientを作成します。
> client = Aliyun::OSS::Client.new(
> endpoint: 'endpoint',
> access_key_id: 'AccessKeyId',
> access_key_secret: 'AccessKeySecret')
=> #<Aliyun::OSS::Client...
実際のエンドポイント、AccessKeyIDおよびAccessKeySecretでパラメーターに置き換えます。
バケットリストの表示
次のコマンドを実行してバケットリストを表示します。
> buckets = client.list_buckets
=> #<Enumerator...
> buckets.each { |b| puts b.name }
=> bucket-1
=> bucket-2
=> ...
バケットリストが空の場合は、次のコマンドを実行してバケットを作成します。
> client.create_bucket('my-bucket')
=> true
注意:
バケットの命名規則は、OSS の概要を参照してください。
バケット名は、バケットのOSSで他のユーザーと同じ名前にすることはできません。バケット正常に作成するには、ユニークなバケット名を選択する必要があります。
オブジェクトリストの表示
次のコマンドを実行すると、 バケット内のオブジェクトを表示できます。
> bucket = client.get_bucket('my-bucket')
=> #<Aliyun::OSS::Bucket...
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> object-1
=> object-2
=> ...
オブジェクトをアップロードする
次のコマンドを実行すると、ファイルをバケットにアップロードできます。
> bucket.put_object('my-object', :file => 'local-file')
=> true
具体的には、 local-file
はアップロードされるローカルファイルへのパスを示します。ファイルがアップロードされると、 list_objects
を使って見ることができます:
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> my-object
=> ...
オブジェクトをダウンロードする
次のコマンドを実行すると、 バケットからオブジェクトをダウンロードできます。
> bucket.get_object('my-object', :file => 'local-file')
=> #<Aliyun::OSS::Object...
具体的には、 local-file
はダウンロードしたオブジェクトへのパスです。オブジェクトをダウンロードした後、オブジェクトを開いてコンテンツを表示できます。
オブジェクトを削除する
次のコマンドを実行すると、 バケットからオブジェクトを削除できます。
> bucket.delete_object('my-object')
=> true
削除した後は、オブジェクトが正常に削除されたかどうかをチェックするためにlist_objects
を実行することもできますバケット 。
> objects = bucket.list_objects
=> #<Enumerator...
> objects.each { |obj| puts obj.key }
=> object-1
=> ...