文档首页/ 对象存储服务 OBS/ API参考/ 桶API/ 在线解压/ 设置在线解压策略-PutDecompressPolicy
更新时间:2026-04-15 GMT+08:00
分享

设置在线解压策略-PutDecompressPolicy

功能介绍

OBS支持ZIP包上传后自动解压并存放在指定目录。桶设置了在线解压策略后,上传到该桶内的ZIP包如果匹配解压策略,ZIP包将会自动解压到指定目录里。本接口用于为指定桶配置ZIP文件解压策略。了解更多在线解压相关信息,请参见在线解压

接口约束

权限限制:

  • 需要使用IAM的角色与策略授权功能,增加Tenant Administrator权限后才能设置、获取、删除在线解压策略。
  • 在线解压源需使用IAM创建云服务委托,委托OBS获取桶内数据,上传数据到桶内。委托需要给OBS服务授予obs:object:PutObject、obs:object:GetObject、obs:object:AbortMultipartUpload权限。

包及文件大小限制:

  • 单个ZIP包大小上限为1GB
  • 单个ZIP包内最多可包含65536个文件。
  • ZIP包内,单个文件解压后最大为40GB。

时间限制:

  • ZIP包解压任务最大时长为10分钟。

功能限制:

  • ZIP包的后缀必须为zip。
  • ZIP包名称中不可带有中文标点符号、特殊符号和特殊编码。
  • 针对ZIP包嵌套的场景,在线解压策略的事件类型需设置为ObjectCreated:*或ObjectCreated:CompleteMultipartUpload。
  • 目前不支持解压任务完成后给用户发送消息通知。
  • 目前仅支持解压压缩算法为deflated的ZIP包,此处的压缩算法与WINRAR等软件提供的Store、Normal等压缩方法不等同。
  • 解压路径加上压缩包解压出文件的文件名,总字符长度不可超过512,否则会导致解压失败。
  • 目前不支持解压加密ZIP包。
  • 不支持企业联邦用户使用在线解压功能,更多关于联邦用户的相关信息请参考华为云账号、华为账号、IAM用户、企业联邦用户的关系身份提供商概述

请求消息样式

PUT /?obscompresspolicy HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Authorization: authorization
Content-Type: application/json
Content-Length: length
Date: date

policy json body

URI参数(URI Parameters)

该请求消息中不使用消息参数。

请求头参数(Request headers)

该请求使用公共请求头,具体参见表3

请求体参数(Request body)

表1 请求体参数(Request body)

名称

描述

是否必选

rules

策略规则数组。

类型:Container

取值范围:数组大小[1, 10]

说明:

同一个桶下的不同策略前缀不能重复和起始包含,委托建议使用同一个。

表2 rules参数说明

名称

描述

是否必选

id

解压策略名称。当前桶上配置的解压规则的唯一标识。

类型:String

取值范围:[1, 256],满足“^[a-zA-Z0-9_-]{1, 256}$”,即长度为1~256个字符。只能由大写或小写的英文字母、数字、下划线(_)和连字符(-)组成。例如:event_0001。

project

项目ID。

类型:String

agency

委托名。客户通过委托赋予OBS服务查询用户桶内指定对象是否存在以及向用户桶内上传对象的权限。

类型:String

events

触发事件类型。

类型:String

支持:

["ObjectCreated:*"]
["ObjectCreated:Put"]
["ObjectCreated:Post"]
["ObjectCreated:Copy"]
["ObjectCreated:CompleteMultipartUpload"]

prefix

匹配规则前缀。

类型:String

取值范围:[0, 1023]

suffix

匹配规则后缀。

类型:String

固定值:.zip

overwrite

解压后同名文件的处理方式。

类型:Integer

取值范围:0:不覆盖跳过,1:不覆盖,以文件的CRC32值重命名,2:覆盖。

decompresspath

文件解压后存放的路径,不为空时必须以“/”结尾,且不能以“/”开头。

类型:String

取值范围:[0, 800]

policytype

文件解压策略类型。

类型:String

固定值:decompress:执行解压操作

请保证解压策略名称、解压路径、IAM委托名称长度之和不超过800。

响应消息样式

HTTP/1.1 status
Server: OBS
Date: date
Content-Length: length

响应头 (Response Headers)

该请求的响应消息使用公共响应头,具体请参考表1

响应体 (Response Body)

该请求的响应消息中不带消息元素。

错误响应消息

无特殊错误,所有错误已经包含在表2OEF错误码中。

请求示例

PUT /?obscompresspolicy HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=
Content-Type: application/json
Content-Length: 497
Date: Tue, 21 Jul 2020 15:38:30 GMT

{
	"rules": [{
		"id": "ruleid",
		"project": "your project id",
		"agency": "testagency",
		"events": ["ObjectCreated:*"],
		"prefix": "decompress",
		"suffix": ".zip",
		"overwrite": 0,
		"decompresspath": "after-decompress/",
                "policytype": "decompress"
	}]
}

响应示例

HTTP/1.1 201 Created
Server: OBS
Date: Tue, 07 Jul 2020 07:29:13 GMT
Content-Length: 0

相关文档

  • 了解更多在线解压相关信息,请参见在线解压
  • API操作涉及的计费项参见计费项

相关文档