エンタープライズメッセージングプラットフォーム

Messaging には、正式リリースの新機能であるプラットフォームイベントが含まれます。
使用可能なエディション: Performance Edition、Unlimited Edition、Enterprise Edition、および Developer Edition

プラットフォームイベントによるカスタム通知の配信 (正式リリース)

プラットフォームイベントによってシステムを監視し、変更を伝達してください。注文システムはパッケージを出荷しましたか? プリンタカートリッジを交換する必要はありませんか? どのようなことについて通知を受ける場合でも、Salesforce のエンタープライズメッセージングプラットフォームでは、安全でスケーラブルなカスタム通知を Salesforce 内と外部ソースから配信できます。この変更は、Lightning Experience と Salesforce Classic の両方に適用されます。

プラットフォームイベントは、Salesforce のエンタープライズメッセージングプラットフォームの一部です。このプラットフォームによってイベント主導のメッセージングアーキテクチャが提供され、Salesforce 内外でアプリケーションが通信できるようになります。イベントのカスタムデータは、定義したカスタム項目に保存されます。プラットフォームイベントにより、変更を伝達するプロセスや変更に対応するプロセスが簡素化され、複雑なロジックを構築する必要がなくなります。パブリッシャーと登録者はイベント経由で相互に通信を行います。複数の登録者が同じイベントをリスンして、別々の対応策を実行できます。

プラットフォームイベントを使用して、パブリッシャーは Apex または API 経由でカスタマイズしたイベントデータを送信できます。登録者は Apex または CometD クライアントを使用して Salesforce や外部システムからカスタム通知を受信できます。行動のコンテンツに基づいて、登録者は、メールの送信、ケースの登録など、カスタムビジネスロジックを処理できます。たとえば、インクが残り少なくなったときにプリンタを監視するソフトウェアシステムが API コールを行ってイベントを公開できます。プリンタイベントには、プリンタモデル、シリアル番号、インクレベルのカスタム項目を追加できます。新しいカートリッジを注文する Apex トリガによって、Salesforce でこのイベントが処理されます。

プラットフォームイベントの定義

プラットフォームイベントは、Salesforce ユーザインターフェースの [プラットフォームイベント] ページで定義します。[設定] から、[クイック検索] ボックスに「プラットフォームイベント」と入力し、[プラットフォームイベント] を選択します。プラットフォームイベント定義に名前を付けて、カスタム項目を追加し、プラットフォームイベント定義を作成します。このカスタム項目は、イベントメッセージ内で送信するデータを定義します。プラットフォームイベントは、Salesforce の項目種別のサブセットをサポートします。

たとえば、次の表はプリンタインクのイベントに関するカスタム項目の定義を示しています。

項目名 項目の API 参照名 項目種別
プリンタモデル Printer_Model__c テキスト
シリアル番号 Serial_Number__c テキスト
インク残量 Ink_Percentage__c 数値
製造日 Manufacturing_Date__c 日付

プラットフォームイベントは特別な種類の sObject です。レコードがカスタムオブジェクトのインスタンスであるように、イベント通知はプラットフォームイベントのインスタンスです。カスタムオブジェクトとは異なり、イベントレコードを Salesforce ユーザインターフェースで表示することはできず、プラットフォームイベントにはページレイアウトがありません。プラットフォームイベントはトランザクション型ではないため、ロールバックできません。また、プラットフォームイベントは 24 時間保持されるため、CometD 登録者は一意の ID (ReplayId 項目の値) を使用して過去のイベントを取得できます。

プラットフォームイベントの制限

説明 Performance Edition および Unlimited Edition Enterprise Edition サポートされている他のすべてのエディション
公開するイベントの 1 時間あたりの最大数

(イベントは Apex または API を使用して公開できます)。

100,000 100,000 1,000
イベントメッセージの最大サイズ 5 MB
24 時間以内に CometD クライアントに配信するイベントの最大数1 50,000 25,000 10,000
組織内に作成できるプラットフォームイベント定義の最大数 100 50 5

1 CometD クライアントに配信するイベント数の増加を要求するには、Salesforce に連絡してアドオンライセンスを購入してください。このアドオンライセンスにより、1 日の配信イベント数の制限が 100,000 イベント増えます。たとえば、Unlimited Edition では、このアドオンライセンスにより、1 日の配信イベント数の制限が 50,000 から 150,000 イベントに増えます。CometD クライアントのイベント要件を満たすためにアドオンを複数購入することができます。リリースの問題およびサービス品質の低下を回避するために、CometD クライアントに配信するイベント数を 1 日 500 万件以内にすることをお勧めします。追加の外部イベントが必要な場合は、ニーズを満たすために製品を拡張する方法について Salesforce の担当者にお問い合わせください。

Summer '17 におけるプラットフォームイベントの変更

前回のリリースでは、プラットフォームイベントはベータでした。今回のリリースでは正式リリースとなり、次の改善と変更が加えられています。

トランザクション以外のイベント
プラットフォームイベントは、Force.com プラットフォームのデータベーストランザクション外で処理されます。このため、ロールバックはできません。
制限
Salesforce は制限にさまざまな変更を加えました。たとえば、CometD クライアントのイベント数制限を増加するためにアドオンライセンスを追加しました。「プラットフォームイベントの制限」を参照してください。
Databinding.ObjectMapper のサポート停止
Databinding.ObjectMapper クラスは、transform メソッドとともに削除されました。このユーティリティメソッドは、前回のリリースで非推奨となりました。

ストリーミング API でサポートされる CometD バージョン

クライアントで CometD バージョン 3.0.9 以降を使用してストリーミング API に接続します。以前のバージョンはサポートされなくなったため、予期しない動作を生じる可能性があります。クライアント内の古い CometD バージョンの潜在的な問題を回避するには、CometD ライブラリを、サポートされるバージョンにアップグレードします。詳細は、https://cometd.org/ を参照してください。
メモ

メモ

『ストリーミング API 開発者ガイド』の Visualforce のコードサンプルがバージョン 3.1.0 の CometD を使用するコードにアップグレードされました。