日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

對象存儲OSS

通過創建事件通知規則,輕量消息隊列(原 MNS)可以將對象存儲 OSS(Object Storage Service)指定資源上產生的事件以消息的方式主動推送到指定的接收端。本文介紹對象存儲OSS事件通知的背景信息、適用場景、事件類型、消息格式及操作步驟。

背景信息

如下圖所示,如果您創建了事件通知規則,當您在請求OSS進行相關操作時,輕量消息隊列(原 MNS)將OSS指定資源上產生的事件以消息的方式推送到接收端。

image

在請求OSS進行相關操作時,事件通知通過在返回的Response中增加Header來描述觸發事件通知的結果,不會影響原定接口的返回值。如果沒有匹配事件通知的規則,則不會增加Header;如果匹配成功,不管事件通知是否觸發成功,都會增加這個Header。Header格式如下:

x-oss-process-status: 'ewogICAgImNvZGUiOiAiU3VjY2VzcyIsCiAgICAibWVzc2FnZSI6ICJOb3RpZmljYXRpb25TdWNjZWVkIiwKICAgICJ0eXBlIjogIkV2ZW50Tm90aWZpY2F****'
  • key:x-oss-process-status

  • value:經過Base64編碼,解碼后為:

    {
        "code":"Success",  //此次觸發事件通知的結果。如果成功,返回Success,否則為Fail。Success表示OSS將消息發送到了主題,并不代表主題將消息推送到了Endpoint。
        "message":"NotificationSucceed",   //此次操作的詳細描述。如果失敗,此處會說明失敗的原因。
        "type":"EventNotification",   //操作類型。事件通知的操作類型統一為EventNotification。
        "version":"1.0"
    }

更多消息推送的內容,請參見推送類型

適用場景

  • 當您授權其他用戶對您的資源(Bucket)進行某些操作的權限,且希望關注這些操作,可以通過創建規則,在這些操作發生時主動通知您。

  • 通過事件通知的方式進行數據分析、查看一段時間內某個操作發生的次數,分析您的業務最近的發展趨勢。您還可以將這些事件通知的消息導入其他服務,例如EMR,進一步進行自定義分析。

  • 通過事件通知監控您的資源上發生的某些操作的QPS等指標。

事件類型

重要

ObjectCreatedGroup、ObjectDownloadedGroup、ObjectRemovedGroup三種事件類型目前支持在中國香港、美國(硅谷)、美國(弗吉尼亞)、德國(法蘭克福)、新加坡、英國(倫敦)地域配置。

配置的事件類型

說明

關聯消息通知返回的事件名稱

PutObject

通過簡單上傳創建或覆蓋文件。

ObjectCreated:PutObject

PostObject

通過表單上傳創建或覆蓋文件。

ObjectCreated:PostObject

CopyObject

通過拷貝文件創建或覆蓋文件。

ObjectCreated:CopyObject

InitiateMultipartUpload

初始化一個分片上傳任務。

ObjectCreated:InitiateMultipartUpload

UploadPart

通過上傳分片創建或覆蓋文件。

ObjectCreated:UploadPart

UploadPartCopy

通過分片拷貝創建或覆蓋文件。

ObjectCreated:UploadPartCopy

CompleteMultipartUpload

完成分片上傳。

ObjectCreated:CompleteMultipartUpload

AbortMultipartUpload

取消分片上傳任務并刪除對應的分片。

ObjectRemoved:AbortMultipartUpload

AppendObject

通過追加上傳創建或追加文件。

ObjectCreated:AppendObject

GetObject

通過簡單下載獲取文件。

ObjectDownloaded:GetObject

DeleteObject

刪除單個文件。

ObjectRemoved:DeleteObject

DeleteObjects

刪除多個文件。

ObjectRemoved:DeleteObjects

ObjectReplication:ObjectCreated

數據復制過程涉及的寫入操作。

ObjectReplication:ObjectCreated

ObjectReplication:ObjectRemoved

數據復制過程涉及的刪除操作。

ObjectReplication:ObjectRemoved

ObjectReplication:ObjectModified

數據復制過程涉及的覆蓋操作。

