Anypoint Studio を使用した Salesforce Pub/Sub Connector 1.0 の設定 - Mule 4

Anypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。

Studio でコネクタを追加および設定する手順は、次のとおりです。

「アプリケーションログの表示」​で説明されているように、コネクタを実行するときに、リアルタイムでアプリケーションログを表示して問題を確認できます。

Studio で初めてコネクタを設定する場合は、​「Anypoint Studio を使用したコネクタの設定」​を参照してください。このトピックを読んだ後でコネクタ項目に関する追加情報が必要な場合は、​「Salesforce Pub/Sub Connector リファレンス」​を参照してください。

Mule プロジェクトを作成する

Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。

  1. Studio で、​[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)]​ を選択します。

  2. Mule プロジェクトの名前を入力して、​[Finish (完了)]​ をクリックします。

コネクタを Mule プロジェクトに追加する

Salesforce Pub/Sub Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの ​pom.xml​ ファイルに必須の連動関係を追加します。

  1. [Mule Palette (Mule パレット)]​ で、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  2. [Add Dependencies to Project (連動関係をプロジェクトに追加)]​ で、検索項目に​「Salesforce Pub/Sub」​と入力します。

  3. [Available modules (使用可能なモジュール)]​ で [<Salesforce Pub/Sub>] をクリックします。

  4. [Add (追加)]​ をクリックします。

  5. [Finish (完了)]​ をクリックします。

Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。

ソースの設定

ソースは、指定された条件が満たされたときにフローを開始します。 次のソースのいずれかを with Salesforce Pub/Sub Connector で使用するために設定できます。

  • Subscribe Channel Listener
    ストリーミングチャネルをサブスクライブします。このソースでは、サブスクライブ後に発生した新規イベントについてチャネル関連の通知設定が提供されます。

    チャネルのサブスクリプションを作成する前に、チャネルを Salesforce にパブリッシュする必要があります。
  • HTTP Listener (HTTP リスナー)
    設定されたホストとポートで要求を受信するたびにフローを開始する

  • スケジューラー
    時間ベースの条件が満たされたときにフローを開始する

たとえば、​Subscribe channel listener​ ソースを設定するには、次の手順を実行します。

  1. [Mule Palette (Mule パレット)]​ ビューで、​[Subscribe channel listener]​ を選択します。

  2. [Subscribe channel listener]​ を Studio キャンバスにドラッグします。

  3. 必要に応じて ​[Display Name (表示名)]​ 項目の値を変更します。

  4. ドロップダウン項目から ​[Channel Name (チャネル名)]​ を選択します。

  5. 使用可能な 4 つの種別から ​[Replay Option (再生オプション)]​ を選択します。

    • Latest (最新)

      サブスクライバーが、クライアントのサブスクライブ後にブロードキャストされた新規イベントを受信します。

    • Earliest (最古)

      サブスクライバーが、サーバーの保持期間中の過去のイベントと、サブスクリプション後に送信された新規イベントを含め、すべてのイベントを受信します。

    • Custom replay id (カスタム再生 ID)

      サブスクライバーが、再生 ID の値が指定した値より大きいイベントのみを受信します。

    • Replay id from object store (オブジェクトストアの再生 ID)

      サブスクライバーが、再生 ID の値がオブジェクトストアの指定した値より大きいイベントのみを受信します。値が指定されていない場合、デフォルトの ​[Earliest (最古)]​ になります。​[Object Store Name (オブジェクトストア名)]​ および ​[Object Store Key (オブジェクトストアキー)]​ 項目の値を指定して、目的のオブジェクトストアに接続し、再生 ID 値を取得します。​[Replay id from object store (オブジェクトストアの再生 ID)]​ を使用する方法についての詳細は、「​オブジェクトストアの再生 ID を保存する​」を参照してください。

  6. 必要に応じて、​[Batch events size (バッチイベントサイズ)]​ 項目の値を指定します。

  7. [Connector configuration (コネクタ設定)]​ 項目の横にあるプラス記号 (​+​) をクリックして、アプリケーション内の ​Subscribe channel listener​ ソースのすべてのインスタンスで使用できるグローバル要素を設定します。

  8. [Security (セキュリティ)]​ タブで、必要に応じてコネクタの TLS 情報を指定します。

  9. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  10. [Test Connection (接続をテスト)]​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。

  11. [OK]​ をクリックします。

オブジェクトストアの再生 ID を保存する

