You need to enable JavaScript to run this app.
导航
PutBucketNotification
最近更新时间:2024.08.01 20:30:31首次发布时间:2023.05.24 16:53:12

功能描述

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

注意事项

  • 调用此接口您必须为桶所有者,或被授权当前桶的 PutBucketNotification 权限。
  • 推荐使用PutBucketNotificationV2接口,支持将同一事件推送至多个不同的目标。

请求消息样式

PUT /?notification HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: GMT Date
Authorization: authorization string
{
  "CloudFunctionConfigurations": [
    {
      "Events": [
        "tos:ObjectCreated:*",
        "tos:ObjectRemoved:*"
      ],
      "Filter": {
        "TOSKey": {
          "FilterRules": [
            {
              "Name": "prefix",
              "Value": "test_"
            },
            {
              "Name": "suffix",
              "Value": ".jpg"
            }
          ]
        }
      },
      "RuleId": "string",
      "CloudFunction": "string"
    }
  ]
}

请求参数与消息头

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

名称

位置

参数类型

是否必选

示例值

说明

notification

Query

String

-

代表 PutBucketNotification 请求的特殊标识。

请求元素

名称

参数类型

是否必选

示例值

说明

CloudFunctionConfigurations

Array

-

事件通知规则信息。

Events

Array

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

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

Filter

Container

-

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

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 将自动生成规则名称。
父节点:CloudFunctionConfigurations

CloudFunction

String

l2u0****

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

响应消息头

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

响应元素

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

请求示例

PUT /?notification= HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 13:53:55 +0000
Authorization: authorization string
{
    "CloudFunctionConfigurations": [
        {
            "RuleId": "TestNotification",
            "Events": [
                "tos:ObjectCreated:Put"
            ],
            "Filter": {
                "TOSKey": {
                    "FilterRules": [
                        {
                            "Name": "prefix",
                            "Value": "test-"
                        },
                        {
                            "Name": "suffix",
                            "Value": ".jpg"
                        }
                    ]
                }
            },
            "CloudFunction": "l2u0****"
        }
    ]
}

响应示例

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