存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。本文介绍如何创建存储空间。

创建存储空间时,请根据需要选择是否开启分层命名空间。

  • 创建存储空间(未开启分层命名空间)

    以下代码用于创建examplebucket存储空间,且在创建存储空间时未开启分层命名空间。

    您可以在创建存储空间时指定存储类型和存储空间读写权限。更多信息,请分别参见存储类型介绍设置存储空间读写权限(ACL)

    // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    String endpoint = "yourEndpoint";
    // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    String accessKeyId = "yourAccessKeyId";
    String accessKeySecret = "yourAccessKeySecret";
    
    // 创建OSSClient实例。
    OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    
    // 创建CreateBucketRequest对象。
    CreateBucketRequest createBucketRequest = new CreateBucketRequest("examplebucket");
    
    // 如果创建存储空间的同时需要指定存储类型、存储空间的读写权限、数据容灾类型, 请参考如下代码。
    // 此处以设置存储空间的存储类型为标准存储为例介绍。
    /createBucketRequest.setStorageClass(StorageClass.Standard);
    // 数据容灾类型默认为本地冗余存储,即DataRedundancyType.LRS。如果需要设置数据容灾类型为同城冗余存储,请设置为DataRedundancyType.ZRS。
    //createBucketRequest.setDataRedundancyType(DataRedundancyType.ZRS);
    // 设置存储空间读写权限为公共读,默认为私有。
    //createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
    
    // 创建存储空间。
    ossClient.createBucket(createBucketRequest);
    
    // 关闭OSSClient。
    ossClient.shutdown();
  • 创建存储空间(开启分层命名空间)

    存储空间开启分层命名空间后,您可以在该存储空间中进行目录相关操作,例如创建目录等。关于分层命名空间的更多信息,请参见分层命名空间

    以下代码用于创建examplebucket存储空间,且在创建存储空间时开启了分层命名空间。

    // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    String endpoint = "yourEndpoint";
    // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    String accessKeyId = "yourAccessKeyId";
    String accessKeySecret = "yourAccessKeySecret";
    // 填写Bucket名称。
    String bucketName = "examplebucket";
    
    // 创建OSSClient实例。
    OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
    
    // 创建存储空间并开启分层命名空间。
    CreateBucketRequest request = new CreateBucketRequest(bucketName).withHnsStatus(HnsStatus.Enabled);
    ossClient.createBucket(request);
    
    // 关闭OSSClient。
    ossClient.shutdown();

存储空间的命名规范请参见存储空间(Bucket)