mb(创建存储空间)

存储空间(Bucket)是用于存储对象(Object)的容器。在上传任意类型的Object前,您需要先创建Bucket。本文介绍如何通过mb命令创建Bucket。

注意事项

  • 要创建Bucket,您必须具有oss:PutBucket权限。具体操作,请参见为RAM用户授权自定义的权限策略

  • 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考

  • 当您在OSS ON云盒中使用该命令时:

    1. 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint

    2. 在本文已有示例的基础上添加--sign-version--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项

以命令中指定选项的形式创建Bucket

命令格式

ossutil mb oss://bucketname 
[--acl <value>]
[--storage-class <value>]
[--redundancy-type <value>]

参数及选项说明如下:

参数

说明

bucketname

创建的Bucket名称。Bucket名称在OSS范围内必须全局唯一,一旦创建完成则无法修改。

--acl

Bucket的读写权限ACL。取值如下:

  • private(默认值):只有该Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。

  • public-read:只有Bucket拥有者可以对该Bucket内的文件进行写操作,其他用户(包括匿名访问者)都可以对该Bucket中的文件进行读操作。这有可能造成您数据的外泄以及费用激增,请谨慎操作。

  • public-read-write:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

--storage-class

Bucket的存储类型。取值如下:

  • Standard(默认值):支持频繁的数据访问。

  • IA:适用于较低访问频率(平均每月访问频率1到2次)的业务场景,有最低存储时间(30天)和最小计量单位(64 KB)要求。支持数据实时访问,访问数据时会产生数据取回费用。

  • Archive:适用于数据长期保存的业务场景,有最低存储时间(60天)和最小计量单位(64 KB)要求。数据需解冻(约1分钟)后访问,解冻会产生数据取回费用。

  • ColdArchive:适用于需要超长时间存放的极冷数据,有最低存储时间(180天)和最小计量单位(64 KB)要求。数据需解冻后访问,解冻时间根据数据大小和选择的解冻模式决定,解冻会产生数据取回费用。

说明

在OSS ON云盒使用场景中,仅支持Standard类型。

关于存储类型的更多信息,请参见存储类型概述

--redundancy-type

Bucket的数据容灾类型。取值如下:

  • LRS(默认值):本地冗余LRS将您的数据冗余存储在同一个可用区的不同存储设备上,可支持两个存储设备并发损坏时,仍维持数据不丢失,可正常访问。

  • ZRS:同城冗余ZRS采用多可用区(AZ)内的数据冗余存储机制,将用户的数据冗余存储在同一地域(Region)的多个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。

重要
  • 华南1(深圳)、华北2(北京)、华东1(杭州)、华东2(上海)、中国香港、新加坡以及印度尼西亚(雅加达)地域支持开启同城冗余存储。此外,同城冗余存储的费用较高,且开启后不支持关闭,请谨慎操作。

  • 在OSS ON云盒使用场景中,不支持使用此选项。

使用示例

  • 仅创建examplebucket。

    ossutil mb oss://examplebucket

    如果创建Bucket时未指定Bucket所在地域,则默认在ossutil配置文件中Endpoint指向的地域创建Bucket。例如配置文件中的Endpoint为https://oss-cn-hangzhou.aliyuncs.com,则表示在华东1(杭州)地域创建了Bucket。

  • 创建examplebucket,并指定读写权限ACL为私有、存储类型为低频访问以及数据容灾类型为同城冗余ZRS。

    ossutil mb oss://examplebucket --acl private --storage-class IA --redundancy-type ZRS
  • 以下输出结果表明已成功创建符合指定条件的Bucket。

    0.335189(s) elapsed

以命令中指定XML结构的方式创建Bucket

命令格式

ossutil mb oss://bucketname local_xml_file

参数说明如下:

参数

说明

bucketname

待创建的Bucket名称。

local_xml_file

指定Bucket配置的本地文件路径,例如localfile.xml

使用示例

  1. 在本地文件路径localfile.xml中以XML结构的方式指定Bucket选项。

    <?xml version="1.0" encoding="UTF-8"?>
    <CreateBucketConfiguration>    
        <StorageClass>IA</StorageClass>
        <DataRedundancyType>LRS</DataRedundancyType>
    </CreateBucketConfiguration>
  2. ossutil先从本地文件路径读取Bucket配置,然后将读取到Bucket配置添加到待创建的Bucket。

    ossutil mb oss://examplebucket localfile.xml

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要为另一个阿里云账号下,华东2(上海)地域创建名为examplebucket的存储空间,命令如下:

ossutil mb oss://examplebucket -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

关于此命令的其他通用选项的更多信息,请参见通用选项