Amazon S3 事件通知
文章推薦指數: 80 %
您可以自訂程式碼上傳到Lambda,以建立Lambda 函數。
當Amazon S3 偵測到特定類型的事件(例如物件建立事件),會向AWS Lambda 發佈事件,並叫用Lambda 中的 ...
AmazonS3事件通知-AmazonSimpleStorageService
AWS文件AmazonSimpleStorageService(S3)使用者指南
概觀
AmazonS3事件通知
您可以使用AmazonS3事件通知功能,在S3儲存貯體中發生特定事件時接收通知。
若要啟用通知,您必須先新增通知組態,識別您想要AmazonS3發佈的事件,以及您想要
AmazonS3傳送通知的目標。
您會將此組態存放在儲存貯體相關聯的通知子資源中。
如需詳細資訊,請參閱儲存貯體組態選項。
AmazonS3提供API,讓您管理此子資源。
重要
AmazonS3事件通知的設計是要至少傳送一次。
事件通知一般能在幾秒內交付,但有時候會耗費一分鐘或更長的時間。
AmazonS3事件通知概觀
目前AmazonS3可以發佈下列事件的通知:
新的物件建立事件-AmazonS3支援多個API建立物件。
您可以在僅使用特定API時請求通知(例如,s3:ObjectCreated:Put)。
您還可以使用萬用字元(例如,s3:ObjectCreated:*)在建立物件時請求通知,無論使用的API為何。
物件移除事件-AmazonS3支援刪除有版本控制及無版本控制的物件。
如需相關資訊,請參閱「在S3儲存貯體中使用版本控制」。
您可以使用s3:ObjectRemoved:Delete事件類型,在刪除未使用版本控制的物件或永久刪除使用版本控制的物件時要求通知。
或者您可以使用s3:ObjectRemoved:DeleteMarkerCreated,在建立版本控制物件的刪除標記時,要求通知。
您也可以使用萬用字元s3:ObjectRemoved:*,在刪除物件時隨時要求通知。
如需如何刪除版本控制物件的資訊,請參閱「刪除啟用版本控制功能之儲存貯體中的物件」。
物件還原事件-AmazonS3支援將已存檔至S3Glacier儲存方案的物件還原。
您可以使用s3:ObjectRestore:Completed,請求在物件還原完成時收到通知。
您可以使用s3:ObjectRestore:Post來請求啟動還原通知。
缺少低冗餘儲存體(RRS)物件事件-AmazonS3會在偵測到缺少RRS儲存體方案物件時,傳送通知訊息。
複寫事件-AmazonS3會為已啟用S3複寫指標或S3複寫時間控制(S3RTC)之複寫組態傳送事件通知。
您可以透過追蹤擱置的位元組、擱置中的作業和複寫延遲來監控複寫的每分鐘進度。
如需複寫指標的相關資訊,請參閱使用複寫指標和AmazonS3事件通知監控進度。
如需支援的事件類型清單,請參閱「支援的事件類型」。
AmazonS3支援下列可以發佈事件的目標。
AmazonSimpleNotificationService(AmazonSNS)
AmazonSNS是管理完善且靈活的推送訊息服務。
使用此項服務可以將訊息推送至行動裝置或分散式服務。
有了SNS,只需發佈一次訊息,就可以進行一或多次的傳遞。
目前標準
SNS僅允許作為S3事件通知目的地,而不允許作為SNSFIFO。
如需有關SNS的詳細資訊,請參閱AmazonSNS。
AmazonSimpleQueueService(AmazonSQS)佇列
AmazonSQS是管理完善兼具擴展能力的訊息佇列服務。
您可以使用SQS傳輸任何資料量,但不需要其他服務一直都能使用。
您可以在自己的通知組態中要求Amazon
S3發佈事件到SQS佇列。
目前,僅AmazonS3事件通知目的地形式才允許標準SQS佇列,但不允許FIFOSQS佇列。
如需有關AmazonSQS的詳細資訊,請參閱AmazonSQS。
AWSLambda
AWSLambda是一種運算服務,可讓您輕鬆建構能快速回應新資訊的應用程式。
AWSLambda可以執行您的程式碼以回應上傳圖片、應用程式內部活動、網站點擊或來自連線裝置的輸出等事件。
您可以使用AWSLambda擴展其他有自訂邏輯的AWS服務,或建立自己的後端,以AWS規模、效能及安全性運作。
使用Lambda,您可以輕鬆建立分散的事件驅動應用程式只在需要時執行,並自動從每天數項要求擴展成每秒數千個要求。
Lambda可執行自訂程式碼來回應AmazonS3儲存貯體事件。
您可以自訂程式碼上傳到Lambda,以建立Lambda函數。
當AmazonS3偵測到特定類型的事件
(例如物件建立事件),會向AWSLambda發佈事件,並叫用Lambda中的函數。
作為回應,Lambda會執行您的函數。
警告
如果您的通知寫入觸發通知的同一個儲存貯體,則可能會導致執行迴圈。
例如,如果儲存貯體在物件每次上傳時都觸發Lambda函式,且該函式會將物件上傳至儲存貯體,則函式會間接地觸發本身。
若要避免此狀況,請使用兩個儲存貯體,或將觸發設定為僅套用至傳入物件所用的字首。
如需搭配AWSLambda使用AmazonS3通知的詳細資訊和範例,請參閱《AWSLambda開發人員指南》中的搭配AmazonS3使用AWSLambda。
如需有關S3事件通知的詳細資訊,請參閱下列章節:
主題
事件通知類型與目的地
授予許可以將事件通知訊息發佈至目標
啟用事件通知
演練:設定儲存貯體的通知(SNS主題或SQS佇列)
使用物件金鑰名稱篩選來設定事件通知
事件訊息結構
文件慣用形式
刪除指標篩選條件
通知類型與目的地
此頁面是否有幫助?-是
感謝您,讓我們知道我們做得很好!
若您有空,歡迎您告知我們值得讚許的地方,這樣才能保持良好服務。
此頁面是否有幫助?-否
感謝讓我們知道此頁面仍須改善。
很抱歉,讓您失望。
若您有空,歡迎您提供改善文件的方式。
延伸文章資訊
- 1What is Amazon S3? - Amazon Simple Storage Service
Amazon S3 is an object storage service that stores data as objects within buckets. An object is a...
- 2使用Amazon S3 託管靜態網站
您可以設定網站託管用的儲存貯體,然後將內容上傳至儲存貯體,就能在Amazon S3 上託管靜態網站。
- 3雲端物件儲存– Amazon S3
Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務,提供領先業界的可擴展性、資料可用性、安全性及效能。各種規模和產業的客戶都可以為幾乎任何使用...
- 4搭配使用Amazon S3 與Amazon EC2
請用下列命令從Amazon S3 將物件複製至執行個體。 [ec2-user ~]$ aws s3 cp s3:// ...
- 5什麼是Amazon S3?
Amazon S3 是一個REST 服務。您可以使用AWS 開發套件程式庫(其會包裝基礎Amazon S3 REST API),傳送請求至Amazon S3,從而簡化程式設計任務 ...