全部產品
Search
文件中心

Object Storage Service:Android建立儲存空間

更新時間:Apr 01, 2025

儲存空間(Bucket)是儲存物件(Object)的容器。對象都隸屬於儲存空間。本文介紹如何建立儲存空間。

注意事項

  • 使用本文樣本前您需要先通過自訂網域名、STS等方式建立OSSClient,具體請參見如何初始化Android端OSSClient執行個體

  • 北京時間2025年10月13日10:00:00起,OSS逐步調整所有地區通過API、SDK、ossutil建立Bucket時預設開啟阻止公用訪問。各個地區的生效變更時間,請參見公告說明。開啟後,不允許建立公用存取權限,包括公用讀取或者公用讀寫ACL、以及公用訪問語義的Bucket Policy。如果您的業務有公用訪問需求,可在Bucket建立後關閉阻止公用訪問。

許可權說明

阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM PolicyBucket Policy授予操作許可權。

API

Action

說明

PutBucket

oss:PutBucket

建立Bucket。

oss:PutBucketAcl

建立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());
        }
    }
});

相關文檔