event relays : イベントリレー 


リアルタイムイベントを Amazon Web Services (AWS) と統合します。イベントリレーを使用して、プラットフォームイベントと変更データキャプチャイベントを Salesforce から Amazon EventBridge に送信します。

Salesforce のイベントリレーを AWS の Amazon EventBridge で使用することで、Salesforce のイベント駆動型アプリケーションで AWS サービスを使用して、イベントを処理したり、サードパーティインテグレーションや SaaS インテグレーションにイベントを送信したりできます。また、AWS から Salesforce にプラットフォームイベントを送信することもでき、登録者は Salesforce プラットフォームの機能を使用してこれらのイベントを処理できます。

https://help.salesforce.com/s/articleView?id=sf.ev_relay_intro.htm&type=5

+ [CDC Channel member filter expression throwing error "403::Enrichment not supported."](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XIA8x)

エンリッチメントはサポートされていません

:::note alert
nfoThe event relay is configured with an unsupported feature. More details = [ Code [relay.aqueduct.feature.not.supported.error], Message [UnsupportedFeatureException: 403::Enrichment not supported.] ].
:::

これを使って設定したみたい。

[ツール API を使用してフィルターを追加する:Tooling API でチャネルとチャネル メンバーを作成します。](https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_filter_tooling_api_add_filter.htm)


```Json
{  
   "FullName": "FilteredChannel_chn_AccountChangeEvent",  
   "Metadata": {
      "eventChannel": "FilteredChannel__chn",
      "filterExpression": "Account_Sync__c=true",
      "selectedEntity": "AccountChangeEvent"
      }
}
```

例題

``` Json
{
  "FullName": "FilteredChannel_chn_AccountChangeEvent",
  "Metadata": {
    "eventChannel": "FilteredChannel__chn",
    "filterExpression": "Industry='Agriculture' AND NumberOfEmployees>1000",
    "selectedEntity": "AccountChangeEvent"
  }
}
```

# エンリッチメント

+ [追加フィールドで変更イベントを充実させる](https://developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_enrich_intro.htm)

変更イベント メッセージには、新しいフィールドと変更されたフィールドの値が含まれますが、データの処理または複製には変更されていないフィールド値が必要になる場合があります。たとえば、外部システム内のレコードを照合するためにアプリで外部 ID フィールドが必要な場合は、エンリッチメントを使用します。または、変更されたレコードに関する重要な情報を提供するフィールドを常に含めます。サポートされているタイプのフィールドを選択できます。
イベント エンリッチメントは、ストリーミング API クライアント、EMP コネクタ、Pub/Sub API などの CometD を使用するサブスクライバに対してサポートされています。強化のために選択したフィールドは、更新および削除操作の変更イベントに含まれます。強化されたフィールドは、作成操作および削除取り消し操作の変更イベントには含まれません。これは、これらのイベントには値が入力されたすべてのフィールドが含まれるためです。また、物理的に削除されたレコード (ごみ箱から削除されたレコード) に対しては変更イベントが生成されないため、強化されたフィールドは使用できません。エンリッチされたフィールドの値が空の場合、それらはイベント メッセージに含まれません。強化されたフィールドが null に更新された場合、それらは強化されたフィールドとしてではなく、変更されたフィールドとしてイベントに含まれます。

+ [イベントリレーでサポートされるイベント種別と機能を確認します。](https://help.salesforce.com/s/articleView?id=sf.ev_relay_feature_support.htm&type=5)


アイデアを見るとサポートされてない？

+ [イベント リレーの変更データ キャプチャ イベント エンリッチメントのサポート](https://ideas.salesforce.com/s/idea/a0B8W00000OXB8iUAH/support-change-data-capture-event-enrichment-for-event-relay)

変更データ キャプチャ イベント エンリッチメントを使用すると、特定のフィールドが常に CDC イベントとともに送信されるようになります。残念ながら、ドキュメントに記載されているように、この機能はイベント リレーではサポートされていません。

エンリッチメントは、CDC サブスクリプションと同様に Event Relay にも役立ちます。たとえば、ターゲット システムで常に必要とされる外部 ID を配信することができます。これはサポートされる機能である必要があります。


# CDC event

+ [変更データキャプチャイベント](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_objects_change_data_capture.htm)

Salesforce Change Data Capture は、Salesforce レコードへの変更を表す変更イベントを公開します。変更には、レコードの作成、既存のレコードの更新、レコードの削除、およびレコードの削除の取り消しが含まれます。変更データ キャプチャ イベントは、API バージョン 44.0 以降で使用できます。