

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

Amazon S3 は、バケット内で特定のイベントが発生するたびに Amazon EventBridge にイベントを送信できます。他の宛先とは異なり、配信するイベントタイプを選択する必要はありません。EventBridge を有効にすると、以下のすべてのイベントが EventBridge に送信されます。EventBridge ルールを使用すると、イベントを追加のターゲットにルートできます。Amazon S3 が 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) などのオブジェクトの作成に使用された S3 API を示します。  | 
|  *オブジェクトが削除されました (DeleteObject)* *オブジェクトが削除されました (ライフサイクルの有効期限切れ)*  |  オブジェクトが削除されました。 S3 API コールを使用してオブジェクトを削除すると、理由フィールドが DeleteObject に設定されます。S3 ライフサイクルの有効期限切れルールによってオブジェクトを削除すると、理由フィールドがライフサイクルの有効期限切れに設定されます。詳細については、「[オブジェクトの有効期限](lifecycle-expire-general-considerations.md)」を参照してください。 バージョン管理されていないオブジェクトが削除されるか、バージョン管理されたオブジェクトが完全に削除されると、削除タイプフィールドは 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 アーカイブアクセス階層または Deep Archive アクセス階層に移行されました。詳細については、[Amazon S3 Intelligent-Tiering によるストレージコストの管理](intelligent-tiering.md) を参照してください。  | 
|  *オブジェクト ACL が更新されました*  |  オブジェクトのアクセスコントロールリスト (ACL) が `PutObjectAcl` を使用して設定されました。リクエストによってオブジェクトの ACL が変更されない場合、イベントは生成されません。詳細については、[アクセスコントロールリスト (ACL) の概要](acl-overview.md) を参照してください。  | 
|  *追加されたオブジェクトタグ*  |  `PutObjectTagging` を使用して、一連のタグがオブジェクトに追加されました。詳細については、「[タグを使用したオブジェクトの分類](object-tagging.md)」を参照してください。  | 
|  *削除済みのオブジェクトタグ*  |  `DeleteObjectTagging` を使用して、すべてのタグがオブジェクトから削除されました。詳細については、「[タグを使用したオブジェクトの分類](object-tagging.md)」を参照してください。  | 

**注記**  
Amazon S3 イベントタイプを EventBridge イベントタイプにマッピングする方法の詳細については、[Amazon EventBridge のマッピングとトラブルシューティング](ev-mapping-troubleshooting.md) を参照してください。

EventBridge で Amazon S3 イベント通知を使用して、バケットでイベントが発生したときにアクションを実行するルールを記述できます。例えば、通知を送信するように設定できます。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[What is EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)」を参照してください。

EventBridge API を使用して利用できるアクションとデータ型の詳細については、「**Amazon EventBridge API リファレンス」の「[Amazon EventBridge API Reference](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 を有効にすると、変更が適用されるまで約 5 分かかります。

## S3 コンソールの使用
<a name="eventbridge-console"></a>

**S3 コンソールで EventBridge イベント配信を有効にします。**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

1. バケットリストで、イベントを有効にするバケットの名前を選択します。

1. [**プロパティ**] を選択します。

1. **イベント通知**セクションに移動し、**Amazon EventBridge** サブセクションを見つけます。**[編集]** を選択します。

1. **このバケット内のすべてのイベント用の Amazon EventBridge に通知を送信する**の下にある **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 リソースネーム (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` – **オブジェクトの削除**イベントの場合、バージョン管理されていないオブジェクトが削除されるか、バージョン管理されたオブジェクトが完全に削除されると、これは**完全に削除**に設定されます。バージョン化したオブジェクトに削除マーカーが作成されると、これは**削除マーカーの作成**に設定されます。詳細については、「[バージョニングが有効なバケットからのオブジェクトバージョンの削除](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 ユーザーガイド」の「[Troubleshooting Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-troubleshooting.html)を参照してください 。