Anypoint Studio (Studio) エディターは、Mule アプリケーション、プロパティ、および設定ファイルの設計と更新に役立ちます。
Studio でコネクタを追加および設定する手順は、次のとおりです。
-
Mule プロジェクトを作成します。
-
コネクタのフローの入力元を設定します。
-
コネクタ操作をフローに追加します。
-
コネクタのグローバル要素を設定します。
Studio でコネクタを初めて設定する場合は、「Studio を使用したコネクタの設定」を参照してください。 このトピックを読んだ後でコネクタ項目に関する追加情報が必要な場合は、「Salesforce リファレンス」を参照してください。
Mule プロジェクトを作成する
Studio で、コネクタを追加および設定する新しい Mule プロジェクトを作成します。
-
Studio で、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
-
Mule プロジェクトの名前を入力して、[Finish (完了)] をクリックします。
コネクタを Mule プロジェクトに追加する
Salesforce Connector を Mule プロジェクトに追加して、XML コードにコネクタの名前空間およびスキーマの場所を自動的に入力し、プロジェクトの pom.xml ファイルに必須の連動関係を追加します。
-
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
-
[Add Modules to Project (モジュールをプロジェクトに追加)] で、検索項目に「
salesforce」と入力します。 -
[Available modules (使用可能なモジュール)] で、そのコネクタ名をクリックします。
-
[Add (追加)] をクリックします。
-
[Finish (完了)] をクリックします。
Studio でコネクタを Mule プロジェクトに追加しても、Studio ワークスペースの他のプロジェクトはそのコネクタを使用できません。
入力元を設定する
-
コネクタの操作を Studio キャンバスにドラッグします。
Salesforce Connector を入力元として使用するには、これらの操作のいずれかをフローの提供元領域にドラッグします。チャネルのサブスクリプションを作成する前に、チャネルまたはトピックを Salesforce にパブリッシュする必要があります。
-
On Deleted Object
Salesforce ユーザーがオブジェクトを削除した時点でアプリケーションを開始します。
Contact、Lead、Account、Contracts、Opportunity のオブジェクト種別、またはカスタムオブジェクト名を指定できます。 -
On Modified Object
Salesforce ユーザーがオブジェクトを変更した時点でアプリケーションを開始します。
Contact、Lead、Account、Contracts、Opportunity のオブジェクト種別、またはカスタムオブジェクト名を指定できます。 -
On New Object Salesforce ユーザーがオブジェクトを作成した時点でアプリケーションを開始します。
Contact、Lead、Account、Contracts、Opportunity のオブジェクト種別、またはカスタムオブジェクト名を指定できます。 -
Replay channel listener
ストリーミングチャネルをサブスクライブします。この入力元では、24 時間の保持期間内の新規イベントおよび Salesforce で保存されたイベントについてチャネル関連の通知設定が提供されます。指定されたチャネルの入力元でイベントが発生するとフローがトリガーされます。
-
Replay topic listener
トピックをサブスクライブします。この入力元では、24 時間の保持期間内の新規イベントおよび Salesforce で保存されたイベントについてトピック関連の通知設定が提供されます。レコードの指定されたトピックでイベントが発生するとフローがトリガーされます。
-
Subscribe channel listener
ストリーミングチャネルをサブスクライブします。この入力元では、サブスクライブ後に発生した新規イベントについてチャネル関連の通知設定が提供されます。
-
Subscribe topic listener
トピックをサブスクライブします。この入力元では、サブスクライブ後に発生した新規イベントについてトピック関連の通知設定が提供されます。
On New Object 操作と On Modified Object 操作では、Since (開始日) 項目で UTC 値を指定してください。サーバーのタイムゾーンが異なる場合は、この項目に値を指定する必要があります。この項目を空白にすると、コネクタはローカルタイムスタンプを使用します。
-
フローにコネクタの操作を追加する
フローにコネクタの操作を追加すると、そのコネクタで実行する特定の操作をすぐに定義できます。
Salesforce の操作を追加する手順は、次のとおりです。
-
[Mule Palette (Mule パレット)] ビューで [Salesforce] を選択し、目的の操作を選択します。
-
その操作を Studio キャンバスの入力元の右にドラッグします。
コネクタのグローバル要素を設定する
コネクタを設定する場合、アプリケーション内のそのコネクタのすべてのインスタンスで使用できるグローバル要素を設定することをお勧めします。グローバル要素を設定するには、コネクタが対象の Salesforce システムにアクセスするために使用する認証ログイン情報を指定する必要があります。
Salesforce Connector のグローバル要素を設定する手順は、次のとおりです。
-
Studio キャンバスでコネクタの名前を選択します。
-
操作の設定画面で、[Connector configuration (コネクタ設定)] 項目の横にあるプラス記号 (+) をクリックし、グローバル要素設定項目にアクセスします。
-
[General (一般)] タブで、認証接続種別を設定します。
-
それぞれの接続オプションに対して、プロキシ値を任意で設定できます。
-
Host (ホスト)
プロキシサーバーのホスト名
-
Port (ポート)
プロキシサーバーが実行されるポート番号
-
Username (ユーザー名)
サーバーにログインするためのユーザー名
-
Password (パスワード)
対応するパスワード
-
-
[Advanced (詳細)] タブで、必要に応じて再接続戦略を含む再接続情報を指定します。
-
[Test Connection (接続をテスト)] をクリックして、Mule が指定されたサーバーに接続できることを確認します。
-
[OK] をクリックします。
[Global Element Properties (グローバル要素のプロパティ)] 画面の項目を入力したら、メインのコネクタメニューに戻って [Connector Property Values (コネクタプロパティ値)] を設定します。
基本認証
基本認証では、認証にユーザー名とパスワードを使用します。
重要な項目を次に示します。
-
Username (ユーザー名) (必須)
Salesforce ユーザー名 -
Password (パスワード) (必須)
対応するパスワード -
Security token (セキュリティトークン)
対応するセキュリティトークン -
Authorization URL (認証 URL)
SOAP 認証要求を処理するように設定されているエンドポイントの URL
OAuth 2.0
OAuth 2.0 では、ユーザーアカウントをホストするサービスにユーザー認証を委任します。
重要な項目を次に示します。
-
Consumer key (コンシューマーキー) (必須)
Salesforce 接続アプリケーションのコンシューマーキー。「コンシューマーキーの作成」を参照してください。 -
Consumer secret (コンシューマーシークレット) (必須)
Salesforce にアクセスするコネクタのコンシューマーシークレット -
Listener config (リスナー設定) (必須)
リスナーの設定 (HTTP_Listener_config など) -
Callback Path (コールバックパス) (必須)
コールバックのパス (/callback など) -
Authorize path (認証パス) (必須)
認証のパス (/authorize など) -
External callback url (外部コールバック URL)
コールバック URL (http://localhost:8085/callback など)
OAuth JWT
重要な項目を次に示します。
-
Consumer key (コンシューマーキー) (必須)
Salesforce 接続アプリケーションのコンシューマーキー。「コンシューマーキーの作成」を参照してください。
-
Key store (キーストア) (必須)
「キーストアファイルの生成」を参照してください。
-
Store password (ストアのパスワード) (必須)
キーストアのパスワード
-
Certificate Alias (証明書の別名) (省略可能)
指定されたキーストアに複数の証明書が含まれている場合に使用される証明書の別名
-
Principal (プリンシパル) (必須)
Salesforce ユーザーのユーザー名
OAuth SAML
重要な項目:
-
Consumer key (コンシューマーキー) (必須)
Salesforce 接続アプリケーションのコンシューマーキー。「コンシューマーキーの作成」を参照してください。
-
Key store (キーストア) (必須)
「キーストアファイルの生成」を参照してください。
-
Store password (ストアのパスワード) (必須)
キーストアのパスワード
-
Certificate Alias (証明書の別名) (省略可能)
指定されたキーストアに複数の証明書が含まれている場合に使用される証明書の別名
-
Principal (プリンシパル) (必須)
Salesforce ユーザーのユーザー名
OAuth Username Password
重要な項目:
-
Consumer key (コンシューマーキー) (必須)
Salesforce 接続アプリケーションのコンシューマーキー。「コンシューマーキーの作成」を参照してください。
-
Consumer secret (コンシューマーシークレット) (必須)
Salesforce にアクセスするコネクタのコンシューマーシークレット
-
Username (ユーザー名) (必須)
Salesforce ユーザー名
-
Password (パスワード) (必須)
対応するパスワード
-
Security token (セキュリティトークン)
対応するセキュリティトークン
コネクタプロパティ値
次の例は、Salesforce Connector で設定できる多くの操作のうちの 4 つの操作と、それらの操作の重要な項目を示しています。
| 操作 | 重要な項目 |
|---|---|
Create (作成) |
|
Query (クエリ) |
v10.1/salesforce-connector-101
|
Update (更新) |
|
Delete (削除) |
|
コンシューマーキーの作成
Salesforce Connector に OAuth 2.0 をセットアップする場合はコンシューマーキーが必要です。コンシューマーキーは、OAuth JWT と SAML ベアラー設定、OAuth ユーザー名およびパスワード設定で使用されます。
子の手順は、Salesforce を使用してコンシューマーキーを作成する場合のガイダンスを提供し、Salesforce で接続アプリケーションを作成する方法を説明します。ただし、各自の Salesforce インスタンスによって手順が若干異なることがあります。
この手順は、認証ファイル (salesforce-cert.crt など) がすでにあることを前提としています。このファイルがない場合は、Java キーストアと公開キーを生成して作成できます。
-
Salesforce にログインします。
-
[設定] の [クイック検索] ボックスに「
Apps」と入力します。 -
[アプリケーションマネージャー] をクリックします。
-
[新規接続アプリケーション] をクリックします。
-
新しい接続アプリケーションを作成するには、以下を入力します。
-
接続アプリケーションの名前
-
API 参照名
-
連絡先メール
-
-
[API (OAuth 設定の有効化)] セクションで、[OAuth 設定の有効化] チェックボックスをオンにします。
-
[Callback URL (コールバック URL)] に入力。
-
[Use Digital Signatures (デジタル署名を使用)] チェックボックスをオン。
-
[ファイルの選択] をクリックし、公開キーが含まれる Salesforce 証明書 (
salesforce-cert.crt など) を読み込む。通常、Studio で Mule アプリケーションがあるワークスペースに証明書を保存します。
-
-
[選択した OAuth スコープ] に次の Oauth スコープを追加して保存します。
-
Full Access (フルアクセス) (
full) -
Perform Requests On Your Behalf At Any Time (ユーザーに代わっていつでも要求を実行) (
refresh_token、offline_access)
-
-
アプリケーションの認証を設定します。
-
[Manage (管理)] をクリックします。
-
[OAuth Policies (OAuth ポリシー)] セクションで、[Permitted Users (許可されているユーザー)] リストを展開し、[Admin Approved Users are Pre-Authorized (管理者が承認したユーザーは事前承認済み)] を選択します。
-
[Save (保存)] をクリックします。
-
[Profiles (プロファイル)] セクションで、[Manage Profiles (プロファイルを管理する)] をクリックします。
-
各自のユーザープロファイルを選択して、[Save (保存)] をクリックします。
-
[Build (ビルド)] > [Create (作成)] > [Apps (アプリケーション)] を選択して、接続アプリケーションのリストを返します。
-
[Connected Apps (接続アプリケーション)] セクションで、作成した接続アプリケーションを選択します。
これで、コネクタの設定で指定する必要のあるコンシューマーキーを表示できます。
キーストアファイルの生成
この例では、JKS キーストアの作成方法について説明します (PKCS12 形式もサポートされています)。
[Key Store (キーストア)] 項目は、認証時にデータへの署名に使用するキーストアへのパスです。
キーストアファイルを生成する手順は、次のとおりです。
-
Mule ワークスペースに移動し、コマンドプロンプト (Windows) またはターミナル (Mac) を開きます。
-
次のコマンドを入力して Enter キーを押します。
keytool -genkeypair -alias salesforce-cert -keyalg RSA -keystore salesforce-cert.jks -
次の情報を入力します。
-
キーストアのパスワード
-
自身の姓名
-
自身の組織単位
-
都道府県の名前と 2 文字の国コード
システムが、ワークスペースに非公開キーと公開キーのペアが含まれる Java キーストアファイル (JKS 形式) を生成します。
-
-
コネクタ設定でキーストアのファイルパスを指定します。
次のコマンドを入力して Enter キーを押します。
keytool -exportcert -alias salesforce-cert -file salesforce-cert.crt -keystore salesforce-cert.jksシステムが、キーストアからワークスペースに公開鍵をエクスポートします。これは、Salesforce インスタンスに入力する必要がある公開キーです。
-
ワークスペースにキーストア (
salesforce-cert.jks) と公開キー (salesforce-cert.crt) の両方のファイルがあることを確認します。
相互 TLS の使用
v9.7.0 以降では、すべての認証種別で相互 TLS をサポートしています。相互 TLS を使用するには、キーストアファイルとファイルのパスワードが必要です。詳細は「キーストアファイルの生成」を参照してください。
設定ウィンドウでキーストアファイルへのパスとパスワードを指定します。
相互 TLS 認証が必要なユーザーは、コネクタを使用してログインできます。
Salesforce 環境で相互 TLS 証明書をセットアップする方法については、「相互認証証明書のセットアップ」を参照してください。
Apex の設定
Apex REST と SOAP アクセスは Studio または XML を使用して設定できます。Salesforce に接続すると、Salesforce Connector は、Apex クラスと呼び出し可能な関連付けられたメソッドの名前を取得します。
すべての Salesforce 接続設定で、次の Apex 設定がサポートされます。
-
Fetch All Apex SOAP Metadata (すべての Apex SOAP メタデータを取得)
すべての Apex SOAP クラスのメタデータを取得します。[Apex Class Name (Apex クラス名)] 設定よりも優先されます。
-
Fetch All Apex REST Metadata (すべての Apex SOAP メタデータを取得)
すべての Apex REST クラスのメタデータを取得します。[Apex Class Name (Apex クラス名)] 設定よりも優先されます。
-
Apex Class Names (Apex クラス名)
クラスで公開されているメソッドと一緒に取得するクラスのセットを制限するために使用する、Apex クラス名のリスト。この設定により、取得する必要がないクラスの数が多い場合に取得プロセスを高速化できます。
Apex 設定は Studio で行えます。 「XML 設定」も参照してください。
[Apex] タブをクリックして設定を選択してください。
Apex 設定の値:
-
Fetch All Apex SOAP Metadata (すべての Apex SOAP メタデータを取得)
すべての Apex SOAP クラスのメタデータを取得します。
-
Fetch All Apex REST Metadata (すべての Apex SOAP メタデータを取得)
すべての Apex REST クラスのメタデータを取得します。
Apex Class Names (Apex クラス名):
[Expression (式)]、[Edit inline (インライン編集)]、または *[Bean reference (bean 参照)] * には以下のオプションがあります。
-
None (なし)
取得する DataSense に対する Apex クラス名が何も記述されません。
-
From a message (メッセージから)
式を使用してクラス名を指定できます。
-
Create object manually (オブジェクトを手動で作成)
DataSense が取得するクラス名のリストを作成できます。DataSense は、それらのクラスと関連付けられたメソッドのみを取得します。
[Fetch All Apex SOAP Metadata (すべての Apex SOAP メタデータを取得)] チェックボックスと [Fetch All Apex REST Metadata (すべての Apex REST メタデータを取得)] チェックボックスは [Apex Class Names (Apex クラス名)] の設定より優先されます。つまり、これらのボックスがオンになっている場合は、[Apex Class Names (Apex クラス名)] セクションの選択に関係なく、すべての Apex SOAP メタデータまたは Apex REST メタデータが取得されます。
次のステップ
Studio のセットアップを完了したら、「追加の設定情報」を参照してください。