

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# イベント構造: データ、メタデータ、システムメタデータ
<a name="eb-custom-bus-addressing"></a>

フィルター、トランスフォーマー、およびターゲットパラメータは、1 つのアドレス指定モデルを共有します。EventBridge は、3 つの最上位の名前ですべてのイベントを配信します。 `Data` はペイロードを保持し、 で指定したキー`Metadata`を保持し`PutRawEvents`、 は EventBridge が割り当てるフィールド`SystemMetadata`を保持します。独自のフィールドが存在する場所`Data`は、パブリッシュ API によって異なります。どちらの APIs同じ種類のイベントを生成し、EventBridge はどちらも同じ方法でフィルタリングと変換を行います。違いは、 内に存在するものだけです`Data`。


| パーツ | で公開 `PutRawEvents` | で公開 `PutEvents` | 
| --- | --- | --- | 
| Data | ペイロードは、送信されたとおりに正確に | source、detail-type、time、およびその他のフィールドを含むエンベロープ。ペイロードは の値ですdetail。 | 
| Metadata | メタデータキー | [なし] | 
| SystemMetadata | EventBridge によって割り当てられたフィールド | EventBridge によって割り当てられたフィールド | 

JSONata 式は、イベントを と見なします`$events`。同じ順序識別子は、API ごとに異なるパスにあります。

で公開: `PutRawEvents`

```
$events.Data.orderId
```

で公開: `PutEvents`

```
$events.Data.detail.orderId
```

スコープが のフィルターにも同じ違いが適用されます`DATA`。パターンは の内容に対して書き込まれます`Data`。

で公開: `PutRawEvents`

```
{ "total": [ { "numeric": [ ">", 500 ] } ] }
```

で公開: `PutEvents`

```
{ "detail": { "total": [ { "numeric": [ ">", 500 ] } ] } }
```

**重要**  
間違ったシェイプに記述された式またはパターンは失敗しません。何も解決されず、フィルターはイベントに一致しず、トランスフォーマーは出力を生成しません。フィルターが何も一致しないサブスクライバーは、機能していないサブスクライバーと同じに見えます。サブスクライバーに依存する前に、一致するイベントと一致しないイベントを 1 つ発行し、ターゲットで両方の結果を確認します。プロデューサーが両方の APIs を使用して同じバスに発行する場合は、各種類のトラフィックに独自のサブスクライバーを付与します。

## SystemMetadata フィールド
<a name="eb-custom-bus-addressing-system"></a>

`SystemMetadata` は両方の APIsで同じであり、EventBridge 自体が書き込むイベントの唯一の部分です。`SYSTEM_METADATA` 一致する範囲を持つフィルターと、JSONata 式はそれを として読み取ります`$events.SystemMetadata`。すべての値は文字列です。EventBridge は値のないフィールドを省略するため、JSONata 参照`aws:DeliveryType`は として評価されます`undefined`。常に存在します。次の表に、フィールドを示します。


| フィールド | 値 | 
| --- | --- | 
| aws:EventId | EventBridge が割り当て、 としてパブリッシャーに返される識別子 EventId | 
| aws:Source, aws:DetailType | のエントリの Sourceおよび DetailType PutEvents。イベントソースの発信元サービスまたはパートナーとそのイベントタイプ。で始まるソースを設定できる公開呼び出しがないためaws.、Amazon S3 がイベントを生成した{"aws:Source":["aws.s3"]}ことを証明します | 
| aws:DeliveryType | LIVE イベントが到着時に配信され、保持された履歴から 1 回読み取られたREPLAY場合。「[保持されたイベントをサブスクライバーに再生する](eb-custom-bus-replay.md)」を参照してください。 | 
| EventGroupId, DeduplicationId | 公開時に指定します。「[カスタムイベントバスでのイベントの順序付けと重複排除](eb-custom-bus-ordering.md)」を参照してください。 | 
| ContentType | 公開されたコンテンツタイプ: application/eventbridge\+jsonの場合PutEvents: 、 の場合PutRawEvents、エントリの値。EventBridge が JSON にデコードした Avro および Protobuf データにはまだ application/avroまたは が表示されます。 application/protobuf | 
| aws:IngestionTime | バスがイベントを受け入れたとき | 
| aws:SequenceNumber | バス上のイベントの位置。取り込み順で増加 | 
| aws:SchemaId, aws:RegistryType | Avro または Protobuf ペイロードの逆シリアル化に使用されるスキーマとレジストリ。特にない場合 | 

`Metadata` は、それを設定する `PutRawEvents` で公開されたイベントにのみ存在します。他のすべてのイベントでは空です。の場合`application/octet-stream`、 `Data`は Base64 文字列です。`Transformer` 式では 1 つのイベント`$events`であり、ユニバーサルターゲットの でのみ配列`Input`です。「[JSONata を使用したイベントの変換](eb-custom-bus-transform.md)」を参照してください。