存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。本文介绍如何创建存储空间。

背景信息

创建存储空间时,您需要了解如下信息:

  • 同一阿里云账号在同一地域内创建的存储空间总数不能超过100个。
  • 每个存储空间的名称全局唯一,否则会创建失败。
  • 存储空间的名称需要符合命名规范。存储空间的命名规范请参见存储空间(Bucket)
  • 存储空间一旦创建成功,名称和所处地域不能修改。
  • 创建存储空间时,您可以指定存储空间的权限。如果未指定存储空间权限,则存储空间权限默认为私有(private)。
  • 创建存储空间时,您可以指定存储类型。如果未指定存储类型,则存储空间的存储类型默认为标准存储(standard)。

示例

创建一个名为examplebucket的存储空间,且存储空间的ACL为公共读(public-read)。

id<OSSCredentialProvider> credentialProvider = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@"<StsServer>"];
OSSClientConfiguration *cfg = [[OSSClientConfiguration alloc] init];
cfg.maxRetryCount = 3;
cfg.timeoutIntervalForRequest = 15;

// 由于client在释放时会取消持有的session中的所有任务并将session置为无效,因此请保证client的生命周期在请求完成前不会被释放。
// Endpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
OSSClient *client = [[OSSClient alloc] initWithEndpoint:@"Endpoint" credentialProvider:credentialProvider clientConfiguration:cfg];

OSSCreateBucketRequest * create = [OSSCreateBucketRequest new];
create.bucketName = @"examplebucket";
create.xOssACL = @"public-read";

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;
}];