存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。本文介绍如何创建存储空间。
注意事项
使用本文示例前您需要先通过自定义域名、STS等方式新建OSSClient,具体请参见如何初始化Android端OSSClient实例。
北京时间2025年10月13日10:00:00起,OSS逐步调整所有地域通过API、SDK、ossutil创建Bucket时默认开启阻止公共访问。各个地域的生效变更时间,请参见公告说明。开启后,不允许创建公共访问权限,包括公共读或者公共读写ACL、以及公共访问语义的Bucket Policy。如果您的业务有公共访问需求,可在Bucket创建后关闭阻止公共访问。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy或Bucket Policy授予操作权限。
API  | Action  | 说明  | 
PutBucket  | 
  | 创建Bucket。  | 
  | 创建Bucket后,修改Bucket的ACL,需要此操作的权限。  | 
示例代码
以下代码用于创建名为examplebucket的存储空间。
说明 
所创建存储空间的所属地域取决于初始化配置的endpoint地域信息。
// 构建创建Bucket的请求。
// 填写Bucket名称。
CreateBucketRequest createBucketRequest = new CreateBucketRequest("examplebucket");。
// 设置Bucket的读写权限ACL。
// createBucketRequest.setBucketACL(CannedAccessControlList.Private);
// 指定Bucket的存储类型。
// createBucketRequest.setBucketStorageClass(StorageClass.Standard);
// 异步创建存储空间。
OSSAsyncTask createTask = oss.asyncCreateBucket(createBucketRequest, new OSSCompletedCallback<CreateBucketRequest, CreateBucketResult>() {
    @Override
    public void onSuccess(CreateBucketRequest request, CreateBucketResult result) {
        Log.d("asyncCreateBucket", "Success");
    }
    @Override
    public void onFailure(CreateBucketRequest 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());
        }
    }
});相关文档
关于创建Bucket的完整示例代码,请参见GitHub示例。
关于创建Bucket的API接口说明,请参见PutBucket。
关于初始化OSSClient,请参见如何初始化Android端OSSClient实例。
该文章对您有帮助吗?