全部文档
当前文档

暂无内容

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

文档中心

事件通知

最近更新时间:2025-09-01 19:16:57

KS3事件通知功能支持为指定Bucket设置事件通知规则,客户创建规则时,支持传入回调地址,触发事件通知规则后,KS3将事件通知内容将推送至客户的回调地址。

1. 单个规则(Rule)不支持修改,仅支持新增和删除。

2. 事件通知功能仅支持宁夏、俄罗斯区域。

3. 事件通知为邀测功能,如有需要请联系商务或提交工单申请。

4. 仅支持公网推送至客户的回调地址,不支持内网推送。

5. 不支持匿名访问KS3触发事件通知规则,请求KS3如果需要触发事件通知,需要携带签名访问。

6. 不支持跨账号访问触发事件通知规则。

7. 创建事件通知规则成功后,预计5分钟生效。

8. 不同的规则可以设置相同的回调地址,同一个规则也可以同时设置多个不同的回调地址。

9. 两个规则(Rule)如果事件类型一致,则前缀或后缀不允许存在重叠。

权限说明

主账号操作需进行的权限设置

使用事件通知功能,需新增KsyunKS3BucketLoggingProcessingRole角色,新增该角色后,针对异常场景导致事件通知内容推送至客户回调地址失败,KS3会将该通知内容以失败列表的方式导出,并每天定时投递至客户的指定桶内。如果没有该角色,最终将导致推送失败列表报告投递失败。

新增角色操作流程如下:

  1. 登录IAM控制台,点击【角色】→【新建角色】。

  1. 授权实体类型选择【金山云服务】→角色信息选择【服务关联角色】→授信云服务选择【对象存储】→点击【确认信息】。

子账号操作需进行的权限设置

  • 子账号使用事件通知功能前同样需要该账号具备KsyunKS3BucketLoggingProcessingRole角色,设置流程参考以上主账号操作需进行的权限设置

  • 子账号操作有关事件通知的每个接口都需要具备对应接口的权限,主账号可以通过空间策略的方式为子账号设置相应权限。

除以上权限外,主账号还需要给子账号授予以下权限,操作流程如下所示:

  1. 登录IAM控制台,点击【策略】→【自定义策略】→【新建策略】。

  1. 设置策略名称,如keb→设置策略类型为【策略语法】→选择策略模板为【空白模板】。

  1. 在编辑策略内容中输入以下策略:

{
    "Version": "2015-11-01",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "keb:*",
            "Resource": [
                "*"
            ]
        }
    ]
}
  1. 点击【创建策略】。

  1. 点击【子用户】页面→点击对应的子用户名称→选择【关联策略】→点击【添加权限】→选择【自定义策略】→选中设置的策略名称keb→点击【确定】。

支持的事件类型

事件类别

事件名称

KS3对应接口

描述

ks3:ObjectCreated:*

ks3:ObjectCreated:PutObject

PUT Object

调用PUT Object接口上传文件成功后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:CompleteMultipartUpload

Complete Multipart Upload

调用Complete Multipart Upload接口上传文件完成后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:SyncMirror

——

创建同步回源规则,同步回源成功上传到KS3后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:AsyncMirror

——

创建异步回源规则,异步回源成功上传到KS3后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:PostObject

POST Object

调用POST Object接口表单上传对象后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:CopyObject

PUT Object Copy

调用PUT Object Copy接口上传文件完成后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:AppendObject

Append Object

调用Append Object接口新增或追加文件,不区分新增上传或覆盖上传。

ks3:ObjectCreated:PutFetch

PUT Fetch

拉取对象上传至KS3成功后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:Replication

——

通过跨区域复制/同区域复制上传文件完成后触发,不区分新增上传或覆盖上传。

ks3:ObjectCreated:Recover

Recover Object

调用Recover Object接口将回收站内文件恢复到桶内操作,不区分新增上传或覆盖上传。

ks3:ObjectRemoved:*

ks3:ObjectRemoved:DeleteObject

DELETE Object

调用DELETE Object接口删除文件后触发。

ks3:ObjectRemoved:Lifecycle

——

通过生命周期规则删除文件后触发。

ks3:ObjectRemoved:Retention

CLEAR Object

调用CLEAR Object接口删除回收站内文件成功后触发,不区分调用接口删除或通过回收站规则定时删除。

事件通知推送内容

当客户在KS3上进行新增或删除文件等相关操作触发事件通知后,KS3会将事件通知内容以JSON格式推送至客户的回调地址。

推送示例如下所示:

{
  "id": "fr4i8td4kb68al7sthmnrmpfllosbs3h",
  "source": "kcs:ks3",
  "ruleId": "jy_test_nx00001",
  "type": "ks3:ObjectCreated:PutObject",
  "specversion": "1.0",
  "time": "2025-06-24T12:54:09.932 08:00",
  "datacontenttype": "application/json",
  "subject": "jy-test-nx/21",
  "extensions": {
    "accountid": "73403574",
    "userid": "30542",
    "roleid": "",
    "region": "NINGXIA",
    "eventversion": "1.0"
  },
  "data": {
    "request": {
      "sourceIPAddress": "10.232.61.249"
    },
    "response": {
      "requestId": "fr4i8td4kb68al7sthmnrmpfllosbs3h"
    },
    "ks3": {
      "bucket": {
        "name": "jy-test-nx",
        "ownerid": "73403574"
      },
      "object": {
        "key": "21",
        "objectsize": "21",
        "etag": "xZHJRA3az9V0Y0jqGv7zjw==",
        "position": 21
      }
    }
  }
}

推送字段详细说明如下:

参数名称

说明

id

事件ID,标识事件的唯一性,与KS3接口请求ID一致。

source

提供事件的服务,固定值:kcs:ks3

ruleId

客户创建事件通知规则时设置,单个UID内ruleId不能重复。

type

触发事件通知的事件类型。

specversion

CloudEvents协议版本,当前版本为1.0

time

事件产生的时间,使用ISO-8601标准时间格式。

  • 示例:2025-06-24T12:54:09.932 08:00

datacontenttype

推送事件通知内容的格式,固定取值:application/json

subject

指定触发事件通知的对象名称。

  • 示例:bucketname/prefix1/prefix2/aaa.txt

extensions

扩展属性,用于存放账号、地域等公共属性。

accountid

Bucket拥有者的账号ID(UID)。

userid

发起请求的子账号名称,如果是主账号访问,将不推送该字段。

roleid

请求发起者的角色ID。

region

Bucket所在的区域。

eventversion

KS3事件data schema版本,固定取值:1.0

data

KS3操作及资源相关信息。

request

请求相关信息。

sourceIPAddress

请求者的源IP地址。

response

响应相关信息。

requestId

请求ID。

ks3

KS3资源相关信息。

bucket

Bucket相关信息。

name

Bucket的名称。

ownerid

Bucket的创建者对应的账号ID(UID)。

object

对象相关信息。

key

对象的Key。

  • 示例:prefix1/prefix2/aa.png

objectsize

对象的大小。

etag

对象的ETag值。

position

追加上传的起始位置。

仅适用于ks3:ObjectCreated:AppendObject事件,表示此次请求开始追加的位置。首次AppendObject请求的位置从0字节开始。

使用方式

操作方式

文档链接

API

SDK

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

纯净模式

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