PutNotification
更新时间:2024-10-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: 0 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
