您可以通过OBS管理控制台、API、SDK、OBS Browser+、obsutil方式创建桶。桶是OBS中存储对象的容器。您需要先创建一个桶,然后才能在OBS中存储数据。
华为云OBS控制台支持在创建桶时选择源桶,同步桶配置。选择后可复制源桶的以下配置信息:区域 / 数据冗余策略 / 存储类别 / 桶策略 / 服务端加密 / 归档数据直读 / 企业项目 / 标签,方便快捷。
前提条件
创建桶之前需要进行一些准备工作,如注册账号,充值,获取访问密钥(AK/SK)和终端节点(Endpoint)等,详情请参见快速入门。
约束与限制
- 桶创建成功后,不能修改名称和所属区域。创建时,请设置合适的桶名和区域。
- 一个账号及账号下的所有IAM用户一共可创建100个桶。建议结合OBS细粒度权限控制能力,合理进行桶规划和使用。例如,建议在桶内根据对象前缀划分不同的目录,通过细粒度权限控制实现不同目录在不同业务部门之间的权限隔离。每个桶中存放的对象的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。
- 考虑到桶名会作为访问域名的一部分,需要参与域名解析,因此桶名需要满足DNS域名规范。OBS系统在接受创桶请求时,会对桶名进行严格的检查,具体规则如下:
- 需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。用户删除桶后,立即创建同名桶或并行文件系统会创建失败,需要等待30分钟才能创建。
- 长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。
- 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾。
- 禁止使用IP地址。
当使用HTTPS协议访问OBS系统时,由于SSL的通配符证书仅匹配不包含"."的桶。这将导致桶名包含"."的桶在访问OBS系统时,客户端会提示证书校验存在风险,比如浏览器安全提示会呈现红色告警。因此如非必要,请尽量不要在桶名中包含"."。
使用方式
OBS支持通过控制台、API、SDK、OBS Browser+、obsutil方式创建桶。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在页面右上角单击“创建桶”,系统弹出如下所示的页面。
图1 创建桶
- 配置桶参数。
表1 桶参数说明
参数 |
描述 |
复制已有桶配置 |
可选。单击“选择源桶”后,可以在桶列表中选择一个源桶。返回后页面会自动复制源桶的以下配置信息:区域 / 数据冗余策略 / 存储类别 / 桶策略 / 服务端加密 / 归档数据直读 / 企业项目 / 标签。
选择后您仍可以根据业务情况对复制的配置信息进行部分或全部更改。 |
区域 |
桶所属区域。请选择靠近您业务的区域,以降低网络时延,提高访问速度。桶创建成功后,不支持变更区域,请谨慎选择。
OBS大部分特性在所有区域发布,某些特性仅在部分区域发布。建议根据特性的发布区域选择桶所属区域,特性发布区域请参见功能总览。
如果希望ECS通过内网访问OBS桶,需要确保桶和ECS属于同一个区域,详情请参见在ECS上通过内网访问OBS。 |
桶名称 |
桶的名称。需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。桶创建成功后,不支持修改名称,创建时,请设置合适的桶名。
OBS中桶按照DNS规范进行命名,DNS规范为全球通用规则,其具体命名规则如下:
- 需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。用户删除桶后,立即创建同名桶或并行文件系统会创建失败,需要等待30分钟才能创建。
- 长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。
- 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾。
- 禁止使用IP地址。
说明:
当用户使用虚拟主机方式通过HTTPS协议访问OBS时,如果桶名称中包含英文句号(.),会导致证书校验失败。所以该场景下,建议桶名称不要使用英文句号(.)。
|
数据冗余存储策略 |
- 多AZ存储:数据冗余存储至多个可用区(AZ),可靠性更高。
- 单AZ存储:数据仅存储在单个可用区(AZ),成本更低。
多AZ和单AZ的性能对比请参见存储类别对比。
请根据业务情况提前规划数据冗余存储策略,桶一旦创建成功,数据冗余存储策略就确定了,后续无法更改。
- 归档存储的桶不支持多AZ功能。
- 深度归档存储的桶不支持多AZ功能。
|
存储类别 |
桶的存储类别。不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
- 深度归档存储:适用于很少访问,访问频率低于归档存储,且对数据获取速率要求不高的业务场景。
更多详情请参见存储类别。 |
桶策略 |
桶的读写权限控制。
- 私有:除桶ACL授权外的其他用户无桶的访问权限。
- 公共读:任何用户都可以对桶内对象进行读操作。
- 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
- 复制桶策略:复制源桶的桶策略。当且仅当您选择了源桶时,该选项处于可选状态。
|
企业项目 |
将桶加入到企业项目中统一管理。
请参见创建企业项目先完成企业项目创建,默认为default企业项目。
在企业项目界面创建企业项目,然后将用户组添加到该企业项目。这时用户组内用户将获得用户组授权的该企业项目下的桶和对象的操作权限。
说明:
仅企业账号能够配置企业项目。
OBS的企业项目用户组的细粒度授权为“OBS ReadOnlyAccess”和“OBS OperateAccess”。
|
归档数据直读 |
通过归档数据直读,您可以直接下载存储类别为归档存储的对象,而无需提前恢复。归档数据直读会收取相应的费用,详见产品价格详情。
无论您选择了哪种默认存储类别,都可以开启归档数据直读。例如,默认存储类别为标准存储的桶也可以保存归档存储对象,开启归档数据直读后,您可以直接下载归档存储对象。 |
服务端加密 |
开启后,则需要选择加密模式、加密算法、加密密钥类型。
加密模式选择“SSE-KMS”,会使用您在数据加密服务DEW中托管的加密密钥加密桶中的对象。注意,由于DEW服务接口存在流控限制(详见DEW API概览),开启SSE-KMS加密后,您的业务访问可能会受流控影响。
- 加密算法:支持使用AES256或SM4加密算法对桶中的对象进行加密。
- 加密密钥类型您可以选择“默认密钥”,您上传的对象将使用当前区域的默认密钥进行加密,如果您没有默认密钥,系统将会在首次上传对象时自动为您创建。
- 加密密钥类型您也可以选择“自定义密钥”,通过单击“查看KMS密钥”进入数据加密服务页面创建自定义密钥,然后通过KMS密钥的下拉框选中您创建的KMS密钥。
- 加密密钥类型您还可以选择“共享密钥”,输入共享密钥ID,您上传的对象将使用其他用户共享的密钥进行加密。获取共享密钥ID,具体请参见查看密钥。
说明:
支持配置主项目和子项目下的共享密钥,但配置子项目下的共享密钥后,共享密钥的拥有者访问对象异常,桶所有者可正常访问。
加密模式选择“SSE-OBS”加密,则使用OBS服务创建和管理的密钥加密。
若桶已配置了服务端加密,上传对象可以继承桶的加密特性,也可以自行配置SSE-KMS或SSE-OBS加密特性。 |
WORM |
开启WORM (一次写入多次读取) 功能后,当前桶支持配置保留策略,受保留策略保护的对象版本在指定时间段内不能被删除。WORM功能只能在创建桶时开启, 开启后无法关闭,当前桶默认开启多版本控制且不可关闭。 |
标签 |
可选。标签用于标识OBS中的桶,以此达到对OBS中的桶进行分类的目的。OBS以键值对的形式来描述标签,每个标签有且只有一对键值。
有关添加标签的信息,请参见标签。 |
存储包超值购 |
可选。OBS服务默认为按需计费模式,您可以通过购买存储包的方式,提前购买使用额度和时长,获取更多的优惠。
存储包在桶创建完成后也可单独购买。 |
- 单击“立即创建”。
- 如果您同时购买了存储包,需要在“资源包规格确认”页面确认购买数量、购买时长、是否开通自动续费等信息,然后单击“去支付”,完成存储包购买。
使用图形化工具OBS Browser+
- 登录OBS Browser+。
- 在页面上区域单击“创建桶”。
- 在弹出的对象框中根据需要填写桶信息,如图2所示。
图2 创建桶
表2 创建桶
参数 |
说明 |
区域 |
选择新建桶所在的Region。桶创建成功后,不支持变更区域,请谨慎选择。 |
存储类别 |
桶的存储类别。不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
更多详情请参见存储类别。 |
桶ACL |
桶的读写权限控制。
- 私有:除桶ACL授权外的其他用户无桶的访问权限。
- 公共读:任何用户都可以对桶内对象进行读操作。
- 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
|
多AZ |
开启多AZ后,数据冗余存储至多个AZ中。
- 请根据业务情况提前规划是否开启多AZ功能,桶一旦创建成功,后续无法修改多AZ功能的启停状态。
|
桶名称 |
输入需要创建的桶的名称,“桶名称”需全局唯一。
- 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
- 禁止使用类IP地址。
- 禁止以“-”或“.”开头及结尾。
- 禁止两个“.”相邻(如:“my..bucket”)。
- 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
|
可以单击桶名输入框后的了解桶的命名规则详情,每个用户最多可在OBS 对象存储中创建100个桶。
- 由于通过URL访问桶时,桶名会作为URL的一部分,根据DNS标准,URL不支持大写字母,无法区分带大写字母的桶。因此,“桶名称”仅支持小写字母、数字、“-”、“.”作为桶的命名规则。例如:如果想通过URL访问名为“MyBucket”的桶,该URL将解析成名为“mybucket”的桶,导致访问出错。
- DNS命名规范方便全局统一,方便在访问桶时对桶进行解析,可以使客户受益于新功能和优化性能,并支持对桶进行静态网站托管。
- 桶创建成功后,不能修改名称,创建时,请设置合适的桶名。
- 单击确认后,如果创建成功,会立即在桶列表中看到刚刚创建的桶。如果创建失败,会在界面上显示错误信息。
使用命令行工具obsutil
命令结构
- Windows操作系统
obsutil mb obs://bucket [-fs] [-az=xxx] [-acl=xxx] [-sc=xxx] [-location=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- macOS/Linux操作系统
./obsutil mb obs://bucket [-fs] [-az=xxx] [-acl=xxx] [-sc=xxx] [-location=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
运行示例
- 以Windows操作系统为例,运行obsutil mb obs://bucket001,创建其他账户下已存在的桶失败。
obsutil mb obs://bucket001
Start at 2024-09-30 07:03:50.1378331 +0000 UTC
Create bucket [bucket001] failed, status [409], error code [BucketAlreadyExists], error message [The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.], request id [0000019241BE18DB4019EDD66E135C56]
参数说明
参数 |
约束 |
描述 |
bucket |
必选 |
桶名。
说明:
桶命名规则如下:
- 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
- 禁止使用类IP地址。
- 禁止以“-”或“.”开头及结尾。
- 禁止两个“.”相邻(如:“my..bucket”)。
- 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
|
fs |
附加参数,可选 |
创建并行文件系统。 |
az |
附加参数,可选 |
指定桶的数据冗余存储策略。支持的值:
说明:
multi-az代表创建数据冗余存储策略为多AZ存储的桶;不携带此参数代表创建数据冗余存储策略为单AZ存储的桶。
|
acl |
附加参数,可选 |
创桶时可指定的预定义访问策略。支持的值:
- private
- public-read
- public-read-write
|
sc |
附加参数,可选 |
创桶时可指定的桶的默认存储类型。支持的值:
- standard:标准存储,访问时延低、吞吐量高,适用于有大量热点文件(平均一个月多次)或小文件(小于1MB)。
- warm:低频访问存储,可用性略低于standard,适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景。
- cold:归档存储,安全、持久且成本极低,适用于很少访问(平均一年访问一次)数据的业务场景。
- deep-archive:深度归档存储(受限公测),适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。
|
location |
附加参数,如果请求的OBS服务地址所在区域为默认区域,则可为空,否则为必选 |
桶所在的区域。
说明:
该参数定义了桶将会被创建在哪个区域,如果使用的终端节点归属于默认区域华北-北京一(cn-north-1),可以不携带此参数;如果使用的终端节点归属于其他区域,则必须携带此参数。当前有效的区域名称可从这里查询。
|
config |
附加参数,可选 |
运行当前命令时的自定义配置文件,可支持的配置参数请参考配置参数说明。 |
e |
附加参数,可选 |
指定终端节点。 |
i |
附加参数,可选 |
指定用户的AK。 |
k |
附加参数,可选 |
指定用户的SK。 |
t |
附加参数,可选 |
指定用户的securitytoken。 |
相关操作和问题
修改桶存储类别
您可以在创建桶时指定桶的存储类别,也可以在创建后修改桶的存储类别。具体请参见设置桶和对象的存储类别和转换桶和对象的存储类别。
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表中,选择待操作的桶,并单击右侧的“修改存储类别”。
- 选择目标存储类别,并单击“确定”。
- 修改桶的存储类别后,不会影响已存储在桶内的对象的存储类别。
- 上传对象时,默认的对象存储类别与桶的存储类别一致。当桶存储类别修改后,新上传对象时的默认对象存储类别随之修改。
如何访问已创建的桶
桶创建成功后,可以使用桶访问域名来访问桶。您可以根据访问域名结构自行拼接,也可以通过在OBS管理控制台、OBS Browser+上查看桶基本信息获取。
访问域名的结构和示例如下:
【结构】BucketName.Endpoint
【示例】bucketname.obs.cn-north-4.myhuaweicloud.com