链接复制成功!
设置桶和对象的存储类别
操作场景
本章节指导用户在创建桶和上传对象时,初次设置桶和对象的存储类别。如果桶和对象已有存储类别,而您想要修改其存储类别,请查看转换桶和对象的存储类别。
桶存储类别和对象存储类别
创建桶时支持设置桶存储类别,也可在桶创建完成后修改桶存储类别。
上传对象时,对象的存储类别默认继承桶的存储类别,您也可以重新指定对象的存储类别,同时也支持在对象上传完成后修改对象的存储类别。
修改桶的存储类别,桶内已有对象的存储类别不会修改,新上传对象时的默认对象存储类别随之修改。
创建桶时设置桶的存储类别
OBS支持使用控制台、API、OBS SDK、OBS Browser+和obsutil共5种方式在创建桶时设置桶的存储类别。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在页面右上角单击“创建桶”。
- 设置“基础配置”相关参数。
表1 “基础配置”参数说明 参数名称
说明
复制已有桶配置
可选参数。通过复制已有桶的配置来快速创建桶。
如果您想将已有桶的配置复制到新创建的桶,可以设置该参数。
单击“选择源桶”,在桶列表中选择一个源桶,返回后页面会自动复制源桶的配置信息:区域 / 数据冗余存储策略 / 存储类别 / 阻止公共访问 / 桶策略 / 企业项目 / 归档数据直读 / 服务端加密 / WORM / 标签。
选择复制源桶配置后,您仍可以根据业务情况对复制的配置信息进行部分或全部更改。
区域
桶所属的区域。
- 桶创建成功后,不支持变更区域,请谨慎选择。
- 请选择靠近您业务的区域创建桶,以降低网络时延,提高访问速度。
- OBS大部分特性在所有区域发布,某些特性仅在部分区域发布。如果您创建的桶需要使用某些特性,建议根据功能总览中特性发布区域选择桶所属区域。
- 如果希望ECS通过内网访问OBS桶,需要确保桶和ECS属于同一个区域,详情请参见在ECS上通过内网访问OBS。
- 设置“桶配置”相关参数。
表2 “桶配置”参数说明 参数名称
说明
桶名称
创建桶时,需要设置合适的桶名称。
桶创建成功后,不支持修改桶名称。
OBS中桶按照DNS规范进行命名,DNS规范为全球通用规则,其具体命名规则如下:
- 需全局唯一,不能与已有的任何桶或并行文件系统(包含其他用户创建的)名称重复。删除桶后,立即创建同名桶或并行文件系统会创建失败,需要等待30分钟才能创建。
- 长度范围为3到63个字符。
- 支持小写字母、数字、中划线(-)、英文句号(.),且不能以中划线(-)或英文句号(.)开头及结尾。
- 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻。
- 禁止使用IP地址。
说明:
当用户使用虚拟主机方式通过HTTPS协议访问OBS时,如果桶名称中包含英文句号(.),会导致证书校验失败。因此该场景下,建议桶名称不要使用英文句号(.)。
数据冗余存储策略
选择让桶中的数据在同区域的多个可用区(AZ)或单个可用区中存储。
- 多AZ存储:桶中的数据在同区域的多个可用区(AZ)中存储,当某个AZ数据不可用时,其他AZ的数据仍可访问,可靠性更高。
- 单AZ存储:桶中的数据仅在单个可用区(AZ)中存储,成本更低。
关于多AZ和单AZ的性能对比,请参见存储类别对比。
默认取值为:多AZ存储。
桶创建成功后,不支持修改数据冗余存储策略。
选择多AZ存储后,桶的存储类别不支持选择归档存储或深度归档存储。
存储类别
桶的存储类别。
不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
- 深度归档存储:适用于很少访问,访问频率低于归档存储,且对数据获取速率要求不高的业务场景。
更多详情请参见存储类别。
说明:创建桶时选择的存储类别会作为上传对象的默认存储类别,您也可以在上传对象时指定对象的存储类别。
阻止公共访问
用于集中对桶进行某些级别的公共访问设置。如果您需要忽略已有或禁止创建新的公共访问权限,可以设置该参数。
开关全部打开,表示不允许创建新的含有公共访问权限的ACL和桶策略,同时已有的含有公共访问权限的ACL和桶策略将不生效。即只有桶拥有者可以访问桶和桶内对象。
支持以下4种级别的公共访问设置:
- 阻止创建新的含有公开权限的ACL。
- 阻止创建新的含有公开权限的桶策略。
- 含有公共访问权限的ACL将不生效。
- 含有公共访问权限的桶策略将不生效。
配置阻止公共访问,需要账号具有“PutBucketPublicAccessBlock”权限。
如果您的桶在没有公共访问权限时相关应用程序不能正常工作,请勿开启。
开启阻止公共访问后,桶策略不允许设置为公共读和公共读写。
桶策略
桶的读写权限控制。
- 私有:除桶ACL授权外的其他用户无桶的访问权限。
- 公共读:任何用户都可以对桶内对象进行读操作。
- 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
- 复制桶策略:复制源桶的桶策略。当且仅当您在“复制已有桶配置”参数设置中选择了源桶,该选项处于可选状态。
如果您的账号没有权限创建桶策略,那么选择公共读或公共读写后将创建具有私有权限的桶。要创建具有公共读/写权限的桶,需要您的账号具有obs:bucket:PutBucketPolicy权限。
企业项目
将桶加入到企业项目中统一管理。
在企业项目界面创建企业项目,创建用户组并将用户加入到该用户组,然后将用户组添加到该企业项目。这时用户将获得用户组授权的该企业项目下的桶和对象的操作权限。
如无特殊的企业项目划分和管理需求,此处可直接选择默认企业项目“default”。
- 仅企业账号能够配置企业项目。
- OBS的企业项目用户组需要被授权“OBS Buckets Viewer”和“OBS OperateAccess”。
- 在新建的企业项目下创建第一个桶需要等待约10分钟,请耐心等待。
- 设置“功能配置”相关参数。
表3 “功能配置”参数说明 参数名称
说明
归档数据直读
开启归档数据直读后,归档存储类别的对象无需恢复即可直接访问(下载、分享、修改存储类别等)。
归档数据直读会根据对象大小等产生数据的恢复费用,详情请参见数据恢复费用。
更多详情请参见归档数据直读。
服务端加密
开启服务端加密后,上传到当前桶的对象会被加密,桶中的数据会更安全。
开启后,则需要选择加密模式、加密密钥类型。
- 加密模式选择“SSE-KMS”,会使用您在数据加密服务DEW中托管的加密密钥加密桶中的对象。
选择“SSE-KMS”后,还需要配置“加密密钥类型”。
- 加密密钥类型选择“默认密钥”,将使用当前区域的默认密钥对上传至桶中的对象进行加密,如果您没有默认密钥,系统将会在首次上传对象时自动为您创建。
- 加密密钥类型选择“自定义密钥”,将使用您的自定义密钥对上传至桶中的对象进行加密。如果您还没有自定义密钥,可通过单击“查看KMS密钥”进入数据加密服务页面创建自定义密钥,然后通过自定义密钥的下拉框选中您创建的KMS密钥。
- 加密密钥类型选择“共享密钥”,将使用其他用户共享的密钥对上传至桶中的对象进行加密,需要输入共享密钥ID。获取共享密钥ID,详情请参见查看密钥。
说明:
支持配置主项目和子项目下的共享密钥,但配置子项目下的共享密钥后,共享密钥的拥有者访问对象异常,桶所有者可正常访问。
由于数据加密服务接口存在流控限制(详见DEW API概览),使用SSE-KMS加密后,您的业务访问可能会受流控影响。
如果您使用SSE-KMS加密模式,超过免费配额会收取相应费用。详情请参见DEW计费项。
- 加密模式选择“SSE-OBS”加密,则使用OBS服务创建和管理的密钥对上传至桶中的对象进行加密。
如果桶已配置了服务端加密,上传对象可以继承桶的加密特性,也可以自行配置加密特性。
更多详情请参见服务端加密概述。
WORM
开启WORM (一次写入多次读取) 功能后,通过配置保留策略,来帮助您防止对象在指定时间段内被删除或覆盖。
- WORM开启后无法关闭,但您可以通过配置或暂不配置保留策略来控制对象是否可以被写删。
- 启用WORM会自动启用多版本控制,且不可关闭多版本控制。
- 启用WORM的桶,不支持配置跨区域复制且已配置的跨区域复制规则将不生效。
更多详情请参见配置对象锁定(WORM)防止对象被更改或删除。
标签
可选参数。如果您需要使用标签来分类管理桶资源,可以为桶设置标签。
标签用于标识OBS桶资源,以达到对桶资源进行分类的目的。可以自定义桶标签,也可以选择预先在标签管理服务(TMS)创建好的标签。
以键值对的形式来描述标签,包含标签键和标签值:
- 标签键:同一个桶标签键不能重复。
- 长度范围为1到36个字符。区分大小写。
- 不能以空格开头或结尾,不能包含以下字符:=*<>\,|/
- 标签值:标签值可以重复,且可以为空。
- 长度范围为0到43个字符。区分大小写。
- 不能包含以下字符:=*<>\,|/
每个桶最多设置10个标签,且每个标签有且只有一对键值。
有关添加标签的信息,请参见标签。
- 加密模式选择“SSE-KMS”,会使用您在数据加密服务DEW中托管的加密密钥加密桶中的对象。
- (可选)设置“加购存储资源包”。
OBS服务默认为按需计费模式,您还可以通过加购存储资源包的方式,提前购买使用额度和时长,获取更多的优惠。详情请参见存储包。
选择加购存储资源包后,还支持设置跟随桶的企业项目和自动续费:
- 跟随桶的企业项目:指定该资源包的使用范围为桶所在的企业项目。
- 自动续费:选择“自动续费”可避免因资源包到期无法抵扣产生更高的使用费用,自动续费可随时取消。
- 单击“立即创建”。
- 如果您同时购买了存储包,需要在“资源包规格确认”页面确认购买数量、购买时长、是否开通自动续费等信息,然后单击“去支付”。
- 在订单支付页面,单击“确定”,完成订单支付。
使用API
创建桶时指定桶存储类别(添加x-obs-storage-class头域设置)
使用图形化工具OBS Browser+
- 登录OBS Browser+。
- 在页面上区域单击“创建桶”。
- 在弹出的对象框中根据需要填写桶信息,如图1所示。
表4 创建桶 参数
说明
区域
选择新建桶所在的Region。
- 桶创建成功后,不支持变更区域,请谨慎选择。
- 请选择靠近您业务的区域创建桶,以降低网络时延,提高访问速度。
- OBS大部分特性在所有区域发布,某些特性仅在部分区域发布。如果您创建的桶需要使用某些特性,建议根据功能总览中特性发布区域选择桶所属区域。
- 如果希望ECS通过内网访问OBS桶,需要确保桶和ECS属于同一个区域,详情请参见在ECS上通过内网访问OBS。
存储类别
桶的存储类别。
不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
说明:创建桶时选择的存储类别会作为上传对象的默认存储类别,您也可以在上传对象时指定对象的存储类别。
更多详情请参见存储类别。
桶ACL
桶的读写权限控制。
- 私有:除桶ACL授权外的其他用户无桶的访问权限。
- 公共读:任何用户都可以对桶内对象进行读操作。
- 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。
多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://bucket-test,创建新桶成功。
obsutil mb obs://bucket-test Start at 2024-09-29 07:52:11.3769487 +0000 UTC Create bucket [bucket-test] successfully, request id [000001923CC401864018BA75753D2D5F]
- 以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 |
必选 |
桶名称。
桶命名规则如下:
|
fs |
附加参数,可选 |
创建并行文件系统。 |
az |
附加参数,可选 |
指定桶的数据冗余存储策略,让桶中的数据在同区域的多个可用区(AZ)或单个可用区中存储。 支持的值:multi-az “multi-az”代表创建数据冗余存储策略为多AZ存储的桶;不携带此参数代表创建数据冗余存储策略为单AZ存储的桶。 |
acl |
附加参数,可选 |
创桶时可指定的预定义访问策略。 支持的值:
|
sc |
附加参数,可选 |
桶的存储类别。 不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。 支持的值:
|
location |
附加参数,如果请求的OBS服务地址所在区域为默认区域,则可为空,否则为必选 |
桶所在的区域。 当前有效的区域名称可从这里查询。
说明:
该参数定义了桶将会被创建在哪个区域,如果使用的终端节点归属于默认区域华北-北京一(cn-north-1),可以不携带此参数;如果使用的终端节点归属于其他区域,则必须携带此参数。 |
config |
附加参数,可选 |
运行当前命令时的自定义配置文件。 可支持的配置参数请参考配置参数说明。 |
e |
附加参数,可选 |
指定终端节点。 |
i |
附加参数,可选 |
指定用户的AK。 |
k |
附加参数,可选 |
指定用户的SK。 |
t |
附加参数,可选 |
指定用户的securitytoken。 |
上传对象时设置对象的存储类别
OBS支持使用控制台、API、OBS SDK、OBS Browser+和obsutil共5种方式在上传对象时设置对象存储类别。
使用OBS控制台
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
- 在对象列表页,单击“上传对象”,系统弹出“上传对象”对话框。
也可以进入待上传文件的文件夹,单击“上传对象”。
如果待上传至OBS的文件存放在Microsoft OneDrive中,建议这些待上传文件的名称不要超过32位,以保证兼容性。
- 设置基础配置。
表5 基础配置参数说明 参数名称
说明
存储类别
对象的存储类别。
不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
- 深度归档存储:适用于很少访问,访问频率低于归档存储,且对数据获取速率要求不高的业务场景。
更多详情请参见存储类别。
上传对象
选择需要存储在OBS桶中的文件并上传。
拖拽本地文件/文件夹至“上传对象”区域框内,或单击
/“添加文件”按钮,打开本地文件浏览器对话框,上传文件。
- 单次最多支持100个文件同时上传,总大小不超过5GB。
- 如果只上传1个文件,则这个文件最大为5GB。
- 如果上传对象超过5GB,请参见如何上传超过5GB的大对象?。
- 上传操作将产生请求费用,上传成功后将产生存储费用。
服务端加密
可选参数。
开启服务端加密后,上传到桶的对象会被加密,对象会更安全。
如果桶已开启服务端加密,则上传对象时,服务端加密默认开启,且不支持关闭。
开启后,需要选择加密模式、加密密钥类型:
- 加密模式选择“继承桶的加密配置”:当桶已开启服务端加密,则上传对象时,支持配置该项,表示对象的加密配置和桶的相同。
- 加密模式选择“SSE-KMS”,会使用您在数据加密服务DEW中托管的加密密钥加密上传的对象。
选择“SSE-KMS”后,还需要配置“加密密钥类型”。
- 加密密钥类型选择“默认密钥”,将使用当前区域的默认密钥对上传至桶中的对象进行加密,如果您没有默认密钥,系统将会在首次上传对象时自动为您创建。
- 加密密钥类型选择“自定义密钥”,将使用您的自定义密钥对上传至桶中的对象进行加密。如果您还没有自定义密钥,可通过单击“查看KMS密钥”进入数据加密服务页面创建自定义密钥,然后通过自定义密钥的下拉框选中您创建的KMS密钥。
- 加密密钥类型选择“共享密钥”,将使用其他用户共享的密钥对上传至桶中的对象进行加密,需要输入共享密钥ID。获取共享密钥ID,详情请参见查看密钥。
说明:
支持配置主项目和子项目下的共享密钥,但配置子项目下的共享密钥后,共享密钥的拥有者访问对象异常,桶所有者可正常访问。
由于DEW服务接口存在流控限制(详见DEW API概览),使用SSE-KMS加密后,您的业务访问可能会受流控影响。
如果您使用SSE-KMS加密模式,超过免费配额会收取相应费用。详情请参见DEW计费项。
- 加密模式选择“SSE-OBS”加密,则使用OBS服务创建和管理的密钥对上传至桶中的对象进行加密。
更多详情请参见服务端加密概述。
- (可选)设置高级配置。
表6 高级配置参数说明 参数名称
说明
配置元数据
元数据(Metadata)为描述对象属性的信息,是一组名称和值的配对,用作对象管理的一部分。
如果您需要配置对象元数据,可单击“添加元数据”。
可配置的对象元数据包括:ContentDisposition、ContentLanguage、WebsiteRedirectLocation、ContentEncoding、ContentType。各元数据具体含义请参见OBS元数据。
元数据的键和值均不能为空。
标签
为上传的对象配置标签,使用标签来标识对象。可以自定义标签,也可以选择预先在标签管理服务(TMS)创建好的预定义标签。
如果您需要配置对象标签,可单击“添加新标签”,输入标签键和值。每个对象最多支持配置10个标签。
标签键命名规则如下:
- 指定多个标签时,每个标签的键必须唯一。
- 标签键最大长度为36个字符,不能包含=*<>\,|/,且首尾字符不能为空格,区分大小写,不可重复,不能为空。
标签值命名规则如下:
- 标签值最大长度为255个字符,不能包含=*<>\,|/,且首尾字符不能为空格,区分大小写,可以为空。
关于对象标签更详细内容,具体请参见对象标签。
保留策略
当桶开启了WORM功能,上传对象时的“高级配置”才支持配置WORM保留策略。
对象的保留策略,仅保护当前对象不受删除或覆盖,且优先级高于所属桶的默认保留策略。
- 继承桶策略:继承对象所属桶的默认保留策略。若所属桶未配置默认保留策略,则对象不受WORM特性保护。
- 配置:配置当前对象的保留策略。
- 保留模式:保留策略选择“配置”时,需配置该参数。当前仅支持“合规模式”,即任何用户在保留期内都不能删除受保护的对象版本,或更改其保留模式。
- 保留期:保留策略选择“配置”时,需配置该参数。系统将阻止在指定时间点前删除受保护的对象版本。
- 单击“上传”。
使用API
PUT上传时指定对象存储类别(添加x-obs-storage-class头域设置)
POST上传时指定对象存储类别(添加x-obs-storage-class头域设置)
初始化上传段任务(采用多段上传时,在初始化上传段任务阶段添加x-obs-storage-class头域设置)
使用图形化工具OBS Browser+
- 登录OBS Browser+。
- 单击想要上传文件或文件夹的桶。
- 单击“上传”,进入“上传对象”弹窗。
图2 上传文件或文件夹
- 设置对象权限、存储类别等参数。
表7 参数说明 参数名称
说明
对象权限
对象的读写权限控制。
- 私有:除对象ACL授权外的其他用户无对象的访问权限。
- 公共读:任何用户都可以对当前对象进行读操作。
- 公共读写:任何用户都可以对当前对象进行读/写/删除操作。
存储类别
对象的存储类别。
不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。
- 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。
- 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。
- 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。
- 深度归档存储:适用于很少访问,访问频率低于归档存储,且对数据获取速率要求不高的业务场景。
更多详情请参见存储类别。
KMS加密
可选参数。
开启KMS加密后,将使用当前区域的默认密钥对上传至当前桶中的对象进行加密,对象会更安全。
- 单击“添加文件”或“添加文件夹”,在弹出的对话框中,选中需要上传的文件或文件夹后单击“打开”。
- 文件必须有访问权限才可以上传,否则上传任务会失败。
- 文件或文件夹名称长度不能超过1023字节。如果有上级目录,加上所有上级目录名长度(目录自动增加/),文件名总长度最大为1023字节。例如:文件file01的上级目录是folder01,文件名长度是按照“folder01/file01”的字节数计算的。
- 支持上传最大为48.8TB的单个文件。
- 支持同时选择最多500个文件进行上传。如果文件数超过500个,建议将文件放入文件夹中,然后使用“添加文件夹”功能进行上传。客户端支持一次上传一个文件夹,也支持一次同时上传多个文件。选择多个文件时,可以按住“Ctrl”或“Shift”键进行多选,同时支持“Ctrl+A”全选操作,操作方式与Windows操作系统保持一致。
- 如果上传文件时弹出“Service Unavailable”的错误提示,则可能是因为当前服务器繁忙,请稍后重试。
- 如果上传文件或文件夹时弹出拒绝访问的错误提示,则有可能是如下几种情况导致的:
- 通过桶的ACL设置功能,限制了该桶的访问权限(如:该用户无桶的写入权限)。
- 通过桶的桶策略功能,限制了该桶的访问权限(如:当前时间段不允许对桶进行写入或该用户无桶的写入权限等)。
请检查桶的ACL设置和桶策略配置,排查错误。
- 单击“确定”。
使用命令行工具obsutil
命令结构
- Windows操作系统
- 上传文件
obsutil cp file_url obs://bucket[/key] [-arcDir=xxx] [-dryRun] [-link] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=5248800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 上传文件夹
obsutil cp folder_url obs://bucket[/key] -r [-arcDir=xxx] [-dryRun] [-link] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 多文件/文件夹上传
obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 [-r] [-arcDir=xxx] [-dryRun] [-link] [-f] [-u] [-vlength] [-vmd5] [-flat] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx][-timeRange=time1-time2] [-at] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
命令中的“/prefix”即为上传文件夹时的对象名前缀。
- 上传文件
- Linux/Mac操作系统
- 上传文件
./obsutil cp file_url obs://bucket[/key] [-arcDir=xxx] [-dryRun] [-link] [-u] [-vlength] [-vmd5] [-p=1] [-threshold=5248800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-o=xxx] [-cpd=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 上传文件夹
./obsutil cp folder_url obs://bucket[/key] -r [-arcDir=xxx] [-dryRun] [-link] [-f] [-flat] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-at] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
- 多文件/文件夹上传
./obsutil cp file1_url,folder1_url|filelist_url obs://bucket[/prefix] -msm=1 [-r] [-arcDir=xxx] [-dryRun] [-link] [-f] [-u] [-vlength] [-vmd5] [-flat] [-j=1] [-p=1] [-threshold=52428800] [-acl=xxx] [-sc=xxx] [-meta=aaa:bbb#ccc:ddd] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx][-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
命令中的“/prefix”即为上传文件夹时的对象名前缀。
- 上传文件
运行示例
- 以Windows操作系统为例,运行obsutil cp d:\temp\test.txt obs://bucket-test/key,将D盘temp路径下名为test.txt的文件上传至bucket-test桶中,并且重命名为key。
obsutil cp d:\temp\test.txt obs://bucket-test/key Start at 2024-09-30 08:11:41.6724827 +0000 UTC Parallel: 5 Jobs: 5 Threshold: 50.00MB PartSize: auto VerifyLength: false VerifyMd5: false CheckpointDir: C:\Users\Administrator\.obsutil_checkpoint [====================================================] 100.00% 1.68 MB/s 8.46MB/8.46MB 5s Upload successfully, 8.46MB, n/a, d:\temp\test.txt --> obs://bucket-test/key, cost [5], status [200], request id [0000016979E1D2B2860BB5181229C72C]
- 以Windows操作系统为例,运行obsutil cp d:\temp obs://bucket-test -f -r,递归上传D盘temp文件夹中的所有文件和子文件夹至bucket-test桶的temp文件夹中。
obsutil cp d:\temp obs://bucket-test -f -r Start at 2024-09-30 08:14:12.1406275 +0000 UTC Parallel: 5 Jobs: 5 Threshold: 50.00MB PartSize: auto VerifyLength: false VerifyMd5: false CheckpointDir: C:\Users\Administrator\.obsutil_checkpoint Task id: 104786c8-27c2-48fc-bc6a-5886596fb0ed OutputDir: C:\Users\Administrator\.obsutil_output [========================================================] 100.00% tps:35.71 2.02 KB/s 7.20MB/7.20MB 0s Succeed count: 5 Failed count: 0 Succeed bytes: xxx Metrics [max cost:90 ms, min cost:45 ms, average cost:63.80 ms, average tps:35.71, transferred size: 7.20MB] Task id: 104786c8-27c2-48fc-bc6a-5886596fb0ed
参数说明
参数 |
约束 |
描述 |
---|---|---|
file_url |
多文件/文件夹上传时可选 上传文件时必选 |
本地文件路径。
|
folder_url |
多文件/文件夹上传时可选 上传文件夹时必选 |
本地文件夹路径。
|
filelist_url |
多文件/文件夹上传时可选 |
包含待上传文件/文件夹列表的文件,必须配置msm=2。 |
bucket |
必选 |
上传文件/文件夹所属的桶的名称。 |
key |
可选 |
上传文件时的对象名或对象名前缀,或上传文件夹时的对象名前缀。 在上传文件或文件夹时,根据指定值的不同情况,对象的上传路径和名称如下:
说明:
您还可以参考上传示例理解该参数的使用方式。 |
fr |
附加参数,上传文件时可选 |
上传文件时生成结果清单文件。 |
flat |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
上传文件夹时,只上传该文件夹下的所有内容。 |
arcDir |
附加参数,可选 |
上传文件成功后的归档路径,上传成功后的文件会移动到该路径下。 |
dryRun |
附加参数,可选 |
测试模式运行,不执行实际的上传操作。 |
link |
附加参数,可选 |
上传软链接文件/文件夹指向的真实路径。
|
u |
附加参数,可选 |
增量上传操作。 设置该参数后,上传每个文件时会对比桶中对应路径的对象,仅在对象不存在,或者对象大小与所上传文件大小不一致,或者对象的最后修改时间早于所上传文件的最后修改时间时进行上传。 在比较每个本地文件与桶内对象差异时,会产生一次HEAD请求费用。 |
vlength |
附加参数,可选 |
上传完成后,验证桶中对象的大小是否与本地文件大小一致。 |
vmd5 |
附加参数,可选 |
上传完成后,验证桶中对象的MD5值是否与本地文件的MD5值一致。
|
p |
附加参数,可选 |
每个分段上传任务的最大并发数。 默认为配置文件中的defaultParallels。 |
threshold |
附加参数,可选 |
开启分段上传任务的阈值。如果待上传的文件小于该阈值,则使用直接上传模式;否则使用分段上传模式。 默认为配置文件中的defaultBigfileThreshold。 单位:字节 支持带容量单位配置,例如:配置1MB代表1048576字节。
说明:
直接上传模式不会产生断点记录文件,不支持断点续传。 |
acl |
附加参数,可选 |
上传文件时可指定对象的预定义访问策略。 支持的值:
|
sc |
附加参数,可选 |
上传文件时可指定的对象的存储类型。 支持的值:
|
meta |
附加参数,可选 |
上传文件时可指定的标准和自定义元数据。
|
ps |
附加参数,可选 |
每个分段上传任务的段大小。
|
cpd |
附加参数,可选 |
生成断点记录文件的文件夹,默认为运行obsutil命令的用户目录的子文件夹.obsutil_checkpoint。 每个分段上传任务会产生唯一对应的断点记录文件并保存至该文件夹的upload子文件夹下。分段任务执行成功后,对应的断点记录文件会被自动删除;分段任务执行失败或被中断后,下次执行该分段任务时会尝试通过对应的断点记录文件恢复任务。 |
r |
附加参数,上传文件夹时必选 多文件上传时可选 |
递归上传文件夹中的所有文件和子文件夹。 |
f |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
强制操作,不进行询问提示。 |
j |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
上传文件夹时批量任务的最大并发数,默认为配置文件中的defaultJobs。
说明:
工具会保证该值至少为1。 |
msm |
附加参数,多文件/文件夹上传时必选 |
开启多文件/文件夹上传模式,支持的值:[1|2]。
|
exclude |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
不包含文件的匹配模式,设置该参数后,如果待上传的文件名匹配该参数,则跳过该文件的上传。如:*.txt,代表所有后缀为.txt的文件自动跳过,不上传。
约束限制: 该匹配模式仅对文件夹中的文件生效。
说明:
|
include |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
包含文件的匹配模式,设置该参数后,如果待上传的文件名匹配该参数,则上传该文件。如:*.txt,代表所有后缀为.txt的文件将会被上传。
约束限制:
示例: ./obsutil cp /localpath/ obs://test/ -include=/localpath/2022-12-09/* -f -r 以上命令的含义是:上传本地路径localpath下符合匹配规则的文件到test桶下,匹配规则是以“/localpath/2022-12-09/”开头的。
说明:
|
at |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
指定按照文件最后访问时间作为timeRange匹配模式,仅上传最后访问时间满足timeRange时间段的文件。 该参数需配合timeRange参数使用。 |
disableDirObject |
附加参数,多文件夹上传时可选 |
上传文件夹时,文件夹本身不会作为一个单独的对象上传,因此在有很多空文件夹的情况下,可以避免无用的文件夹上传到对象存储桶中。如果文件夹下有文件,这些文件会按原有路径格式上传,文件夹结构不受影响。 |
timeRange |
附加参数,多文件/文件夹上传或上传文件夹时可选 |
上传文件时的时间段匹配模式,仅上传最后修改时间在该时间段内的文件。 该匹配模式优先级低于文件名匹配模式:exclude和include,即优先执行exclude和include参数匹配,然后执行该匹配模式。
|
mf |
附加参数,可选 |
设置名称匹配模式(include、exclude)和时间匹配模式(timeRange)对文件夹也生效。 |
o |
附加参数,可选 |
生成结果清单文件的文件夹,命令执行完成后,会在该文件夹下生成结果清单文件(可能包含成功结果、失败结果、警告结果三个文件)。 默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。
|
config |
附加参数,可选 |
运行当前命令时的自定义配置文件。 可支持的配置参数请参考配置参数说明。 |
e |
附加参数,可选 |
指定终端节点。 |
i |
附加参数,可选 |
指定用户的AK。 |
k |
附加参数,可选 |
指定用户的SK。 |
t |
附加参数,可选 |
指定用户的securitytoken。 |