この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

カスタムプラットフォームイベントチャネルへの登録

EMP コネクタを使用して、以前定義した Low_Ink__e カスタムプラットフォームイベントのチャネルに登録します。
  1. LoginExample クラスを実行し、次の引数を指定します。
    1. Package Explorer で、LoginExample.java ファイルに移動します。ファイルを右クリックし、[Run As (別のユーザとして実行)] | [Run Configurations (設定を実行)] を選択します。
    2. [Arguments (引数)] タブで、次の引数の値をスペースで区切って入力します。
      引数
      username 自分の Salesforce ユーザ名
      password 自分の Salesforce パスワード
      channel イベントのチャネル名: /event/Low_Ink__e
    3. [Run (実行)] をクリックします。

    サンプルがイベントチャネルに登録され、イベント通知をリスンし始めます。イベント通知が生成されて受信されるとすぐに、ツールがイベント通知をコンソールに出力します。

    必要に応じて、異なるイベントを受信するために、最後の引数として再生 ID を含めることができます。有効な値は、次のとおりです。
    • –1 — 登録後に送信されたすべての新規イベントを取得します。このオプションはデフォルトです。
    • –2 — 登録後に送信されたすべての新規イベントおよび保持ウィンドウ内のすべての過去のイベントを取得します。-2 は慎重に使用してください。大量のイベントメッセージが保存されている場合、すべてのイベントメッセージを取得するとパフォーマンスが低下します。
    • 特定の番号 — 指定された再生 ID を持つイベントより後に発生したすべてのイベントを取得します。
  2. カスタムプラットフォームのイベントメッセージを生成するには、開発者コンソールで Apex を実行し、イベントメッセージを公開します。
    1. Salesforce Classic では、あなたの名前 | [開発者コンソール] をクリックします。
    2. Lightning Experience では、クイックアクセスメニュー (設定歯車アイコン) をクリックし、[開発者コンソール] を選択します。
    3. 開発者コンソールで、[Debug (デバッグ)] | [Open Execute Anonymous Window (実行匿名ウィンドウを開く)] を選択します。
    4. 新しいウィンドウで、任意のコードを次の Apex スニペットで置き換えます。このスニペットは、プラットフォームイベントを公開します。
      1// Create event instance.
      2Low_Ink__e event = new Low_Ink__e(Printer_Model__c='XZO-5', Serial_Number__c='12345', 
      3              Ink_Percentage__c=0.2);
      4
      5// Publish event.
      6Database.SaveResult sr = EventBus.publish(event);
      7
      8// Inspect publishing result for each event
      9if (sr.isSuccess()) {
      10    System.debug('Successfully published event.');
      11} else {
      12    for(Database.Error err : sr.getErrors()) {
      13        System.debug('Error returned: ' +
      14                    err.getStatusCode() +
      15                    ' - ' +
      16                    err.getMessage());
      17    }
      18}
    5. [Execute (実行)] をクリックします。プラットフォームイベントが公開されると、EMP コネクタがイベント通知を受信し、イベント通知はコンソールに出力されます。出力は次のようになります。
      1Subscribed: Subscription [/event/Low_Ink__e:-1]
      2Received:
      3{  
      4   "schema":"3l1laWb62nM8omMU0waLdg",
      5   "payload":{  
      6      "Serial_Number__c":"12345",
      7      "CreatedById":"00550000001N45jAAC",
      8      "CreatedDate":"2018-08-15T21:49:44Z",
      9      "Ink_Percentage__c":0.2,
      10      "Printer_Model__c":"XZO-5"
      11   },
      12   "event":{  
      13      "replayId":1
      14   }
      15}

一般的に、本番環境でコードを実行するときには、他のユーザのユーザ名とパスワードを処理しないようにします。本番環境では、ログインを OAuth に委任してください。BearerTokenExample.java クラスでは OAuth 認証が使用されます。

メモ