Salesforce Einstein Analytics Cloud 用 Anypoint Connector (Salesforce Analytics Connector) では、Salesforce 外部データ API を使用して Salesforce Analytics Cloud アプリケーションに接続できます。このコネクタでは、Salesforce Analytics Cloud システムに対するデータセットの作成、削除、入力を行う便利なメソッドが公開されています。オンプレミスかクラウドかに関係なく、多種多様なデータソースから Salesforce Einstein Analytics Cloud にデータを読み込むことができます。このコネクタで、.csv ファイル以外も利用できるようになります。
ソフトウェアの要件および互換性情報については、「Salesforce Einstein Analytics Connector リリースノート」を参照してください。
始める前に
このコネクタを使用するには、以下に精通している必要があります。
-
Salesforce Einstein Analytics API
-
Anypoint Connector
-
Mule Runtime Engine (Mule)
-
Mule フローの要素
-
グローバル要素
-
Anypoint Studio を使用した Mule アプリケーションの作成方法
アプリケーションを作成する前に、対象リソースへの接続をテストするには、ログイン情報が必要です。
POM ファイル情報
Apache Maven pom.xml ファイルは Anypoint Studio によって生成され、Mule アプリケーションの連動関係が含まれます。Mule アプリケーションを手動でコーディングする場合、次の XML スニペットを pom.xml ファイルに含めてこのコネクタにアクセスできるようにします:
<dependency>
<groupId>com.mulesoft.connectors</groupId>
<artifactId>mule-sfdc-analytics-connector</artifactId>
<version>x.x.x</version>
<classifier>mule-plugin</classifier>
</dependency>
x.x.x を使用しているコネクタに対応するバージョンに置き換えます。
最新の pom.xml ファイル情報を取得する手順は、次のとおりです。
-
Anypoint Exchange に移動します。
-
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
-
Exchange で、「
<connector-name>」を検索します。 -
コネクタを選択します。
-
画面の右上付近にある [Dependency Snippets (連動関係スニペット)] をクリックします。
基本ユーザー名とパスワード認証の必須パラメーター
-
Username (ユーザー名)
Salesforce Einstein Analytics ユーザー名。 -
Password (パスワード)
Salesforce Einstein Analytics ユーザー名に対応するパスワード。 -
Security Token (セキュリティトークン)
対応するセキュリティトークン
OAuth 2.0 設定の必須パラメーター
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Consumer Secret (コンシューマーシークレット)
Salesforce にアクセスするコネクタのコンシューマーシークレット。
OAuth 2.0 JWT ベアラー設定の必須パラメーター
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Keystore File (キーストアファイル)
「キーストアファイルの生成」を参照してください。 -
Store Password (ストアのパスワード)
キーストアのパスワード -
Principal (プリンシパル)
Salesforce ユーザー名
OAuth 2.0 SAML ベアラー設定の必須パラメーター
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Keystore File (キーストアファイル)
認証時にデータへの署名に使用するキーストアへのパス。Java キーストア形式のみが許可されます。 -
Store Password (ストアのパスワード)
キーストアパスワード。 -
Principal (プリンシパル)
Salesforce ユーザー名。
キーストアファイルの生成
キーストアは、認証時にデータへの署名に使用するキーストアへのパスです。次の例は、JKS ファイルの生成方法を示しています。
-
Mule ワークスペースに移動し、コマンドプロンプト (Windows) またはターミナル (Mac) を開きます。
-
「
keytool -genkeypair -alias salesforce-cert -keyalg RSA -keystore salesforce-cert.jks」と入力して Enter キーを押します。 -
次の詳細を入力します。
-
キーストアのパスワード
-
自身の姓名
-
自身の組織単位
-
市区郡と都道府県の名前と 2 文字の国コード
システムが、ワークスペースに非公開キーと公開キーのペアが含まれる Java キーストアファイルを生成します。
-
-
コネクタ設定でキーストアのファイルパスを指定します。
「
keytool -exportcert -alias salesforce-cert -file salesforce-cert.crt -keystore salesforce-cert.jks」と入力して Enter キーを押します。システムが、キーストアからワークスペースに公開キーをエクスポートします。これは、Salesforce インスタンスに入力する必要がある公開キーです。
-
ワークスペースにキーストア (
salesforce-cert.jks) と公開キー (salesforce-cert.crt) の両方のファイルがあることを確認します。
Studio でコネクタに追加する
-
Studio で Mule プロジェクトを作成します。
-
[Mule Palette (Mule パレット)] ビューで、[(X) Search in Exchange ((X) Exchange 内を検索)] をクリックします。
-
[Add Modules to Project (モジュールをプロジェクトに追加)] で、検索項目に「analytics」と入力します。
-
[Available modules (使用可能なモジュール)] で、このコネクタの名前をクリックします。
-
[Add (追加)] をクリックします。
-
[Finish (完了)] をクリックします。
Studio でコネクタを設定する
-
目的の Salesforce Analytics 操作を Studio キャンバスにドラッグします。
-
コネクタのグローバル要素を作成するには、[General (一般)] タブで、認証セクションで説明したように認証を設定します。
次の認証接続種別が使用できます。
-
次の項目を設定して外部データを新しいデータセットにアップロードし、操作の処理を開始します。
-
Type (型)
挿入するレコードのタイプ。作成するデータセットのスキーマを表す JSON ファイルを選択します。 -
Records (レコード)
DataSense 式。挿入するレコード。 -
操作
データセットにデータを読み込むときに使用する操作を指定します。 -
説明
-
Label (表示ラベル)
-
Data Set Name (データセット名)
-
ユーザー名/パスワード
[Global Element Properties (グローバル要素プロパティ)] 画面の [General (一般)] タブで、次の情報を入力して基本認証を設定します。
-
Username (ユーザー名)
Salesforce ユーザー名を入力します。 -
Password (パスワード)
対応するパスワードを入力します。 -
Security Token (セキュリティトークン)
対応するセキュリティトークンを入力します。
次のスクリーンショットは、基本認証の設定例を示しています。
OAuth 2.0
[Global Element Properties (グローバル要素プロパティ)] 画面の [General (一般)] タブで、次の情報を入力して OAuth 2.0 認証を設定します。
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Consumer Secret (コンシューマーシークレット)
Salesforce にアクセスするコネクタのコンシューマーシークレット。
次のスクリーンショットは、OAuth 2.0 認証を設定する例を示しています。
OAuth 2.0 JWT
[Global Element Properties (グローバル要素プロパティ)] 画面の [General (一般)] タブで、次の情報を入力して OAuth 2.0 JWT 認証を設定します。
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Keystore File (キーストアファイル)
「キーストアファイルの生成」を参照してください。 -
Store Password (ストアのパスワード)
キーストアのパスワード -
Principal (プリンシパル)
Salesforce ユーザー名
OAuth 2.0 SAML Bearer (OAuth 2.0 SAML ベアラー)
[Global Element Properties (グローバル要素プロパティ)] 画面の [General (一般)] タブで、次の情報を入力して OAuth 2.0 SAML ベアラー認証を設定します。
-
Consumer Key (コンシューマーキー)
Salesforce 接続アプリケーションのコンシューマーキー。 -
Keystore File (キーストアファイル)
「キーストアファイルの生成」を参照してください。-
Store Password (ストアのパスワード)
キーストアのパスワード。 -
Principal (プリンシパル)
Salesforce ユーザー名
-
ユースケース: Studio
このユースケースは、Salesforce Einstein Analytics Connector の使用方法の例を示しており、次のようにエンドツーエンドのフローが含まれます。
-
入力元として HTTP リスナーを使用します。
-
ユーザー名、パスワード、セキュリティトークンを使用して接続を設定します。
-
使用するパラメーターを含む Salesforce Analytics 操作を使用します。
以下の例には、次のコンポーネントが含まれます。
-
HTTP リスナー。HTTP 要求からデータを受け入れます。
-
Transform Message。Salesforce Einstein Analytics Connector で要求されるレコード入力データを提供します。
%dw 2.0
output application/java
---
[
{
"Id": 1,
"Country": "Country",
"City": "City",
"Year": 428742153,
"Distance": 284644936,
"Currencies":
[
"EUR",
"USD"
],
"CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"}
},
{
"Id": 2,
"Country": "Country",
"City": "City",
"Year": 1432651434,
"Distance": 1336594394,
"Currencies":
[
"EUR",
"USD",
"HUF"
],
"CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"}
}
]
-
Salesforce Analytics Connector。Salesforce に接続し、データを Salesforce Einstein Analytics Cloud にプッシュする操作を実行します。
ユースケース: XML
この例で示している XML コードを Anypoint Studio の [Configuration XML (設定 XML)] タブに貼り付けて、前のセクションで説明したフローを試してください。
ここでも、作成するデータセットのスキーマを記述した metadata.json ファイルを指定する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:salesforce-analytics="http://www.mulesoft.org/schema/mule/salesforce-analytics"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce-analytics
http://www.mulesoft.org/schema/mule/salesforce-analytics/current/mule-salesforce-analytics.xsd">
<configuration-properties file="mule-app.properties" />
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<salesforce-analytics:salesforce-analytics-config
name="Salesforce_Analytics_Salesforce_Analytics"
doc:name="Salesforce Analytics Salesforce Analytics" >
<salesforce-analytics:basic-connection username="${salesforce.username}"
password="${salesforce.password}" securityToken="${salesforce.securityToken}"
url="${salesforce.url}"/>
</salesforce-analytics:salesforce-analytics-config>
<flow name="upload-all-in-one-with-append" >
<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="append"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[
{
"Id": 1,
"Country": "Country",
"City": "City",
"Year": 428742153,
"Distance": 284644936,
"Currencies":
[
"EUR",
"USD"
],
"CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"}
},
{
"Id": 2,
"Country": "Country",
"City": "City",
"Year": 1432651434,
"Distance": 1336594394,
"Currencies":
[
"EUR",
"USD",
"HUF"
],
"CreationDate": "20/12/2017" as Date {format: "dd/MM/yyyy"}
}
]]]></ee:set-payload>
</ee:message>
</ee:transform>
<salesforce-analytics:upload-external-data-into-new-data-set-and-start-processing
doc:name="Upload external data into new data set and start processing"
config-ref="Salesforce_Analytics_Salesforce_Analytics" operation="APPEND"
description="${allInOne.dataSetDescription}" label="${allInOne.dataSetLabel}"
dataSetName="${allInOne.dataSetName}" edgemartContainer="${allInOne.dataSetContainerName}"
type="metadata.json" notificationSent="ALWAYS" notificationEmail="${notification.email}"/>
</flow>
</mule>
関連情報
-
基本ユーザー名とパスワード認証の必須パラメーターについては、 Salesforce 基本認証に関するドキュメントを参照してください。
-
OAuth 2.0 設定の必須パラメーターについては、 Salesforce OAuth 2.0 に関するドキュメントを参照してください。
-
OAuth 2.0 JWT ベアラー設定の必須パラメーターについては、 Salesforce OAuth 2.0 JWT ベアラーに関するドキュメントを参照してください
-
OAuth 2.0 SAML ベアラー設定の必須パラメーターについては、 Salesforce OAuth 2.0 SAML ベアラーに関するドキュメントを参照してください