Salesforce Platform Events の発行と購読
最終更新日 2023年11月09日(木)
Table of Contents
Salesforce のエンタープライズメッセージングプラットフォームで、イベント駆動型アプローチを使用してアプリを設計できます。プラットフォームイベントには、Salesforce のビジネスプロセスを統合したり、このようなプロセスを Heroku アプリなどの外部システムと統合したりするための強力なテクニックが用意されています。イベントプロデューサーとイベントコンシューマーが分離され、接続されたシステムでの通信モデルが簡略化されるため、このアーキテクチャは大規模な分散システムに向いています。
Heroku アプリケーションは、イベントプロデューサー、イベントコンシューマー、またはこの 2 つのいくつかの組み合わせとして動作できます。
どのような場合に使用するか
Salesforce のエンタープライズメッセージングプラットフォームとの最新鋭の統合を構築したい場合。このメッセージングプラットフォームでは、ポイントツーポイントの統合ではなく、イベントバスを使用した、統合の境界がはっきりしたモジュール式の統合を構築できます。
Heroku からのプラットフォームイベントの公開
Pub/Sub API と Heroku がサポートする Java、Node.js、Go、Python などのプログラミング言語を使用して、Pub/Sub API でプラットフォームイベントを公開します。gRPC API と HTTP/2 に基づく Pub/Sub API は、Apache Avro 形式のバイナリイベントメッセージを効率的に公開および配信するための単一のインターフェースを提供します。詳細は、「プラットフォームイベント開発者ガイド**」の「Publish Event Messages with Pub/Sub API」(Pub/Sub API によるイベントメッセージの公開) を参照してください。
イベントを公開するアプリを作成するには、言語サポートでサポートされている言語向けに提供されているスターターガイドのコード例を使用して始めることができます。次に、例を変更して、Pub/Sub API クライアントを作成し、Publish RPC メソッドまたは PublishStream RPC メソッドを使用してイベントを公開するコードを追加します。Pub/Sub API クライアントのコード例については、Pub/Sub API の GitHub リポジトリを参照してください。また、Heroku にデプロイできる E-Bikes Manufacturing Demo アプリを確認してください。E-Bikes Manufacturing アプリは、Lightning Web Runtime を使用する Node アプリです。詳細は、「プラットフォームイベント開発者ガイド**」の「Platform Event Samples」(プラットフォームイベントのサンプル) を参照してください。
プラットフォームイベントの登録
Pub/Sub API と Heroku がサポートする Java、Node.js、Go、Python などのプログラミング言語を使用して、Pub/Sub API でプラットフォームイベントと変更データキャプチャイベントを登録します。gRPC API と HTTP/2 に基づく Pub/Sub API は、Apache Avro 形式のバイナリイベントメッセージを効率的に公開および配信するための単一のインターフェースを提供します。詳細は、「プラットフォームイベント開発者ガイド**」の「Subscribe to Platform Event Notifications with Pub/Sub API」(Pub/Sub API によるプラットフォームイベント通知の登録) を参照してください。
イベントを登録するアプリを作成するには、言語サポートでサポートされている言語向けに提供されているスターターガイドのコード例を使用して始めることができます。次に、例を変更して、Subscribe RPC メソッドを使用してイベントを登録するコードを追加します。Pub/Sub API クライアントのコード例については、Pub/Sub API の GitHub リポジトリを参照してください。また、Heroku にデプロイできる E-Bikes Manufacturing Demo アプリを確認してください。E-Bikes Manufacturing アプリは、Lightning Web Runtime を使用する Node アプリです。詳細は、「プラットフォームイベント開発者ガイド」の「Platform Event Samples」(プラットフォームイベントのサンプル) を参照してください。E-Bikes アプリは、受信した注文の変更データキャプチャイベントを登録し、プラットフォームイベントを公開して注文を更新します。トピックパラメータを変更して、特定のプラットフォームイベントや変更イベントを登録できます。
制限と考慮事項
プラットフォームイベントを作成するときの考慮事項 (トリガーの無限ループの回避、API の制限などを含む) が記載されている Salesforce のドキュメントを参照してください。
「セキュリティと Heroku/Salesforce の統合」に、この統合を保護する方法が示されています。
詳細情報
- Platform Events Developer Guide (プラットフォームイベント開発者ガイド)
- Pub/Sub API Developer Guide (Pub/Sub API 開発者ガイド)
- Change Data Capture Developer Guide (変更データキャプチャ開発者ガイド)