更新时间:2024-01-02 GMT+08:00

获取桶的消息通知配置

功能介绍

获取指定桶的消息通知配置信息。

为了能成功执行此配置操作,需要确保执行者拥有GetBucketNotification权限。默认情况下只有桶的所有者拥有该权限,但可以通过设置桶策略或用户策略授权给其他用户。

请求消息样式

1
2
3
4
GET /?notification HTTP/1.1 
Host: bucketname.obs.region.example.com
Date: date
Authorization: authorization

请求消息参数

该请求消息中不使用消息参数。

请求消息头

该请求使用公共消息头,具体参见表3

请求消息元素

该请求消息中不使用消息元素。

响应消息样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
HTTP/1.1 status_code
Content-Type: type
Date: date
Content-Length: length

<?xml version="1.0" encoding="UTF-8"?> 
<NotificationConfiguration xmlns="http://obs.example.com/doc/2015-06-30/"> 
    <TopicConfiguration>  
        <Id>ConfigurationId</Id>  
        <Filter>  
            <Object>  
                <FilterRule>  
                    <Name>prefix</Name>  
                    <Value>prefix-value</Value>  
                </FilterRule>  
                <FilterRule>  
                    <Name>suffix</Name>  
                    <Value>suffix-value</Value>  
                </FilterRule>  
           </Object>  
        </Filter>  
        <Topic>TopicARN</Topic>  
        <Event>event-type</Event>  
        <Event>event-type</Event>  
        ...  
    </TopicConfiguration>  
</NotificationConfiguration>

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

在此请求返回的响应消息体中包含的配置元素如下表1描述。

表1 Notification配置元素

名称

描述

NotificationConfiguration

配置桶事件通知的元素,如果此项内容为空,说明通知功能处于关闭状态。

类型:Container

父节点:无

子节点:一个或多个TopicConfiguration,

TopicConfiguration

配置事件通知主题的元素。

类型:Container

父节点:NotificationConfiguration

子节点:Id,Filter,Topic,一个或多个Event

Topic

事件通知主题的URN,当OBS检测到桶中发生特定的事件后,将会发布通知消息至该主题。

类型:String

父节点:TopicConfiguration

Id

每项事件通知配置的唯一标识,若是用户未指定ID,系统将自动分配一个ID。

类型:String

父节点:TopicConfiguration,

Filter

Object的元素,用以保存过滤对象名的一组规则。

类型:Container

父节点:TopicConfiguration,

子节点: Object

Object

Object的元素,用以保存过滤对象名的一组规则。

类型:Container

父节点:TopicConfiguration,

FilterRule

定义过滤规则键值对的元素。

类型:Container

父节点:Object

子节点:Name,Value

Name

指定规则按对象名前缀或后缀进行过滤。

类型:String

父节点:FilterRule

合法值:prefix或者suffix

Value

指定的对象名关键字,用以按照前缀或后缀过滤对象。

类型:String

父节点:FilterRule

Event

需要发布通知消息的事件类型。

说明:

在一个TopicConfiguration,配置项中可以添加多个事件类型。

类型:String

合法值:

上传对象操作可以取以下值:

  • ObjectCreated:Put
  • ObjectCreated:Post
  • ObjectCreated:Copy
  • ObjectCreated:CompleteMultipartUpload

或者使用通配符支持所有上传操作

  • ObjectCreated:*

删除对象操作可以取以下值:

  • ObjectRemoved:Delete
  • ObjectRemoved:DeleteMarkerCreated

或者使用通配符支持所有删除操作

  • ObjectRemoved:*

父节点:TopicConfiguration,

错误响应消息

无特殊错误,所有错误已经包含在表2中。

请求示例

1
2
3
4
5
6
GET /?notification HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 03:16:32 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:r5+2zwPTKwupMg6lkeTUUqPcHfQ=

响应示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 900B000001643FDDD751B37BA87590D8
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSJRBSladan5ZCVw6ZIY/DAs0zs6z7Hh
Content-Type: application/xml
Date: WED, 01 Jul 2015 03:16:32 GMT
Content-Length: 490

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NotificationConfiguration xmlns="http://obs.example.com/doc/2015-06-30/"> 
  <TopicConfiguration>
    <Topic>urn:smn:region:4b29a3cb5bd64581bda5714566814bb7:tet522</Topic>
    <Id>ConfigurationId</Id>
    <Filter>
      <Object>
        <FilterRule>
          <Name>prefix</Name>
          <Value>object</Value>
        </FilterRule>
        <FilterRule>
          <Name>suffix</Name>
          <Value>txt</Value>
        </FilterRule>
      </Object>
    </Filter>
    <Event>ObjectCreated:Put</Event>
  </TopicConfiguration>
</NotificationConfiguration>