Subscribe channel listener​ ソースの ​[Replay id from object store (オブジェクトストアの再生 ID)]​ オプションを使用するには、まずオブジェクトストアの再生 ID 値を保存する必要があります。

  1. 「​ソースの設定​」で説明されているように、​Subscribe channel listener​ ソースを Studio フローに追加します。

  2. [Mule Palette (Mule パレット)]​ ビューで、​[Object Store Connector]​ から ​[Store (保存)]​ を選択します。

  3. [Store (保存)]​ を Studio キャンバスにドラッグします。

  4. 必要に応じて ​[Display Name (表示名)]​ 項目の値を変更します。

  5. [Key (キー)]​ 項目の値 (再生 ID) を追加します。これは、オブジェクトストアから再生 ID を取得するときに後で使用するキーです。

  6. [Value (値)]​ 項目の値を設定します。これは、保存する再生 ID 値です。この例では、​payload.replayId​ です。

  7. 必要に応じて、​[Fail if present (存在する場合は失敗)]​ および ​[Fail on null value (null 値の場合は失敗)]​ 項目のデフォルト値を変更します。同じキーを使用して再生 ID の新しい値を保存する必要があるため、​[Fail if present (存在する場合は失敗)]​ の値は常に ​false​ にする必要があります。

  8. [Object store (オブジェクトストア)]​ 項目の横にあるプラス記号 (​+​) をクリックし、オブジェクトストアを設定します。これは、再生 ID 値が保存されるオブジェクトストアで、ソースはここから再生 ID 値を取得します。

  9. ここで宣言される ​[Object store (オブジェクトストア)]​ および ​[Key (キー)]​ 項目の値は、ソースの ​[Replay id from object store (オブジェクトストアの再生 ID)]​ オプションで使用される値と同じになります。

フローにコネクタの操作を追加する

フローにコネクタの操作を追加するときは、そのコネクタで実行するアクションを指定しています。

Salesforce Pub/Sub Connector の操作を追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ で、​[Salesforce Pub/Sub]​ を選択し、目的の操作を選択します。

  2. その操作を Studio キャンバスの入力元の横にドラッグします。

コネクタのグローバル要素を設定する

コネクタを設定する場合、アプリケーション内のそのコネクタのすべてのインスタンスで使用できるグローバル要素を設定します。グローバル要素を設定するには、コネクタが対象の Salesforce Pub/Sub システムにアクセスするために必要な認証ログイン情報を指定する必要があります。Salesforce Pub/Sub Connector では、[Basic Authentication (基本認証)]、[OAuth v2.0]、[OAuth JWT]、[OAuth Username Password (OAuth ユーザー名/パスワード)]、[OAuth SAML] がサポートされます。

Salesforce Pub/Sub Connector のグローバル要素を設定する手順は、次のとおりです。

  1. Studio キャンバスで操作を選択します。

  2. 操作の ​[General (一般)]​ 設定画面で、​[Add (追加)]​ アイコンをクリックして、グローバル要素設定項目にアクセスします。

  3. [General (一般)]​ タブの ​[Connection (接続)]​ で、設定する認証方式を選択します。

    ANT スタイルのプロパティプレースホルダーを含む設定ファイルを参照するか (推奨)、グローバル設定プロパティに認証ログイン情報を入力できます。プロパティプレースホルダーを使用する利点とその設定方法については、​「Anypoint Connector 設定」​を参照してください。

  4. [Advanced (詳細)]​ タブで、必要に応じて再接続戦略を含む再接続情報を指定します。

  5. [Test Connection (接続をテスト)]​ をクリックして、Mule が指定されたサーバーに接続できることを確認します。

  6. [OK]​ をクリックします。

基本認証

[Global Element Properties (グローバル要素のプロパティ)]​ 画面の ​[General (一般)]​ タブで次の情報を入力し、基本認証を設定します。

項目 ユーザーアクション

Name (名前)

設定名を入力します。

Connection (接続)

[Basic Authentication (基本認証)]​ を選択します。

次のイメージは、基本認証の設定例を示しています。

[Connection (接続)] セクションでは [Basic Authentication (基本認証)] が選択され、[General (一般)] タブでは認証項目が入力されています。

OAuth v2.0

OAuth 2.0 を使用して、ユーザーアカウントをホストするサービスにユーザー認証を委任します。詳細は、​「コネクタの OAuth 2.0 の設定」​または​「CloudHub でのコネクタの OAuth 2.0 の設定」​を参照してください。

グローバル要素設定画面の ​[General (一般)]​ タブで次の情報を入力し、OAuth v2.0 認証を設定します。

項目 ユーザーアクション

Name (名前)

設定名を入力します。

Connection (接続)

[OAuth v2.0]​ を選択します。

Consumer Key (コンシューマーキー)

