You need to enable JavaScript to run this app.
导航
PutBucketNotificationV2
最近更新时间:2024.08.01 20:30:32首次发布时间:2023.12.15 16:39:19

功能描述

此接口用于为存储桶(Bucket)设置事件通知规则。通过事件通知功能,您可以在存储桶内的资源发生变更时,获得事件通知。

注意事项

请求消息样式

PUT /?notification_v2 HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: GMT Date
Authorization: authorization string
{
    "Rules":[
        {
            "Events":[
                "tos:ObjectCreated:*",
                "tos:ObjectRemoved:*"
            ],
            "Filter":{
                "TOSKey":{
                    "FilterRules":[
                        {
                            "Name":"prefix",
                            "Value":"test_"
                        },
                        {
                            "Name":"suffix",
                            "Value":".jpg"
                        }
                    ]
                }
            },
            "RuleId":"string",
            "Destination":{
                "VeFaaS":[
                    {
                        "FunctionId":"function_id"
                    }
                ]
            }
        }
    ]
    "Version": "1698031811529301000"
}

请求参数与消息头

该请求返回的公共响应消息头,请参见公共参数

名称

位置

参数类型

是否必选

示例值

说明

notification_v2

Query

String

-

代表 PutBucketNotification 请求的特殊标识。

请求元素

名称

参数类型

是否必选

示例值

说明

Rules

Array

-

事件通知规则信息。

Events

Array

["tos:ObjectCreated:", "tos:ObjectRemoved:"]

设置需要通知的事件类型。TOS 支持的事件列表,请参见事件列表
父节点:Rules

Filter

Container

-

设置过滤规则。
父节点:Rules

TOSKey

Container

-

当前支持设置 FilterRule,即对象的过滤信息。
父节点:Filter

FilterRules

Array

[
{"Name": "prefix",
"Value": "test_"
},
{
"Name": "suffix",
"Value": ".jpg" }
]

设置对象需要匹配的过滤规则。支持设置 prefixsuffix,即分别根据前缀和后缀规则对事件对象过滤。

  • 如果同时设置了前缀与后缀规则,则事件需要同时满足二者,才会被通知。
  • 如果前后缀均未设置,则会匹配存储桶内所有对象。

父节点:TOSKey

Name

String

prefix

设置需要匹配的条件。取值说明如下:

  • prefix:前缀。
  • suffix:后缀。

父节点:FilterRules

Value

String

test_

设置需要匹配的前后缀信息。
父节点:FilterRules

RuleId

String

TestNotification

设置事件通知规则名称,命名规范如下:

  • 同一存储桶下创建的事件名称不能重复。
  • 长度不超过 255 个字符。

如果未设置,则 TOS 将自动生成规则名称。
父节点:Rules

Destination

Container

-

设置事件通知推送目标,至少包含一个目标,最多支持5个不同目标
父节点:Rules

VeFaaS

Array

[
{"FunctionId": "l2u0****"}
]

设置事件投递的函数服务类型目标,可以设置多个不同的函数服务
父节点:Destination

FunctionId

String

l2u0****

事件投递的函数 ID。您可以登录函数服务控制台,在函数配置页面查看函数 ID
父节点:VeFaaS

Version

string

1698031811529301000

事件通知规则的版本号,请求GetBucketNotificationV2接口可获取该值,如果设置则会保证事件通知规则设置的原子性,建议带上
与Rules同级

响应消息头

该请求返回的公共响应消息头,请参见公共参数

响应元素

对于正确请求,响应中无消息元素。

请求示例

PUT /?notification_v2= HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 13:53:55 +0000
Authorization: authorization string
{
    "Rules":[
        {
            "Events":[
                "tos:ObjectCreated:*",
                "tos:ObjectRemoved:*"
            ],
            "Filter":{
                "TOSKey":{
                    "FilterRules":[
                        {
                            "Name":"prefix",
                            "Value":"test_"
                        },
                        {
                            "Name":"suffix",
                            "Value":".jpg"
                        }
                    ]
                }
            },
            "RuleId":"TestNotification",
            "Destination":{
                "VeFaaS":[
                    {
                        "FunctionId":"l2u0****"
                    }
                ]
            }
        }
    ]
    "Version": "1698031811529301000"
}

响应示例

HTTP/1.1 200 OK
Content-Length: 0
Date: Wed, 17 May 2023 12:18:08 GMT
Server: TosServer
X-Tos-Id-2: c25e0164c600b8df6464c600-ac1bb4fd-1pzG6a-PBN-cgb-tos-front-2
X-Tos-Request-Id: c25e0164c600b8df6464c600-ac1bb4fd-1pzG6a-PBN-cgb-tos-front-2
X-Tos-Server-Time: 165