最近更新时间:2024-08-30 17:59:58
该接口是新增在线解压策略。创建策略必须是桶所有者(BucketOwner)
或者拥有PutBucketDecompressPolicy
权限。
请求语法
PUT /?decompresspolicy HTTP/1.1
Host: {Bucketname}.{Endpoint}
Authorization: {SignatureValue}
Content-Type: application/json
Content-Length: {length}
Date: {date}
compresspolicy in json body
请求参数
该接口不使用请求参数
请求头
该请求使用公共消息头
请求体(JSON)
{
"rules": [{
"id": "ruleid",
"events": "ObjectCreated:*",
"prefix": "decompress",
"suffix": [".zip"],
"overwrite": "0",
"callback":"http://callback.demo.com",
"callback_format":"JSON",
"path_prefix": "test/",
"path_prefix_replaced":"0",
"policy_type": "decompress"
}]
}
参数说明
参数名称 | 类型 | 是否必选 | 参数说明 |
rules | Container | 是 | 策略规则数组。 |
id | String | 是 | 解压策略名称,桶配置的解压规则的唯一标识。
长度为1~256个字符,只能由大写或小写的英文字母、数字、下划线(_)和连字符(-)组成。 |
events | String | 是 | ZIP在线解压触发事件,目前支持如下操作:
|
prefix | String | 否 | 匹配规则前缀(符合前缀的ZIP包)。
|
suffix | String | 是 | 匹配规则后缀。
|
overwrite | Integer | 是 | 解压后同名文件的处理方式,默认不覆盖 参数取值如下:
|
callback | String | 否 | 任务回调的地址,URL地址。 |
callback_format | String | 否 | 任务回调格式,JSON格式(若设置了回调地址,此项必填)。 |
path_prefix | String | 否 | 指定解压后在目标桶的输出文件的前缀,不为空时必须以“/”结尾。
|
path_prefix_replaced | Integer | 否 | 指定解压后的文件路径是否需要压缩包名称,参数取值如下:
|
policy_type | String | 是 | 文件解压策略类型。
|
请求示例
PUT /?decompresspolicy HTTP/1.1
Host: example.ks3-cn-beijing.ksyuncs.com
Authorization: authorization string
Content-Type: application/json
Content-Length: 497
Date: Tue, 21 June 2024 15:38:30 GMT
{
"rules": [{
"id": "test",
"events": "ObjectCreated:*",
"prefix": "prefix",
"suffix": [".zip"],
"overwrite": "0",
"callback":"http://callback.demo.com",
"callback_format":"JSON",
"path_prefix": "test/",
"path_prefix_replaced":"0",
"policy_type": "decompress"
}]
}
响应示例
HTTP/1.1 201 Created
Server: ks3
Date: Tue, 21 June 2024 15:38:30 GMT
Content-Length: 11
回调内容
解压完成后KS3会将JSON格式的解压结果推送至客户的回调地址,回调内容如下:
POST <URL>
Content-Type:application/json;charset=utf-8
{
"bucket":"<bucket_name>",
"object":"<object_name_zip>",
"overwrite": 0,
"path": "exampletest/source",
"result":{
"status":"200 ok",
"measage":"success"
}
}
参数说明
参数 | 说明 |
bucket | 解压ZIP包所在的Bucket名称。 |
object | 解压ZIP包的名称。 |
overwrite | 解压之后同名文件的处理方式:
|
path | 解压之后的路径,由目标目录+额外路径组成。 |
result | 解压任务的结果。 |
status | 解压任务的状态码。
|
message | 解压任务失败的原因,详情请参见如下报错信息。 |
报错信息
状态码 | 报错信息 | 错误原因 |
400 BadRequest | The files in the zip package damage | 文件损坏,解压失败。 |
400 BadRequest | The decompression package type is unsupported | 不支持解压其他类型的压缩包。 |
400 BadRequest | The number of files in the zip package exceeds 65536 | zip包的文件数量超过65536个。 |
400 BadRequest | The file size in the zip package exceeds 5GB | 单文件大小超过5GB。 |
400 BadRequest | The zip package file name does not meet naming requirements | ZIP包名称中带有中文标点符号、特殊符号和特殊编码。 |
400 BadRequest | The size of the zip package exceeds 1GB | ZIP包文件大小超过1GB。 |
400 BadRequest | The zip package file storage type is not supported | 归档存储类型的ZIP包不支持在线解压。 |
400 BadRequest | The encrypted zip file cannot be decompressed | 不支持解压加密ZIP文件。 |
500 InternalError | InternalError | 内部服务有问题。 |
纯净模式