Skip to main content

プラットフォームイベントを定義する

メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

このプロジェクトでは、次のことを行います。

  • プラットフォームイベントの概要を確認する。
  • 開発環境を設定する。
  • カスタムプラットフォームイベントを定義する。
  • インスタント通知を表示する Lightning コンソールアプリケーションを作成する。
  • コンソールアプリケーションと lightning/empApi モジュールを使用してプラットフォームイベントに登録する。
  • 作業内容をテストするために、提供されている Heroku アプリケーションを使用してプラットフォームイベントを公開する。
  • プラットフォームイベントを公開する Chatter Apex トリガーを実装する。

始める前に

このプロジェクトは、Lightning Web コンポーネントを作成した経験がある Salesforce 開発者向けに設計されています。まだ Lightning Web コンポーネントになれていない場合は、このプロジェクトを続行する前に、「Lightning Web コンポーネントの作成」トレイルでいくつかのバッジを獲得することをお勧めします。

すでに Salesforce DX 開発環境が整っていて、その環境で Lightning Web コンポーネントを作成して組織にリリースできることを前提とします。まだこのプロセスに不慣れな場合は、このプロジェクトの前に「クイックスタート: Lightning Web コンポーネント」プロジェクトを修了してください。

Bear Watch インスタント通知アプリケーションの概要

このプロジェクトでは、インスタント通知アプリケーションを作成することによって、プラットフォームイベントの使用方法を学習します。このアプリケーションを使用すると、自然公園の警備隊員が Salesforce プラットフォームを介してリアルタイムの通知を受信できます。

ビジターセンター付近でクマが目撃されたというインスタント通知アラートが表示されているホーム画面のスクリーンショット

ここで作成するインスタント通知アプリケーションでは、イベントは REST API を使用して Heroku アプリケーションから、または Chatter 投稿の Apex トリガーから公開されます。イベントは、イベントバスへの登録者として機能する Lightning コンソールアプリケーションによって lightning/empApi モジュール経由で受信されます。このアーキテクチャを下図に示します。

プロジェクトのアーキテクチャ図。

プラットフォームイベントの概要

プラットフォームイベントにより、開発者は安全で、スケーラブルで、カスタマイズ可能なイベント通知を作成できます。また、公開/登録アーキテクチャによって、Salesforce プラットフォーム内だけではなく外部ソースとの間でもイベントを交換できます。アプリケーションは、Apex またはいずれかの Salesforce プラットフォーム API (Pub/Sub API、SOAP API、REST API、または Bulk API) を使用してプラットフォームイベントを公開できます。フローもプラットフォームイベントを公開できます。アプリケーションは、Apex トリガー、Pub/Sub API (gRPC) クライアント、CometD クライアント、lightning/empApi モジュール、またはフローを使用してイベントに登録できます。CometD と gRPC は、どちらも HTTP ベースのイベントルーティングプロトコルであり、外部アプリケーションがポーリングを必要とせずにプラットフォームイベントに登録できるようにします。CometD は HTTP/1.1 標準、gRPC はより新しい HTTP/2 標準をベースとしています。

メモ

ポーリング

ポーリングとは、サーバーに対してリソースのクエリを繰り返す動作です。この手法は、そのリソースの状態変化に対する疑似リアルタイム応答を取得するために使用されます。この手法には拡張性がないため、Web ページでポーリングを使用することは望ましくありません。

プラットフォームイベントには、カスタムオブジェクトと同様にカスタマイズ可能なデータが含まれています。ただし、カスタムオブジェクトとは異なり、イベントは 72 時間しか保持されません。また、レコードとは異なり、イベントのリストを表示するユーザーインターフェースはなく、SOQL によってクエリすることもできません。

プラットフォームイベントについての詳細は、「プラットフォームイベントの基礎」モジュールと『Platform Events Developer Guide (プラットフォームイベント開発者ガイド)』を参照してください。

新しい Trailhead Playground を作成する

このプロジェクト用に、新しい Trailhead Playground を作成する必要があります。このページの一番下までスクロールして Playground 名をクリックし、[Create Trailhead Playground (Trailhead Playground を作成)] をクリックします。新しい Trailhead Playground を作成するには、通常 3、4 分かかります。

メモ

メモ

必ず新しい Trailhead Playground を使用してください。既存の組織や Playground を使用すると、Challenge に取り組んでいるときに問題が発生することがあります。

Trailhead Playground のユーザー名とパスワードを取得する

では始めましょう。Trailhead Playground に移動します。(Playground がまだ開いていない場合は、このページの一番下までスクロールして [Launch (起動)] をクリックします。)組織に [Get Your Login Credentials (ログイン情報を取得する)] というタブが表示されている場合は、ステップ 1 まで進みます。表示されていない場合は、アプリケーションランチャー (アプリケーションランチャー) で [Playground Starter] をクリックして手順に従います。

  1. [Get Your Login Credentials (ログイン情報を取得する)] タブをクリックし、ユーザー名をメモします。
  2. [Reset My Password (パスワードのリセット)] をクリックします。これにより、ユーザー名に関連付けられているアドレスにメールが送信されます。
  3. メール内のリンクをクリックします。
  4. 新しいパスワードを入力し、確認して、[Change Password (パスワードを変更)] をクリックします。

プロジェクトを設定する

  1. Visual Studio Code で、Instant Notification App (インスタント通知アプリケーション) という名前の Salesforce DX プロジェクトを作成します。
  2. Trailhead Playground を承認します。

プラットフォームイベントを定義する

  1. Playground に戻り、[Setup (設定)] から、[Quick Find (クイック検索)] ボックスに Platform Events と入力し、[Platform Events (プラットフォームイベント)] を選択します。
  2. [Platform Events (プラットフォームイベント)] ページで、[New Platform Event (新規プラットフォームイベント)] をクリックします。
  3. 「Notification」(通知) プラットフォームイベントを作成して、次のように設定します。
    • Label (表示ラベル): Notification (通知)
    • Plural Label (表示ラベル(複数形)): Notifications (通知)
    • Object Name (オブジェクト名): Notification
    • Description (説明): Real time notifications (リアルタイム通知)
  4. [Save (保存)] をクリックします。

項目にプラットフォームイベントを追加する

  1. [Notification (通知)] プラットフォームイベントページで、[Custom Fields & Relationships (カスタム項目 & リレーション)] の [New (新規)] をクリックします。
  2. データ型に [Text (テキスト)] を選択します。
  3. [Next (次へ)] をクリックします。
  4. 次の値を設定します。
    • Field Label (項目の表示ラベル): Message (メッセージ)
    • Length (文字数): 255
    • Field Name (項目名): Message (メッセージ)
    • Description (説明): The notification message (通知メッセージ)
    • Required (必須項目): [Always require a value in this field in order to save a record (値の入力を必須にする)] の横にあるチェックボックスをオンにします。
  5. [Save (保存)] をクリックします。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む