本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EventBridge 事件訊息結構
Amazon S3 傳送以發佈事件的通知訊息為 JSON 格式。Amazon S3 將事件傳送至 Amazon EventBridge 時,會出現下列欄位。
-
version– 所有事件目前為 0 (零)。 -
id– 為每個事件產生的 UUID。 -
detail-type– 要傳送的事件類型。如需事件類型的清單,請參閱 使用 EventBridge。 -
source– 識別產生事件的服務。 -
account– 儲存貯體擁有者的 12 位數 AWS 帳戶 ID。 -
time- 事件發生的時間。 -
region– 識別儲存貯體 AWS 區域 的 。 -
resources– 包含儲存貯體之 Amazon Resource Name (ARN) 的 JSON 陣列。 -
detail:包含事件相關資訊的 JSON 物件。如需此欄位可以包含哪些項目的詳細資訊,請參閱 事件訊息詳細資訊欄位。
事件訊息結構範例
以下是可傳送至 Amazon EventBridge 之部分 Amazon S3 事件通知訊息的範例。
物件已建立
{ "version": "0", "id": "17793124-05d4-b198-2fde-7ededc63b103", "detail-type": "Object Created", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "size": 5, "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d189" }, "request-id": "N4N7GDK58NMKJ12R", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "PutObject" } }
物件已刪除 (使用 DeleteObject)
{ "version": "0", "id": "2ee9cc15-d022-99ea-1fb8-1b1bac4850f9", "detail-type": "Object Deleted", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "d41d8cd98f00b204e9800998ecf8427e", "version-id": "1QW9g1Z99LUNbvaaYVpW9xDlOLU.qxgF", "sequencer": "617f0837b476e463" }, "request-id": "0BH729840619AG5K", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "DeleteObject", "deletion-type": "Delete Marker Created" } }
物件已刪除 (使用生命週期過期)
{ "version": "0", "id": "ad1de317-e409-eba2-9552-30113f8d88e3", "detail-type": "Object Deleted", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "d41d8cd98f00b204e9800998ecf8427e", "version-id": "mtB0cV.jejK63XkRNceanNMC.qXPWLeK", "sequencer": "617b398000000000" }, "request-id": "20EB74C14654DC47", "requester": "s3.amazonaws.com", "reason": "Lifecycle Expiration", "deletion-type": "Delete Marker Created" } }
物件還原已完成
{ "version": "0", "id": "6924de0d-13e2-6bbf-c0c1-b903b753565e", "detail-type": "Object Restore Completed", "source": "aws.s3", "account": "111122223333", "time": "2021-11-12T00:00:00Z", "region": "ca-central-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "1.0", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "size": 5, "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "KKsjUC1.6gIjqtvhfg5AdMI0eCePIiT3" }, "request-id": "189F19CB7FB1B6A4", "requester": "s3.amazonaws.com", "restore-expiry-time": "2021-11-13T00:00:00Z", "source-storage-class": "GLACIER" } }
已建立物件註釋
{ "version": "0", "id": "8c2bfa57-4a67-b2ea-c4e0-6d420ea3b3a6", "detail-type": "Object Annotation Created", "source": "aws.s3", "account": "111122223333", "time": "2025-03-15T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "2.4", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d189" }, "request-id": "4B4NGD358NMKJ12R", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "PutObjectAnnotation", "object-annotation": { "name": "my-annotation", "size": 24, "etag": "05df351ea190dffc26f55c74425b9d7a" } } }
物件註釋已移除
{ "version": "0", "id": "a3d1bc94-5f82-c7e1-d290-7e531fb4c5b8", "detail-type": "Object Annotation Removed", "source": "aws.s3", "account": "111122223333", "time": "2025-03-15T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ], "detail": { "version": "0", "event-version": "2.4", "bucket": { "name": "amzn-s3-demo-bucket1" }, "object": { "key": "example-key", "etag": "b1946ac92492d2347c6235b4d2611184", "version-id": "IYV3p45BT0ac8hjHg1houSdS1a.Mro8e", "sequencer": "617f08299329d190" }, "request-id": "7C5NGD358NMKJ34S", "requester": "123456789012", "source-ip-address": "1.2.3.4", "reason": "DeleteObjectAnnotation", "object-annotation": { "name": "my-annotation" } } }
事件訊息詳細資訊欄位
詳細資訊欄位包含具有事件相關資訊的 JSON 物件。下列欄位可能會出現在詳細資訊欄位中。
-
version– 所有事件目前為 0 (零)。 -
event-version– 格式的事件結構描述版本(例如,major.minor1.0)。如果 Amazon S3 對不向下相容的事件結構進行變更,主要版本就會增加。這包含已經存在的 JSON 欄位,或變更欄位內容的呈現方式 (例如,日期格式)。
如果 Amazon S3 對事件結構進行回溯相容的變更,次要版本會遞增。這包括將新欄位新增至事件結構或引入新的事件類型。要維持與次要版本的新事件結構相容,建議您的應用程式略過新欄位。
為確保您的應用程式可以正確剖析事件結構,我們建議您對主要版本編號進行「等於」比較。為確保您的應用程式預期的欄位存在,我們建議您對次要版本編號進行「大於或等於」比較。
-
bucket– 與事件有關之 Amazon S3 儲存貯體的相關資訊。 -
object– 與事件有關之 Amazon S3 物件的相關資訊。 -
request-id– S3 回應中的請求 ID。 -
requester–申請者的 AWS 帳戶 ID AWS 或服務主體。 -
source-ip-address– S3 請求的來源 IP 位址。僅適用於由 S3 請求觸發的事件。 -
reason– 對於物件建立事件,會將 S3 API 用於建立物件:PutObject、POST Object、CopyObject 或 CompleteMultipartUpload。對於物件已刪除事件,在透過 S3 API 呼叫刪除物件時,會設定為 DeleteObject,或是在透過 S3 生命週期過期規則刪除物件時,設定為生命週期過期。如需詳細資訊,請參閱即將到期的物件。 -
deletion-type– 對於物件已刪除事件,刪除未進行版本控制的物件,或永久刪除版本控制的物件時,這會設定為永久刪除。當為版本控制物件建立刪除標記時,會設定為 Delete Marker Created (刪除建立的標記)。如需詳細資訊,請參閱刪除啟用版本控制功能之儲存貯體中的物件。注意
某些物件屬性 (例如
etag和size) 只有在建立刪除標記之後才會出現。 -
restore-expiry-time– 對於物件還原已完成事件,物件臨時複本的時間會從 S3 刪除。如需詳細資訊,請參閱使用封存的物件。 -
source-storage-class– 對於物件還原已起始和物件還原已完成事件,即為還原物件的儲存類別。如需詳細資訊,請參閱使用封存的物件。 -
destination-storage-class– 對於物件儲存類別已變更事件,即為物件的新儲存類別。如需詳細資訊,請參閱使用 Amazon S3 生命週期轉換物件。 -
destination-access-tier– 對於物件存取層已變更事件,即為物件的新存取層。如需詳細資訊,請參閱使用 Amazon S3 Intelligent-Tiering 管理儲存成本。 -
object-annotation– 對於已建立的物件註釋和移除的物件註釋事件,detail欄位包含包含註釋相關資訊object-annotation的欄位。 -
has-object-annotation– 對於原因為 的物件建立事件CopyObject,object區塊包含has-object-annotation布林值欄位,指出複製的物件是否具有註釋。