存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。本文介绍如何列举所有的存储空间、列举指定前缀(prefix)的存储空间等。

列举所有的存储空间

以下代码用于列举所有存储空间。

# -*- coding: utf-8 -*-
import oss2

# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
service = oss2.Service(auth, 'https://oss-cn-hangzhou.aliyuncs.com')

# 列举当前账号下的所有存储空间。
for b in oss2.BucketIterator(service):
    print(b.name)

列举指定前缀的存储空间

以下代码用于列举指定前缀(prefix)的存储空间:

# -*- coding: utf-8 -*-
import oss2

# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
service = oss2.Service(auth, 'https://oss-cn-hangzhou.aliyuncs.com')

# 列举前缀为test-的存储空间。
for b in oss2.BucketIterator(service, prefix='test-'):
    print(b.name)

列举指定marker之后的存储空间

以下代码用于列举examplebucket之后的存储空间。

# -*- coding: utf-8 -*-
import oss2

# 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
service = oss2.Service(auth, 'https://oss-cn-hangzhou.aliyuncs.com')

# 列举按字典序排列在test-bucket1之后的存储空间。列举结果中不包含名为test-bucket1的存储空间。
for b in oss2.BucketIterator(service, marker='test-bucket1'):
    print(b.name)

相关文档