最近更新时间:2025-09-17 15:39:21
该接口用于获取指定Bucket设置的事件通知规则,调用该接口的用户必须是桶的拥有者或具有ks3:GetBucketNotification权限。
GET /?notification HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Authorization: {SignatureValue}该接口仅使用常用请求头部。
该接口不使用请求体。
该接口仅返回常用响应头。
一段描述事件通知规则的JSON:
{
"Notifications": [
{
"RuleId": "testNotification1",
"Method": "PUT",
"Events": [
"ks3:ObjectCreated:PutObject",
"ks3:ObjectCreated:PostObject"
],
"Resources": [
{
"Prefix": "",
"Suffix": ""
}
],
"Destinations": [
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
},
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
}
],
"Report": {
"ReportType": "failed",
"Enabled": "true",
"Bucket": "bucketname",
"Prefix": "prefixname"
}
},
{
"RuleId": "testNotification2",
"Method": "POST",
"Events": [
"ks3:ObjectCreated:SyncMirror",
"ks3:ObjectCreated:AsyncMirror"
],
"Resources": [
{
"Prefix": "prefix1",
"Suffix": "suffix1"
},
{
"Prefix": "prefix2",
"Suffix": "suffix2"
}
],
"Destinations": [
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
},
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
}
],
"Report": {
"ReportType": "failed",
"Enabled": "true",
"Bucket": "bucketname",
"Prefix": "prefixname"
}
}
]
}响应体内相关元素的具体描述如下:
名称 | 说明 |
Notifications | 事件通知规则信息。 每个Bucket最多可同时配置10个事件通知规则。 |
RuleId | 设置事件通知规则名称(单个UID内唯一),命名规范如下:
RuleId的命名规范如下: 1. 单个UID下创建的规则名称不能重复,重复设置就会覆盖。 2. 长度不能超过32个字符。 3. 必须以小写字母开头 ([a-z]),后面可以跟字母、数字或下划线 ([a-zA-Z0-9_]{0,31})。 |
Method | 事件通知内容推送至客户端地址的方式,取值如下:
|
Events | 设置需要触发消息通知的事件类型。
1. 单个规则支持选择多个事件类型。 2. KS3支持的事件通知类型请参见文档:事件通知。 |
Resources | 设置需要触发事件通知的对象过滤规则。支持设置前缀(Prefix)、后缀(Suffix),即符合前后缀要求的文件才会触发事件通知规则。
1. 如果同时设置了前缀与后缀规则,则事件需要同时满足二者,才会触发事件通知。 2. 如果前后缀均未设置,则会匹配存储桶内所有对象。 3. 单个规则(Rule)的路径不允许有重叠。 4. 单条规则(Rule)支持最多同时设置5个触发路径。 |
Prefix | 设置符合规则的对象前缀。
1. 当不填写Prefix和Suffix时,表示对整个桶内的文件均设置事件通知规则。 2. 如果要匹配Bucket内下名称为 |
Suffix | 设置符合规则的对象后缀。
如果要匹配Bucket内所有名称以 |
Destinations | 包含回调地址信息的容器。
单个规则(Rule)内,最多支持填写5个回调地址。 |
DestType | 回调地址信息的类型,固定取值:EndPoint。
|
CallbackUrl | 回调地址。当触发事件通知时,KS3会以回调方式将事件通知消息体以JSON格式推送至该地址。
1. 支持HTTP或HTTPS。 2. 支持填写IP+端口号。示例: 3. 支持填写域名地址。示例: 4. 支持填写带参数地址。示例: |
Report | 导出推送失败列表报告。
1. 当触发事件通知规则时,KS3会将事件通知内容推送至客户回调地址内,推送成功后KS3接口会返回响应头 2. 当触发事件通知规则时,由于网络抖动或其他异常场景导致事件通知内容推送至客户回调地址失败,KS3接口会返回响应头 3. 针对异常场景导致事件通知内容推送至客户回调地址失败,KS3会将该通知内容以失败列表的方式导出并每天定时投递至客户的指定桶内内。 |
ReportType | 推送的报告类型,仅支持导出推送失败的列表报告,固定值failed。
|
Enabled | 是否导出并投递失败列表报告,固定取值:true。
|
Bucket | 推送失败列表报告投递的桶名称。
|
Prefix | 推送失败列表报告投递的目录名称。
如果Prefix不存在,KS3将自动创建该名称的Prefix。 |
GET /?notification HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Date: Wed, 01 Mar 2016 12:00:00 GMT
Authorization: authorization stringHTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 312
Connection: keep-alive
Date: Wed, 16 Aug 2017 12:23:54 GMT
Server: KS3
x-kss-request-id: NTk5NDM5NWFfMjQ4OGY3Xzc3NGRf****
{
"Notifications": [
{
"RuleId": "testNotification1",
"Method": "PUT",
"Events": [
"ks3:ObjectCreated:PutObject",
"ks3:ObjectCreated:PostObject"
],
"Resources": [
{
"Prefix": "",
"Suffix": ""
}
],
"Destinations": [
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
},
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
}
],
"Report": {
"ReportType": "failed",
"Enabled": "true",
"Bucket": "bucketname",
"Prefix": "prefixname"
}
},
{
"RuleId": "testNotification2",
"Method": "POST",
"Events": [
"ks3:ObjectCreated:SyncMirror",
"ks3:ObjectCreated:AsyncMirror"
],
"Resources": [
{
"Prefix": "prefix1",
"Suffix": "suffix1"
},
{
"Prefix": "prefix2",
"Suffix": "suffix2"
}
],
"Destinations": [
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
},
{
"DestType": "Endpoint",
"CallbackUrl": "http://****"
}
],
"Report": {
"ReportType": "failed",
"Enabled": "true",
"Bucket": "bucketname",
"Prefix": "prefixname"
}
}
]
}状态码(Status) | 错误码(Code) | 描述 |
404 Not Found | NoSuchBucketNotification | 桶事件通知规则不存在 |
403 Forbidden | AccessDenied | 缺少权限 |
404 Not Found | NoSuchBucket | 桶不存在 |
纯净模式
