管理存储空间
存储空间(Bucket)是OSS上的命名空间,也是计费、权限控制、日志记录等高级功能的管理实体。
查看所有Bucket
使用Client#list_buckets接口列出当前用户下的所有Bucket,用户还可以指定:prefix参数,列出Bucket名字为特定前缀的所有Bucket:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
buckets = client.list_buckets
buckets.each { |b| puts b.name }
buckets = client.list_buckets(:prefix => 'my-')
buckets.each { |b| puts b.name }
创建Bucket
使用Client#create_bucket接口创建一个Bucket,用户需要指定Bucket的名字:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
client.create_bucket('my-bucket')
[backcolor=transparent]注意:
- Bucket的命名规范请查看OSS 基本概念。
- 由于存储空间的名字是全局唯一的,所以必须保证您的Bucket名字不与别人的重复。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
client.delete_bucket('my-bucket')
[backcolor=transparent]注意:
- 如果该Bucket下还有文件存在,则需要先删除所有文件才能删除Bucket
- 如果该Bucket下还有未完成的上传请求,则需要通过list_uploads和abort_upload先取消那些请求才能删除Bucket。用法请参考API文档。
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
puts client.bucket_exists?('my-bucket')
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
bucket = client.get_bucket('my-bucket')
puts bucket.acl
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
endpoint: 'endpoint',
access_key_id: 'AccessKeyId', access_key_secret: 'AccessKeySecret')
bucket = client.get_bucket('my-bucket')
bucket.acl = Aliyun::OSS::ACL::PUBLIC_READ
puts bucket.acl
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。