サービスプロバイダーに登録されている OAuth コンシューマーキーを入力します。

Consumer Secret (コンシューマーシークレット)

サービスプロバイダーに登録されている OAuth コンシューマーシークレットを入力します。

Listener Config (リスナー設定)

アクセストークンコールバックエンドポイントで要求をリスンする HTTP リスナー設定を入力します。

Callback Path (コールバックパス)

アクセストークンコールバックエンドポイントのパスを入力します。

Authorize Path (認証パス)

OAuth ダンスをトリガーするローカル HTTP エンドポイントのパスを入力します。

次の画像は、OAuth v2.0 認証の設定例を示しています。

[Connection (接続)] セクションでは [OAuth v2.0] が選択され、[General (一般)] タブでは認証項目が入力されています。

OAuth JWT

グローバル要素設定画面の ​[General (一般)]​ タブで次の情報を入力し、OAuth JWT 認証を設定します。

項目 ユーザーアクション

Name (名前)

設定名を入力します。

Connection (接続)

[OAuth JWT]​ を選択します。

Consumer Key (コンシューマーキー)

Salesforce 接続アプリケーションのコンシューマーキーを入力します。

Key Store (キーストア)

認証時にデータへの署名に使用するキーストアへのパスを入力します。

Store Password (ストアのパスワード)

キーストアのパスワードを入力します。

Principal (プリンシパル)

目的の Salesforce ユーザーの代理でアクションを実行するユーザーのユーザー名を入力します。

次の画像は、OAuth JWT 認証の設定例を示しています。

[Connection (接続)] セクションでは [OAuth JWT] が選択され、[General (一般)] タブでは認証項目が入力されています。

OAuth Username Password

グローバル要素設定画面の ​[General (一般)]​ タブで次の情報を入力し、OAuth ユーザー名/パスワード認証を設定します。

項目 ユーザーアクション

Name (名前)

設定名を入力します。

Connection (接続)

[OAuth Username Password (OAuth ユーザー名/パスワード)]​ を選択します。

Consumer Key (コンシューマーキー)

Salesforce 接続アプリケーションのコンシューマーキーを入力します。

Consumer Secret (コンシューマーシークレット)

アプリケーションのコンシューマーシークレット (リモートアクセスの詳細のコンシューマーシークレット) を入力します。

Username (ユーザー名)

セッションの初期化に使用するユーザー名を入力します。

Password (パスワード)

ユーザーの認証に使用するパスワードを入力します。

Principal (プリンシパル)

目的の Salesforce ユーザーの代理でアクションを実行するユーザーのユーザー名を入力します。

次の画像は、OAuth ユーザー名/パスワード認証の設定例を示しています。

[Connection (接続)] セクションでは [OAuth ユーザー名/パスワード] が選択され、[General (一般)] タブでは認証項目が入力されています。

OAuth SAML

グローバル要素設定画面の ​[General (一般)]​ タブで次の情報を入力し、OAuth SAML 認証を設定します。

項目 ユーザーアクション

Name (名前)

設定名を入力します。

Connection (接続)

[OAuth SAML]​ を選択します。

Consumer Key (コンシューマーキー)

Salesforce 接続アプリケーションのコンシューマーキーを入力します。

Key Store (キーストア)

認証時にデータへの署名に使用するキーストアへのパスを入力します。

Store Password (ストアのパスワード)

キーストアのパスワードを入力します。

Principal (プリンシパル)

目的の Salesforce ユーザーの代理でアクションを実行するユーザーのユーザー名を入力します。

次の画像は、OAuth SAML 認証の設定例を示しています。

[Connection (接続)] セクションでは [OAuth SAML] が選択され、[General (一般)] タブでは認証項目が入力されています。

その他のコネクタ項目の設定

Salesforce Pub/Sub Connector のグローバル要素を設定したら、コネクタの他の必須項目を設定します。必須項目は、使用するコネクタ操作によって異なります。

アプリケーションログの表示

問題を確認するため、アプリケーションログを次の方法で表示できます。

  • アプリケーションを Anypoint Platform から実行している場合、アプリケーションログ出力は Anypoint Studio のコンソールウィンドウに表示されます。

  • コマンドラインから Mule を使用してアプリケーションを実行している場合、アプリケーションログ出力はオペレーティングシステムのコンソールに表示されます。

アプリケーションのログファイル (​log4j2.xml​) でログファイルパスがカスタマイズされていない場合、デフォルトの場所 ​MULE_HOME/logs/<app-name>.log​ でアプリケーションログにアクセスすることもできます。ログパスは、アプリケーションログファイル ​log4j2.xml​ で設定できます。