バケットは、オブジェクトをOSS (Object Storage Service) に格納するために使用されるコンテナーです。 OSS内のすべてのオブジェクトはバケットに含まれています。 このトピックでは、バケットを作成する方法について説明します。
使用上の注意
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba Cloudサービスを使用してOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSでサポートされているリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSTS (Security Token Service) を使用してOSSClientインスタンスを作成する場合は、「初期化」をご参照ください。
バケットを作成するには、
oss:PutBucket
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
例
次のコードは、examplebucketという名前のバケットを作成する方法の例を示しています。
id<OSSCredentialProvider> credentialProvider = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@ "<StsServer>"];
OSSClientConfiguration * cfg = [[OSSClientConfiguration alloc] init];
cfg.maxRetryCount = 3;
cfg.timeoutIntervalForRequest = 15;
// OSSClientインスタンスがリリースされると、セッション内のすべてのタスクがキャンセルされ、セッションは無効になります。 リクエストが完了する前に、OSSClientインスタンスがリリースされていないことを確認してください。
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。
OSSClient * client = [[OSSClient alloc] initWithEndpoint:@ "Endpoint" credentialProvider:credentialProvider clientConfiguration:cfg];
OSSReateBucketRequest * create = [OSSReateBucketRequest new];
// バケット名をexamplebucketに設定します。
create.bucketName = @ "examplebucket";
// バケットのアクセス制御リスト (ACL) をprivateに設定します。
. xOssACL = @ "private" を作成します。// バケットのストレージクラスを低頻度アクセス (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);
}
nilを返します。}];