PutNotification
更新时间:2026-07-29
接口描述
本接口用于指定bucket上增加通知规则。
注意:
- 只有bucket owner或者full control权限才能获取这个bucket的配置。
- 如果不是bucket owner则返回403,如果对应的文件不存在则返回404。
请求
-
请求语法
Plain Text1PUT /?notification HTTP/1.1 2Host: <BucketName>.bj.bcebos.com 3Date: <Date> 4Authorization: <AuthorizationString> 5Content-Type: application/json; charset=utf-8 6Content-Length: <ContentLength> -
请求参数
| 字段 | 类型 | 必要性 | 说明 |
|---|---|---|---|
| id | String | 必选 | 规则id |
| name | String | 可选 | 规则名称 |
| appId | String | 必选 | 注册本条规则的产品id |
| status | String | 必选 | 可选值:{"disabled", "enabled"} |
| encryption | Object | 可选 | 加密方式 |
| +key | String | 可选 | 加密密钥,如果不为空,则用IAM的算法对通知的请求进行签名,key对应IAM签名中的SecretAccessKey |
| resources[] | Array | 必选 | 订阅的资源 |
| +resource | String | 必选 | 订阅的资源,${bucket_name}/path1/*.jpg或者/path1/*.jpg,最多只能有1个* |
| events[] | Array | 必选 | 订阅的事件 |
| +eventType | String | 必选 | 事件类型,当前支持: - PutObject:普通上传Object - PostObject:表单上传Object - AppendObject:追加上传Object - CopyObject:拷贝Object - CompleteMultipartUpload:完成Object分片上传 - FetchObject:抓取Object,包含镜像回源等产生的抓取 - DeleteObject:删除Object - DeleteMultipleObjects:删除多个Object - "BosLifecycle:Copy" :生命周期Lifecycle触发的复制事件,包含CopyObect请求和分块复制第三步CompleteMultipartUpload请求。 - "ObjectCreateGroup:*" :所有创建新文件操作。 - "ObjectModifyGroup:*" :所有修改文件操作,包括覆盖文件、设置文件自定义meta、更改文件存储类型、更改文件加密算法的操作。 |
| apps[] | Array | 必选 | 订阅消息的产品 |
| +id | String | 必选 | 被通知的产品id |
| +eventUrl | String | 必选 | 处理事件通知的url,可选值:{"http", "https", "brn", "app"},http/https为自定义应用,brn为cfc的通知,app为官方应用 |
| +xVars | String | 可选 | 透传的自定义参数,对框架透明,用于业务自我回传的值,如果是官方AI应用,则是一个字符串化的json,并包含一个saveUrl的地址,用于接收处理结果 |
如果仅用于配置通知或者回调的密钥,可以简化为如下参数:
| 字段 | 类型 | 必要性 | 说明 |
|---|---|---|---|
| id | String | 必选 | 规则id |
| name | String | 可选 | 规则名称 |
| appId | String | 必选 | 注册本条规则的产品id |
| status | String | 必选 | 可选值:{"disabled", "enabled"} |
| encryption | Object | 可选 | 加密方式 |
| +key | String | 可选 | 加密密钥,如果不为空,则用IAM的算法对通知的请求进行签名,key对应IAM签名中的SecretAccessKey |
响应
示例
-
请求示例
Plain Text1PUT /?notification HTTP/1.1 2Host: <BucketName>.bj.bcebos.com 3Date: Wed, 12 Sep 2018 06:34:40 GMT 4Authorization: <AthorizationString> 5Content-Type: application/json; charset=utf-8 6Content-Length: xxx 7 8{ 9 "notifications": [ 10 { 11 "id": "notify-id-1", 12 "name": "rule-name", 13 "appId": "app-id-1", 14 "status": "enabled", 15 "encryption": { 16 "key": "06a62b70f47dc4a0a7da349609f1a1ac", 17 }, 18 "resources": [ 19 "bucket-a/path1", "/path2", "/path3/*.jpg", "/path4/*" 20 ], 21 "events": [ 22 "PutObject" 23 ], 24 "apps": [ 25 { 26 "id": "app-id-1", 27 "eventUrl": "http://xxx.com/event", 28 "xVars": "" 29 }, 30 { 31 "id": "app-id-2", 32 "eventUrl": "brn:bce:cfc:bj:1f1c3e38xxxxxxxx4c44523f0d5b22:function:hello_bos:$LATEST" 33 }, 34 { 35 "id": "app-id-3", 36 "eventUrl": "app:ImageOcr", 37 "xVars": "{\"saveUrl\": \"http://xxx.com/ocr\"}" 38 } 39 ] 40 } 41 ] 42} -
响应示例
Plain Text1HTTP/1.1 200 OK 2x-bce-request-id: 4db2b34d-654d-4d8a-b49b-xxxxxx786409 3Date: Wed, 12 Sep 2018 06:34:40 GMT 4Content-Length: 0 5Connection: close 6Server: BceBos
敏感信息检测
事件通知支持敏感信息检测,支持对上传的图像和文本进行检测,如果被检测文件否包含人名、手机号、座机号、身份证号、地址、邮件、ip地址、银行卡号等信息,会将检测结果按照csv文件格式投递到用户指定的bucket和路径下。如果文件不包含敏感信息,则不会投递此文件的检测结果。
当事件通知类型为敏感信息检测时,"eventUrl"字段固定取值为"app:ClassificationCheck"。
当事件通知类型为敏感信息检测时,xVars字段内网的取值定义如下:
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| targetBucket | string | 投递结果的目标bucket | target-bucket1 |
| targetKey | string | 投递结果的目标bucket下的前缀 | "result_prefix1/" |
| probability | int | 检测比率,取值[1,100]之间的整数。根据检测比率进行抽样检测,如probability取值10,表示对10%的匹配中事件通知敏感信息检测规则的文件进行抽样检测。 | 10 |
例如:"xVars": "{\"targetBucket\":\"target-bucket1\",\"targetKey\":\"result_prefix1/\",\"probability\":10}"
注意:敏感信息检测功能会收取数据处理费用。
Plain Text
1PUT /?notification HTTP/1.1
2Host: <BucketName>.bj.bcebos.com
3Date: Wed, 12 Sep 2018 06:34:40 GMT
4Authorization: <AthorizationString>
5Content-Type: application/json; charset=utf-8
6Content-Length: xxx
7
8{
9 "notifications": [
10 {
11 "appId": "classification-check",
12 "apps": [
13 {
14 "eventUrl": "app:ClassificationCheck",
15 "id": "ClassificationCheck",
16 "xVars": "{\"targetBucket\":\"target-bucket1\",\"targetKey\":\"result_prefix1/\",\"probability\":10}"
17 }
18 ],
19 "events": [
20 "CompleteMultipartUpload",
21 "CopyObject",
22 "PutObject",
23 "PostObject",
24 "FetchObject"
25 ],
26 "id": "classification-check-by-bos",
27 "name": "classification-check",
28 "resources": [
29 "/*.jpg",
30 "/*.jpeg",
31 "/*.png",
32 "/*.bmp",
33 "/*.svg",
34 "/*.parquet",
35 "/*.orc",
36 "/*.csv",
37 "/*.tsv",
38 "/*.json",
39 "/*.txt"
40 ],
41 "status": "enabled"
42 }
43 ]
44}
评价此篇文章
