バケットは、Object Storage Service (OSS) にオブジェクトを格納するために使用されるコンテナーです。 OSS のすべてのオブジェクトはバケットに格納されます。このトピックでは、バケットを作成する方法について説明します。
使用上の注意
このトピックのサンプルコードを実行する前に、カスタムドメイン名または Security Token Service (STS) を使用する方法などを使用して、OSSClient インスタンスを作成する必要があります。詳細については、「初期化」をご参照ください。
説明OSSClient インスタンスを初期化するときは、バケットを作成するリージョンにマッピングするエンドポイントを指定します。
2025 年 10 月 13 日 10:00 (UTC + 08:00) から、OSS はすべてのリージョンで段階的な調整を実施し、API、OSS SDK、または ossutil を使用して作成された新しいバケットに対して、デフォルトで Block Public Access を有効にします。各リージョンで調整が有効になる正確な時間については、[公式発表] 新しく作成されたバケットのパブリックアクセスブロッキング設定の調整 を参照してください。 Block Public Access が有効になると、パブリック ACL(パブリック読み取りおよびパブリック読み取り/書き込み)やパブリックアクセスを許可するバケットポリシーなど、パブリックアクセス権限を設定することはできません。ビジネスでパブリックアクセスが必要な場合は、バケットの作成後にこの機能を無効にすることができます。
権限
デフォルトでは、Alibaba Cloud アカウントは、アカウント内のリソースに対するすべての権限を持っています。一方、Alibaba Cloud アカウントに関連付けられた RAM ユーザーと RAM ロールは、最初は権限を持ちません。RAM ユーザーまたはロールを使用してリソースを管理するには、RAM ポリシーまたはバケットポリシーを使用して、必要な権限を付与する必要があります。
API | アクション | 説明 |
PutBucket |
| バケットを作成します。 |
| バケットの作成後に、バケットのアクセス制御リスト (ACL) を変更します。 |
例
次のサンプルコードは、examplebucket という名前のバケットを作成する例を示しています。
// バケットを作成するためのリクエストを構築します。
OSSCreateBucketRequest * create = [OSSCreateBucketRequest new];
// バケット名を examplebucket に設定します。
create.bucketName = @"examplebucket";
// バケットのアクセス制御リスト (ACL) を private に設定します。
create.xOssACL = @"private";
// バケットのストレージクラスを低頻度アクセス (IA) に設定します。
create.storageClass = OSSBucketStorageClassIA;
OSSTask * createTask = [client createBucket:create];
[createTask continueWithBlock:^id(OSSTask *task) {
if (!task.error) {
NSLog(@"バケットの作成に成功しました!"); // 日本語訳
} else {
NSLog(@"バケットの作成に失敗しました。エラー: %@", task.error); // 日本語訳
}
return nil;
}];
// タスクが完了するまで同期ブロッキングを実装します。
// [createTask waitUntilFinished];