ObjectReplication:ObjectModified

ObjectCreatedGroup

所有創建或覆蓋文件操作。

關聯消息通知返回的事件名稱可以是任意以ObjectCreated:開頭的事件,具體取決于選擇的上傳方式。例如,通過SDK簡單上傳文件時,事件名稱為ObjectCreated:PutObject。通過OSS控制臺上傳文件時,事件名稱為ObjectCreated:PostObject。

ObjectDownloadedGroup

所有獲取文件操作。

關聯消息通知返回的事件名稱可以是任意以ObjectDownloaded:開頭的事件,具體取決于選擇的下載方式。例如,通過簡單下載獲取文件時,事件名稱為ObjectDownloaded:GetObject。

ObjectRemovedGroup

所有刪除文件操作。

關聯消息通知返回的事件名稱可以是任意以ObjectRemoved:開頭的事件,具體取決于選擇的刪除方式。例如,刪除單個文件時,事件名稱為ObjectRemoved:DeleteObject。批量刪除多個文件時,事件名稱為ObjectRemoved:DeleteObjects。

FinishRestore

完成解凍。該事件類型僅支持冷歸檔存儲、深度冷歸檔存儲Object。

ObjectRestore:FinishRestore

消息格式

對象存儲OSS的事件通知消息內容是經過Base64編碼的,解碼后是JSON格式,示例代碼如下所示。

{
    "events":[
        {
            "eventName":"ObjectDownloaded:GetObject",
            "eventSource":"acs:oss",
            "eventTime":"2016-07-01T11:17:30.000Z",
            "eventVersion":"1.0",
            "oss":{
                "bucket":{
                    "arn":"acs:oss:cn-shenzhen:123456789098****:event-notification-test-shenzhen",
                    "name":"event-notification-test-shenzhen",
                    "ownerIdentity":"123456789098****"
                },
                "object":{
                    "deltaSize":0,
                    "eTag":"0CC175B9C0F1B6A831C399E26977****",
                    "key":"test",
                    "readFrom":0,
                    "readTo":1,
                    "size":1
                },
                "ossSchemaVersion":"1.0",
                "ruleId":"GetObjectRule"
            },
            "region":"cn-shenzhen",
            "requestParameters":{
                "sourceIPAddress":"140.205.XX.XX"
            },
            "responseElements":{
                "requestId":"5776514AF09A9E654242****"
            },
            "userIdentity":{
                "principalId":"123456789098****"
            },
            "xVars":{
                "x:callback-var1":"value1",
                "x:vallback-var2":"value2"
            }
        }
    ]
}

參數解釋如下所示。

參數

描述

eventName

事件類型。

eventSource

事件源。

eventTime

事件產生的時間。

eventVersion

事件協議的版本。

oss

OSS事件內容。

bucket

bucket參數內容。

arn

Bucket的唯一標識符。

name

Bucket的名稱。

ownerIdentity

創建Bucket的用戶ID。

object

Object參數內容。

deltaSize

Object的大小變化量。

eTag

Object的內容。對于Put Object請求創建的Object,ETag值是其內容的MD5值;對于其他方式創建的Object,ETag值是基于一定計算規則生成的唯一值,但不是其內容的MD5值。ETag值可以用于檢查Object內容是否發生變化。

key

Object的名稱。

readFrom

文件開始讀取的位置。

readTo

文件最后讀取的位置

size

Object的大小。

ossSchemaVersion

OSS模式的版本號。

ruleId

事件匹配的規則ID。

region

Bucket所在的地域。

requestParameters

請求參數值。

sourceIPAddress

請求的源IP。

responseElements

返回參數值。

requestId

請求對應的Request ID。

userIdentity

用戶信息。

principalId

請求發起者的UID。

xVars

OSS的Callback功能中的自定義參數。

注意事項

  • 事件通知規則創建完成后,約10分鐘生效。

  • 系統會自動為新建的規則創建主題,主題可能產生費用,詳情請參見計費說明

  • 事件通知規則支持創建和刪除,暫時不支持修改。

