バケットはオブジェクトを格納するためのコンテナーです。すべてのオブジェクトはバケットに格納する必要があります。このトピックでは、バケットの作成方法について説明します。
注意事項
このトピックのサンプルコードを実行する前に、カスタムドメイン名やセキュリティトークンサービス (STS) などの方法で OSSClient インスタンスを作成する必要があります。詳細については、「Android 用の OSSClient インスタンスの初期化」をご参照ください。
2025年10月13日 10:00 (UTC+08:00) より、OSS はすべてのリージョンで段階的な調整を実施し、API、OSS SDK、または ossutil を使用して作成された新しいバケットに対して、デフォルトでパブリックアクセスブロックを有効にします。各リージョンで調整が有効になる正確な時間については、[公式発表] 新規作成バケットのパブリックアクセスブロック設定の調整をご参照ください。パブリックアクセスブロックが有効になると、パブリック ACL (パブリック読み取りおよびパブリック読み取り/書き込み) やパブリックアクセスを許可するバケットポリシーなど、パブリックアクセス権限を設定できなくなります。ビジネスでパブリックアクセスが必要な場合は、バケットの作成後にこの機能を無効にすることができます。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
PutBucket |
| バケットを作成します。 |
| バケットを作成した後、バケットの ACL を変更するにはこの権限が必要です。 |
サンプルコード
次のコードは、examplebucket という名前のバケットを作成する方法を示しています。
バケットのリージョンは、初期化時に指定したエンドポイントのリージョンによって決まります。
// バケット作成リクエストを構築します。
// バケット名を指定します。
CreateBucketRequest createBucketRequest = new CreateBucketRequest("examplebucket");
// バケットのアクセス制御リスト (ACL) を指定します。
// createBucketRequest.setBucketACL(CannedAccessControlList.Private);
// バケットのストレージクラスを指定します。
// 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());
}
}
});関連ドキュメント
バケット作成の完全なサンプルコードについては、GitHub の例をご参照ください。
バケットを作成するための API 操作の詳細については、「PutBucket」をご参照ください。
OSSClient インスタンスの初期化方法の詳細については、「Android 用の OSSClient インスタンスの初期化」をご参照ください。