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