

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 EventBridge
<a name="EventBridge"></a>

每當儲存貯體發生特定事件時，Amazon S3 可將事件傳送至 Amazon EventBridge。與其他目的地不同，您不需要選取想要傳遞的事件類型。啟用 EventBridge 之後，下列所有事件都會傳送至 EventBridge。您可以使用 EventBridge 規則將事件路由至其他目標。以下列出 Amazon S3 傳送至 EventBridge 的事件。


|  事件類型 |  Description  | 
| --- | --- | 
|  *物件已建立*  |  已建立物件。 事件訊息結構中的原因欄位會指出使用哪個 S3 API 來建立物件：[https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 或 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)。  | 
|  *物件已刪除 (DeleteObject)* *物件已刪除 (生命週期過期)*  |  已刪除物件。 當使用 S3 API 呼叫刪除物件時，原因欄位會設定為 DeleteObject。當 S3 生命週期過期規則刪除物件時，原因欄位會設定為生命週期過期。如需詳細資訊，請參閱[即將到期的物件](lifecycle-expire-general-considerations.md)。 刪除未進行版本控制的物件，或永久刪除版本控制的物件時，deletion-type 欄位會設定為 Permanently Deleted。當為版本控制的物件建立刪除標記時，`deletion-type` 欄位會設定為 Delete Marker Created。如需詳細資訊，請參閱[刪除啟用版本控制功能之儲存貯體中的物件](DeletingObjectVersions.md)。  | 
|  *還原物件已起始*  |  從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別或者 S3 Intelligent-Tiering 封存存取或 Deep Archive 存取層起始物件還原。如需詳細資訊，請參閱[使用封存的物件](archived-objects.md)。  | 
|  *物件還原已完成*  |  物件還原已完成。  | 
|  *物件還原已過期*  |  從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原的物件臨時複本已過期且已刪除。  | 
|  *物件儲存類別已變更*  |  物件已轉換至不同的儲存類別。如需詳細資訊，請參閱[使用 Amazon S3 生命週期轉換物件](lifecycle-transition-general-considerations.md)。  | 
|  *物件存取層已變更*  |  物件轉換至 S3 Intelligent-Tiering Archive 存取層或 Deep Archive 存取層。如需詳細資訊，請參閱[使用 Amazon S3 Intelligent-Tiering 管理儲存成本](intelligent-tiering.md)。  | 
|  *物件 ACL 已更新*  |  可使用 `PutObjectAcl` 設定物件的存取控制清單 (ACL)。當請求對物件的 ACL 沒有變更時，則不會產生事件。如需詳細資訊，請參閱[存取控制清單 (ACL) 概觀](acl-overview.md)。  | 
|  *物件標籤已新增*  |  已使用 `PutObjectTagging` 將一組標籤新增至物件。如需詳細資訊，請參閱[使用標籤為物件分類](object-tagging.md)。  | 
|  *物件標籤已刪除*  |  已使用 `DeleteObjectTagging` 從物件移除所有標籤。如需詳細資訊，請參閱[使用標籤為物件分類](object-tagging.md)。  | 

**注意**  
如需有關 Amazon S3 事件類型如何映射至 EventBridge 事件類型的詳細資訊，請參閱 [Amazon EventBridge 映射和疑難排解](ev-mapping-troubleshooting.md)。

您可以將 Amazon S3 事件通知搭配 EventBridge 使用來編寫規則，以便在儲存貯體中發生事件時採取動作。例如，您可以讓其為您傳送通知。如需詳細資訊，請參閱《Amazon EventBridge 使用者指南》**中的[什麼是 EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)。

