OBS 消息通知 功能能夠幫助您對桶的重要的操作及時通知到您,確保您安全、及時知道發(fā)生在桶上的關鍵事件。
默認情況下,您的桶沒有配置事件通知。這個時候桶的通知配置將是一個空NotificationConfiguration。對已配置有事件通知的桶,可以通過添加空NotificationConfiguration元素禁用消息通知功能。
<NotificationConfiguration> </NotificationConfiguration>
目前 對象存儲服務 (OBS)支持包括簡單通知服務( SMN )、 函數(shù)工作流 服務(FunctionGraph)在內的兩種桶通知服務配置。以SMN為例,當OBS接收到配置消息通知的請求后,會驗證指定的消息通知服務(SMN)主題是否存在及主題策略是否授權給了 對象存儲 服務,驗證通過后會向該主題訂閱者發(fā)送一個測試消息通知。
為了能成功執(zhí)行此配置操作,需要確保執(zhí)行者擁有PutBucketNotification權限。默認情況下只有桶的所有者擁有該權限,但可以通過設置桶策略授權給其他用戶。
名稱 | 類型 | IN | 必選 | 描述 |
---|---|---|---|---|
Authorization
|
string | header | 是 |
請求消息中可帶的簽名信息。 |
Date
|
string | header | 否 |
請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
bucket_name
|
string | query | 是 |
請求的桶名稱。 |
notification
|
string | query | 是 |
notification表示請求桶的消息通知配置API。 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
TopicConfiguration
|
Array of TopicConfiguration objects | 否 | |
FunctionStageConfiguration
|
Array of FunctionStageConfiguration objects | 否 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Id
|
string | 否 |
每項事件通知配置的唯一標識,若是用戶未指定ID,系統(tǒng)將自動分配一個ID。 |
Filter
|
Filter object | 否 |
Object的元素,用以保存過濾對象名的一組規(guī)則。 |
Topic
|
string | 否 |
事件通知主題的URN,當OBS檢測到桶中發(fā)生特定的事件后,將會發(fā)布通知消息至該主題,可以在消息通知服務主題部分找到具體值。 模板:<Topic>urn:smn:region:project_id:smn_topic</Topic> |
Event
|
string | 否 |
需要發(fā)布通知消息的事件類型。 說明:在一個TopicConfiguration、FunctionStageConfiguration配置項中可以添加多個事件類型。 合法值: 上傳對象操作可以取以下值: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload 或者使用通配符支持所有上傳操作 ObjectCreated:* 刪除對象操作可以取以下值: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated 或者使用通配符支持所有刪除操作 ObjectRemoved:* |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Object
|
FilterObject object | 否 |
定義過濾規(guī)則的元素,該規(guī)則用以匹配對象名前綴和后綴。 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
FilterRule
|
Array of FilterRule objects | 否 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Name
|
string | 否 |
指定規(guī)則按對象名前綴或后綴進行過濾。 |
Value
|
string | 否 |
指定的對象名關鍵字,根據(jù)Name元素定義的前綴或后綴,輸入需要過濾的對象的關鍵字信息,字符越長匹配精度越高,最大可支持1024個字符。 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Id
|
string | 否 |
每項事件通知配置的唯一標識,若是用戶未指定ID,系統(tǒng)將自動分配一個ID。 |
Filter
|
Filter object | 否 |
Object的元素,用以保存過濾對象名的一組規(guī)則。 |
Topic
|
string | 否 |
事件通知主題的URN,當OBS檢測到桶中發(fā)生特定的事件后,將會發(fā)布通知消息至該主題,可以在消息通知服務主題部分找到具體值。 模板:<Topic>urn:smn:region:project_id:smn_topic</Topic> |
Event
|
string | 否 |
需要發(fā)布通知消息的事件類型。 說明:在一個TopicConfiguration、FunctionStageConfiguration配置項中可以添加多個事件類型。 合法值: 上傳對象操作可以取以下值: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload 或者使用通配符支持所有上傳操作 ObjectCreated:* 刪除對象操作可以取以下值: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated 或者使用通配符支持所有刪除操作 ObjectRemoved:* |
FunctionStage
|
string | 否 |
函數(shù)服務中函數(shù)的URN,當OBS檢測到桶中發(fā)生特定的事件后,將會發(fā)送消息至函數(shù)服務調用執(zhí)行該函數(shù)。 若添加父元素FunctionStageConfiguration,本元素是必選項。 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Object
|
FilterObject object | 否 |
定義過濾規(guī)則的元素,該規(guī)則用以匹配對象名前綴和后綴。 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
FilterRule
|
Array of FilterRule objects | 否 |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Name
|
string | 否 |
指定規(guī)則按對象名前綴或后綴進行過濾。 |
Value
|
string | 否 |
指定的對象名關鍵字,根據(jù)Name元素定義的前綴或后綴,輸入需要過濾的對象的關鍵字信息,字符越長匹配精度越高,最大可支持1024個字符。 |
請求成功響應消息。
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Content-Length
|
string | 否 |
響應消息體的字節(jié)長度。 |
Connection
|
string | 否 |
指明與服務器的連接是長連接還是短連接。 |
Date
|
string | 否 |
OBS系統(tǒng)響應的時間。 |
ETag
|
string | 否 |
對象的base64編碼的128位MD5摘要。ETag是對象內容的唯一標識,可以通過該值識別對象內容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。 |
x-obs-id-2
|
string | 否 |
幫助定位問題的特殊符號。 |
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。 |
請求失敗響應消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。
錯誤碼 | 描述 | HTTP狀態(tài)碼 |
---|---|---|
InvalidArgument | 該錯誤可能是由于下列原因導致。指定了不支持的event。指定的URN不存在或者填寫錯誤,請確認URN合法。指定的URN中的區(qū)域與桶所在的區(qū)域不一致,請確保桶所在的區(qū)域與URN中的區(qū)域一致。指定的過濾規(guī)則之間存在互相包含或者重疊。 | 400 Bad Request |
請求失敗響應消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。
錯誤碼 | 描述 | HTTP狀態(tài)碼 |
---|---|---|
AccessDenied | 執(zhí)行者不是桶的所有者,或者還未被授權PutBucketNotification權限。 | 403 Forbidden |