PutNotification
更新时间:2024-04-08
接口描述
本接口用于指定bucket上增加通知规则。
注意:
- 只有bucket owner或者full control权限才能获取这个bucket的配置。
- 如果不是bucket owner则返回403,如果对应的文件不存在则返回404。
请求
-
请求语法
PUT /?notification HTTP/1.1 Host: <BucketName>.bj.bcebos.com Date: <Date> Authorization: <AuthorizationString> Content-Type: application/json; charset=utf-8 Content-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请求。 |
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 |
响应
示例
-
请求示例
PUT /?notification HTTP/1.1 Host: <BucketName>.bj.bcebos.com Date: Wed, 12 Sep 2018 06:34:40 GMT Authorization: <AthorizationString> Content-Type: application/json; charset=utf-8 Content-Length: 0 { "notifications": [ { "id": "notify-id-1", "name": "rule-name", "appId": "app-id-1", "status": "enabled", "encryption": { "key": "06a62b70f47dc4a0a7da349609f1a1ac", }, "resources": [ "bucket-a/path1", "/path2", "/path3/*.jpg", "/path4/*" ], "events": [ "PutObject" ], "apps": [ { "id": "app-id-1", "eventUrl": "http://xxx.com/event", "xVars": "" }, { "id": "app-id-2", "eventUrl": "brn:bce:cfc:bj:1f1c3e38xxxxxxxx4c44523f0d5b22:function:hello_bos:$LATEST" }, { "id": "app-id-3", "eventUrl": "app:ImageOcr", "xVars": "{\"saveUrl\": \"http://xxx.com/ocr\"}" } ] } ] }
-
响应示例
HTTP/1.1 200 OK x-bce-request-id: 4db2b34d-654d-4d8a-b49b-xxxxxx786409 Date: Wed, 12 Sep 2018 06:34:40 GMT Content-Length: 0 Connection: close Server: BceBos