You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
对象存储

对象存储

复制全文
下载 pdf
桶基础接口
获取桶元数据(Java SDK)
复制全文
下载 pdf
获取桶元数据(Java SDK)

桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。本文介绍如何通过 TOS Java SDK 的 headBucket 接口获取桶的元数据,包括桶所属地域(Region)和桶的存储类型(StorageClass),以及判断桶是否存在。

注意事项

  • 获取桶元数据之前,您必须具有 tos:HeadBucket 权限。具体操作,请参见权限配置概述
  • 若桶不存在则该接口会返回 404,也常用于判断桶是否存在。

示例代码

以下代码展示如何获取桶元数据及判断桶是否存在。

import com.volcengine.tos.TOSV2;
import com.volcengine.tos.TOSV2ClientBuilder;
import com.volcengine.tos.TosClientException;
import com.volcengine.tos.TosServerException;
import com.volcengine.tos.model.bucket.HeadBucketV2Input;
import com.volcengine.tos.model.bucket.HeadBucketV2Output;

public class HeadBucketExample {
    public static void main(String[] args) {
        String endpoint = "your endpoint";
        String region = "your region";
        String accessKey = System.getenv("TOS_ACCESS_KEY");
        String secretKey = System.getenv("TOS_SECRET_KEY");
        String bucketName = "your bucket name";

        TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);

        try{
            HeadBucketV2Input input = new HeadBucketV2Input().setBucket(bucketName);
            HeadBucketV2Output output = tos.headBucket(input);
            System.out.println("bucket's region is " + output.getRegion());
            System.out.println("bucket's storage class is " + output.getStorageClass());
        } catch (TosClientException e) {
            // 操作失败,捕获客户端异常,一般情况是请求参数错误,此时请求并未发送
            System.out.println("headBucket failed");
            System.out.println("Message: " + e.getMessage());
            if (e.getCause() != null) {
                e.getCause().printStackTrace();
            }
        } catch (TosServerException e) {
            // 操作失败,捕获服务端异常,可以获取到从服务端返回的详细错误信息
            System.out.println("headBucket failed");
            System.out.println("StatusCode: " + e.getStatusCode());
            System.out.println("RequestID: " + e.getRequestID());
        } catch (Throwable t) {
            // 作为兜底捕获其他异常,一般不会执行到这里
            System.out.println("headBucket failed");
            System.out.println("unexpected exception, message: " + t.getMessage());
        }
    }
}

相关文档

关于获取桶的元数据 API 文档,请参见 HeadBucket

最近更新时间:2024.02.04 18:30:53
这个页面对您有帮助吗?
有用
有用
无用
无用