全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

PUT Bucket Decompress Policy

最近更新时间:2024-08-30 17:59:58

描述

该接口是新增在线解压策略。创建策略必须是桶所有者(BucketOwner)或者拥有PutBucketDecompressPolicy权限。

有关在线解压规则描述的更多细节,请参见文档ZIP在线解压

请求

请求语法

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]。

长度为1~256个字符,只能由大写或小写的英文字母、数字、下划线(_)和连字符(-)组成。

events

String

ZIP在线解压触发事件,目前支持如下操作:

  • "ObjectCreated:*":表示所有创建对象的操作,包含Put、Post、Copy对象以及合并分段任务;

  • "ObjectCreated:Put":使用Put方法上传ZIP包;

  • "ObjectCreated:Post":使用Post方法上传ZIP包;

  • "ObjectCreated:Copy":使用Copy方法复制ZIP包;

  • "ObjectCreated:CompleteMultipartUpload":使用合并分块上传ZIP包。

prefix

String

匹配规则前缀(符合前缀的ZIP包)。

  • 若不指定前缀会默认匹配上传的所有ZIP包。

suffix

String

匹配规则后缀。

  • 默认为.zip,且当前仅支持ZIP包格式。

overwrite

Integer

解压后同名文件的处理方式,默认不覆盖

参数取值如下:

  • 0(默认值):不覆盖跳过,保留桶内已有对象,跳过同名对象,不进行解压;

  • 1:覆盖,保留解压出的对象,删除桶内已有同名对象。

callback

String

任务回调的地址,URL地址。

callback_format

String

任务回调格式,JSON格式(若设置了回调地址,此项必填)。

path_prefix

String

指定解压后在目标桶的输出文件的前缀,不为空时必须以“/”结尾。

  • 不填则默认保存在存储桶根路径下。

path_prefix_replaced

Integer

指定解压后的文件路径是否需要压缩包名称,参数取值如下:

  • 0(默认值):保留压缩文件名

  • 1:直接解压到目标目录中

policy_type

String

文件解压策略类型。

  • 固定值:decompress。

请求示例

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

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

  • 0:不覆盖跳过,保留桶内已有对象,跳过同名对象,不进行解压;

  • 1:覆盖,保留解压出的对象,删除桶内已有同名对象。

path

解压之后的路径,由目标目录+额外路径组成。

result

解压任务的结果。

status

解压任务的状态码。

  • 200 OK:成功;

  • 400 BadRequest:解压失败。

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

内部服务有问题。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