详情页标题前

阿里云对象存储OSSAndroid列举存储空间-云淘科技

详情页1

存储空间(Bucket)是用来存储对象(Object)的容器。对象都隶属于存储空间。存储空间按照字母顺序排列。您可以列举当前账号所有地域下符合指定条件的存储空间。

注意事项

初始化ossClient用于列举存储空间时,需要通过以下方法初始化ossClient:

// 填写STS应用服务器地址,例如http://example.com。
String stsServer = "http://example.com";
// 推荐使用OSSAuthCredentialsProvider,确保token过期时自动更新。
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

列举所有存储空间

以下代码用于列举当前账号所有地域下的存储空间。

// 填写STS应用服务器地址,例如http://example.com。
String stsServer = "http://example.com";
// 推荐使用OSSAuthCredentialsProvider,确保token过期时自动更新。
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

// 列举当前账号所有地域下的存储空间。
ListBucketsRequest request = new ListBucketsRequest();
ossClient.asyncListBuckets(request, new OSSCompletedCallback() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            OSSLog.logDebug("name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // 请求异常。
        if (clientException != null) {
            // 客户端异常,例如网络异常等。
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // 服务端异常。
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

列举指定前缀的存储空间

以下代码用于列举当前账号所有地域下以example为前缀(prefix)的存储空间。

// 填写STS应用服务器地址,例如http://example.com。
String stsServer = "http://example.com";
// 推荐使用OSSAuthCredentialsProvider,确保token过期时自动更新。
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// 列举当前账号所有地域下前缀为example的存储空间。
request.setPrefix("example");
ossClient.asyncListBuckets(request, new OSSCompletedCallback() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            OSSLog.logDebug("name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // 请求异常。
        if (clientException != null) {
            // 客户端异常,例如网络异常等。
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // 服务端异常。
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

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

以下代码用于列举当前账号所有地域下名称的字母序排在examplebucket之后的存储空间。

// 填写STS应用服务器地址,例如http://example.com。
String stsServer = "http://example.com";
// 推荐使用OSSAuthCredentialsProvider,确保token过期时自动更新。
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// 列举当前账号所有地域下名称的字母序排在examplebucket之后的存储空间。
request.setMarker("examplebucket");
ossClient.asyncListBuckets(request, new OSSCompletedCallback() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            OSSLog.logDebug("name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // 请求异常。
        if (clientException != null) {
            // 客户端异常,例如网络异常等。
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // 服务端异常。
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

列举指定个数的存储空间

以下代码用于列举当前账号所有地域下的存储空间,并指定列举的最大个数为500。

// 填写STS应用服务器地址,例如http://example.com。
String stsServer = "http://example.com";
// 推荐使用OSSAuthCredentialsProvider,确保token过期时自动更新。
OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer);
ClientConfiguration config = new ClientConfiguration();
OSSClient ossClient = new OSSClient(getApplicationContext(), credentialProvider, config);

ListBucketsRequest request = new ListBucketsRequest();
// 列举当前账号所有地域下的存储空间,限定此次列举存储空间的最大个数为500。默认值为100,最大值为1000。
request.setMaxKeys(500);
ossClient.asyncListBuckets(request, new OSSCompletedCallback() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            OSSLog.logDebug("name: " + buckets.get(i).name + " "
                    + "location: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // 请求异常。
        if (clientException != null) {
            // 客户端异常,例如网络异常等。
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // 服务端异常。
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

相关文档

  • 关于列举存储空间的完整示例代码,请参见GitHub示例。
  • 关于列举存储空间的API接口说明,请参见ListBuckets(GetService)。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158380.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSPHP初始化-云淘科技

    OssClient是OSS的PHP客户端,用于管理存储空间和文件等OSS资源。 新建OssClient 说明 新建OSSClient时,需要指定Endpoint。关于Endpoint的更多信息,请参见访问域名和数据中心。 您可以通过以下多种方式新建OSSClient。 使用OSS域名新建OssClient 以下代码用于使用OSS域名新建OSSClient。 …

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSiOS创建存储空间-云淘科技

    存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。本文介绍如何创建存储空间。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以OSS域名新建OSS…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS时序库(MetricStore)-云淘科技

    时序库(MetricStore)是日志服务中时序数据的采集、存储和查询单元。 每个MetricStore隶属于一个Project,每个Project中可创建多个MetricStore。您可以根据实际需求为某个项目创建多个MetricStore,一般是为不同类型的时序数据创建不同的MetricStore。例如您需要采集基础主机监控数据、云服务监控数据、业务应用…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云RDS数据库数据库自治服务DAS简介-云淘科技

    数据库自治服务DAS(Database Autonomy Service),是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。 说明 您可以在控制台实例列表页面单击性能大盘访问DAS控制台。 功能介绍 RDS MySQL的自治服务…

    阿里云数据库 2023年12月9日
  • 在大数据计算MaxCompute有碰到不同的字段顺序,存储大小差很多的例子吗?-云小二-阿里云

    在大数据计算MaxCompute有碰到不同的字段顺序,存储大小差很多的例子吗?

    阿里云 2023年12月20日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。