儲存空間(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執行個體。