Class: Aliyun::OSS::Client
- Inherits:
-
Object
- Object
- Aliyun::OSS::Client
- Defined in:
- lib/aliyun/oss/client.rb
Overview
OSS服务的客户端,用于获取bucket列表,创建/删除bucket。Object相关的操作请使用Bucket。
Instance Method Summary collapse
-
#bucket_exists?(name) ⇒ Boolean
(also: #bucket_exist?)
判断一个bucket是否存在.
-
#create_bucket(name, opts = {}) ⇒ Object
创建一个bucket.
-
#delete_bucket(name) ⇒ Object
删除一个bucket.
-
#get_bucket(name) ⇒ Bucket
获取一个Bucket对象,用于操作bucket中的objects。.
-
#initialize(opts) ⇒ Client
constructor
构造OSS client,用于操作buckets。.
-
#list_buckets(opts = {}) ⇒ Enumerator<Bucket>
列出当前所有的bucket.
Constructor Details
#initialize(opts) ⇒ Client
构造OSS client,用于操作buckets。
43 44 45 46 47 48 |
# File 'lib/aliyun/oss/client.rb', line 43 def initialize(opts) fail ClientError, "Endpoint must be provided" unless opts[:endpoint] @config = Config.new(opts) @protocol = Protocol.new(@config) end |
Instance Method Details
#bucket_exists?(name) ⇒ Boolean Also known as: bucket_exist?
判断一个bucket是否存在
82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/aliyun/oss/client.rb', line 82 def bucket_exists?(name) exist = false begin @protocol.get_bucket_acl(name) exist = true rescue ServerError => e raise unless e.http_code == 404 end exist end |
#create_bucket(name, opts = {}) ⇒ Object
创建一个bucket
68 69 70 |
# File 'lib/aliyun/oss/client.rb', line 68 def create_bucket(name, opts = {}) @protocol.create_bucket(name, opts) end |
#delete_bucket(name) ⇒ Object
Note:
如果要删除的Bucket不为空(包含有object),则删除会失败
删除一个bucket
75 76 77 |
# File 'lib/aliyun/oss/client.rb', line 75 def delete_bucket(name) @protocol.delete_bucket(name) end |
#get_bucket(name) ⇒ Bucket
获取一个Bucket对象,用于操作bucket中的objects。
100 101 102 |
# File 'lib/aliyun/oss/client.rb', line 100 def get_bucket(name) Bucket.new({:name => name}, @protocol) end |
#list_buckets(opts = {}) ⇒ Enumerator<Bucket>
列出当前所有的bucket
56 57 58 59 60 61 62 |
# File 'lib/aliyun/oss/client.rb', line 56 def list_buckets(opts = {}) if @config.cname fail ClientError, "Cannot list buckets for a CNAME endpoint." end Iterator::Buckets.new(@protocol, opts).to_enum end |