步驟一:創建隊列

  1. 登錄輕量消息隊列(原 MNS)控制臺

  2. 在左側導航欄,選擇隊列模型 > 隊列列表

  3. 在頂部菜單欄,選擇地域。

  4. 隊列列表頁面,單擊創建隊列

  5. 創建隊列面板配置以下參數,然后單擊確定

    • 名稱:隊列名稱。

    • 消息最大長度:發送到隊列的消息體的最大長度。

    • 長輪詢時間:當隊列中沒有消息時,該隊列的ReceiveMessage請求的最大等待時長。

    • 消息可見性超時時間:消息從隊列中取出后從Active狀態變成Inactive狀態后的持續時間。

    • 消息保存時長:消息在隊列中的最長存活時間。從發送到隊列開始經過此參數指定的時間后,不論消息是否被取出都將被刪除。

    • 消息定時時間:發送到隊列的所有消息將延后此參數指定的時間后被消費。

    • 啟用日志功能:是否開啟日志管理功能。

    隊列列表頁面目標隊列已創建。

步驟二:創建Bucket

  1. 登錄OSS管理控制臺

  2. 在左側導航欄,單擊Bucket列表

  3. Bucket列表頁面,單擊創建Bucket

  4. 創建 Bucket面板,配置Bucket參數,然后單擊確定

    • Bucket 名稱:輸入event-notification-test

    • 地域:跟隊列所在的地域保持一致。

    • 阻止公共訪問:不開通

    • 讀寫權限:選擇公共讀寫

      說明

      其他配置項請保持默認。

步驟三:創建自定義規則

創建一個新規則后,輕量消息隊列(原 MNS)會自動創建一個主題,并且以指定的Endpoint創建訂閱。您可以在輕量消息隊列(原 MNS)控制臺查看和管理這些主題與訂閱(例如創建新的訂閱)。

  1. 登錄輕量消息隊列(原 MNS)控制臺

  2. 在左側導航欄,單擊事件通知

  3. 在頂部菜單欄,選擇地域。

  4. 事件通知頁面,單擊對象存儲OSS頁簽, 然后單擊創建規則

  5. 創建規則-對象存儲OSS面板,進行以下配置,然后單擊確定

    • 名稱:輸入規則名稱。

    • 事件類型:選擇事件類型。

    • 匹配規則:設置匹配規則。

      說明

      匹配規則可以是全名、前綴、后綴以及前后綴,不同規則不能有交集。OSS資源包括Bucket和Object,通過“/”連接。例如:資源movie/hello.avi由Bucket(movie)和Object(hello.avi)組成。

      • 全名:movie/hello.avi

      • 前綴:

        • movie/hello:movie中以hello為前綴的Object。

        • movie/:Bucket名稱為movie的所有的Object。

        • mov:Bucket名稱前綴為mov的所有Object。

      • 后綴:.avi:所有Bucket中以.avi為后綴的Object。

      • 前后綴:前綴movie/,后綴.avi:movie中所有以.avi為后綴的Object。

    • 接收終端:選擇隊列,輸入步驟一中創建的隊列名稱。

步驟四:上傳Object

  1. 登錄OSS管理控制臺

  2. 在左側導航欄,單擊Bucket列表

  3. Bucket列表頁面,單擊Bucket名稱列下的目標Bucket。

  4. 選擇文件管理 > 文件列表,然后單擊上傳文件

  5. 上傳文件面板,配置文件上傳目錄和文件ACL,單擊上傳文件更多配置參數信息,請參見使用OSS控制臺上傳文件

    狀態列顯示:上傳成功。

步驟五:接收消息

  1. 登錄輕量消息隊列(原 MNS)控制臺

  2. 在左側導航欄,選擇隊列模型 > 隊列列表

  3. 在頂部菜單欄,選擇地域。

  4. 隊列列表頁面,找到目標隊列,在其右側操作列選擇更多 > 收發消息

  5. 隊列收發消息快速體驗頁面的接收消息區域,單擊接收消息

    接收消息區域顯示隊列的消息列表。

  6. 在消息列表中,找到目標消息,在其右側操作列單擊詳情,在消息詳情對話框中查看消息內容。