

# 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)」を参照してください。