如需可使用 EventBridge API 互動的動作和資料類型詳細資訊，請參閱 Amazon EventBridge API 參考**中的 [Amazon EventBridge API 參考](https://docs.aws.amazon.com/eventbridge/latest/APIReference/Welcome.html)。

如需定價的詳細資訊，請參閱 [Amazon EventBridge 定價](https://aws.amazon.com/eventbridge/pricing)。

**Topics**
+ [Amazon EventBridge 許可](ev-permissions.md)
+ [啟用 Amazon EventBridge](enable-event-notifications-eventbridge.md)
+ [EventBridge 事件訊息結構](ev-events.md)
+ [Amazon EventBridge 映射和疑難排解](ev-mapping-troubleshooting.md)

# Amazon EventBridge 許可
<a name="ev-permissions"></a>

Amazon S3 不需要任何額外許可，即可將事件傳遞給 Amazon EventBridge。

# 啟用 Amazon EventBridge
<a name="enable-event-notifications-eventbridge"></a>

您可以使用 S3 主控台、 AWS Command Line Interface (AWS CLI) 或 Amazon S3 REST API 來啟用 Amazon EventBridge。

**注意**  
啟用 EventBridge 之後，變更生效需時約五分鐘。

## 使用 S3 主控台
<a name="eventbridge-console"></a>

**啟用 S3 主控台中的 EventBridge 事件傳遞。**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 在儲存貯體名稱清單中，選擇要啟用事件的儲存貯體名稱。

1. 選擇 **Properties** (屬性)。

1. 導覽至 **Event Notifications** (事件通知) 區段，然後尋找 **Amazon EventBridge** 子區段。選擇**編輯**。

1. 在 **Send notifications to Amazon EventBridge for all events in this bucket** (將此儲存貯體中所有事件的通知傳送至 Amazon 事件 Bridge) 下，選擇 **On** (開啟)。

## 使用 AWS CLI
<a name="eventbridge-cli"></a>

下列範例會為已啟用 Amazon EventBridge 的儲存貯體 *`amzn-s3-demo-bucket1`* 建立儲存貯體通知組態。

```
aws s3api put-bucket-notification-configuration --bucket amzn-s3-demo-bucket1 --notification-configuration='{ "EventBridgeConfiguration": {} }'
```

## 使用 REST API
<a name="eventbridge-api"></a>

您可以呼叫 Amazon S3 REST API，以程式設計方式啟用儲存貯體上的 Amazon EventBridge。如需詳細資訊，請參閱《Amazon Simple Storage Service API 參考》**中的 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotificationConfiguration.html)。

下列範例顯示用於建立已啟用 Amazon EventBridge 之儲存貯體通知組態的 XML。

```
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <EventBridgeConfiguration>
  </EventBridgeConfiguration>
</NotificationConfiguration>
```

## 建立 EventBridge 規則
<a name="ev-tutorial"></a>

啟用後，您可以為某些任務建立 Amazon EventBridge 規則。例如，您可以在建立物件時傳送電子郵件通知。如需完整的教學課程，請參閱《*Amazon EventBridge 使用者指南*》中的[教學課程：建立 Amazon S3 物件時傳送通知](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html)。

# EventBridge 事件訊息結構
<a name="ev-events"></a>

Amazon S3 傳送以發佈事件的通知訊息為 JSON 格式。Amazon S3 將事件傳送至 Amazon EventBridge 時，會出現下列欄位。
+ `version` – 所有事件目前為 0 (零)。
+ `id` – 為每個事件產生的 UUID。
+ `detail-type` – 要傳送的事件類型。如需事件類型的清單，請參閱 [使用 EventBridge](EventBridge.md)。
+ `source` – 識別產生事件的服務。
+ `account` – 儲存貯體擁有者的 12 位數 AWS 帳戶 ID。
+ `time` - 事件發生的時間。
+ `region` – 識別儲存貯體 AWS 區域 的 。
+ `resources` – 包含儲存貯體之 Amazon Resource Name (ARN) 的 JSON 陣列。
+ `detail`：包含事件相關資訊的 JSON 物件。如需此欄位可以包含哪些項目的詳細資訊，請參閱 [事件訊息詳細資訊欄位](#ev-events-detail)。

## 事件訊息結構範例
<a name="ev-events-list"></a>

以下是可傳送至 Amazon EventBridge 之部分 Amazon S3 事件通知訊息的範例。

### 物件已建立
<a name="ev-events-object-created"></a>

```
{
  "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",
    "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)
<a name="ev-events-object-deleted"></a>

```
{
  "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",
    "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"
  }
}
```

### 物件已刪除 (使用生命週期過期)
<a name="ev-events-object-deleted-lifecycle"></a>

```
{
  "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",
    "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"
  }
}
```

### 物件還原已完成
<a name="ev-events-object-restore-complete"></a>

```
{
  "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",
    "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"
  }
}
```

## 事件訊息詳細資訊欄位
<a name="ev-events-detail"></a>

詳細資訊欄位包含具有事件相關資訊的 JSON 物件。下列欄位可能會出現在詳細資訊欄位中。
+ `version` – 所有事件目前為 0 (零)。
+ `bucket` – 與事件有關之 Amazon S3 儲存貯體的相關資訊。
+ `object` – 與事件有關之 Amazon S3 物件的相關資訊。
+ `request-id` – S3 回應中的請求 ID。
+ `requester` –申請者的 AWS 帳戶 ID AWS 或服務主體。
+ `source-ip-address` – S3 請求的來源 IP 位址。僅適用於由 S3 請求觸發的事件。
+ `reason` – 對於**物件建立**事件，會將 S3 API 用於建立物件：[https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 或 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)。對於**物件已刪除**事件，在透過 S3 API 呼叫刪除物件時，會設定為 **DeleteObject**，或是在透過 S3 生命週期過期規則刪除物件時，設定為**生命週期過期**。如需詳細資訊，請參閱[即將到期的物件](lifecycle-expire-general-considerations.md)。
+ `deletion-type` – 對於**物件已刪除**事件，刪除未進行版本控制的物件，或永久刪除版本控制的物件時，這會設定為**永久刪除**。當為版本控制物件建立刪除標記時，會設定為 **Delete Marker Created** (刪除建立的標記)。如需詳細資訊，請參閱[刪除啟用版本控制功能之儲存貯體中的物件](DeletingObjectVersions.md)。
**注意**  
某些物件屬性 (例如 `etag` 和 `size`) 只有在建立刪除標記之後才會出現。
+ `restore-expiry-time` – 對於**物件還原已完成**事件，物件臨時複本的時間會從 S3 刪除。如需詳細資訊，請參閱[使用封存的物件](archived-objects.md)。
+ `source-storage-class` – 對於**物件還原已起始**和**物件還原已完成**事件，即為還原物件的儲存類別。如需詳細資訊，請參閱[使用封存的物件](archived-objects.md)。
+ `destination-storage-class` – 對於**物件儲存類別已變更**事件，即為物件的新儲存類別。如需詳細資訊，請參閱[使用 Amazon S3 生命週期轉換物件](lifecycle-transition-general-considerations.md)。
+ `destination-access-tier` – 對於**物件存取層已變更**事件，即為物件的新存取層。如需詳細資訊，請參閱[使用 Amazon S3 Intelligent-Tiering 管理儲存成本](intelligent-tiering.md)。

# Amazon EventBridge 映射和疑難排解
<a name="ev-mapping-troubleshooting"></a>

下表說明 Amazon S3 事件類型如何映射到 Amazon EventBridge 事件類型。


|  S3 事件類型 |  Amazon EventBridge 詳細類型  | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)  |  物件已建立  | 
|  ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated LifecycleExpiration:Delete LifecycleExpiration:DeleteMarkerCreated  |  物件已刪除  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)  |  還原物件已起始  | 
|  ObjectRestore:Completed  |  物件還原已完成  | 
|  ObjectRestore:Delete  |  物件還原已過期  | 
|  LifecycleTransition  |  物件儲存類別已變更  | 
|  IntelligentTiering  |  物件存取層已變更  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  |  物件標籤已新增  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)  |  物件標籤已刪除  | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)  |  物件 ACL 已更新  | 

## Amazon EventBridge 疑難排解
<a name="ev-troubleshooting"></a>

如需如何對 EventBridge 進行疑難排解的詳細資訊，請參閱*《Amazon EventBridge 使用者指南》*中的[對 Amazon EventBridge 進行疑難排解](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-troubleshooting.html)。