Salesforceコネクタの使用
Salesforceコネクタを使用すると、Altair AI Studioから直接Salesforceに接続することができます。これはすべてのCRUD操作(Create、Read、Update、Delete)をサポートし、Salesforce Object Query Language(SOQL)でカスタムクエリを作成するためのエディタを提供します。
このドキュメントでは、以下の方法について説明します。
Salesforceアカウントへの接続
次のいずれかを使用して、Salesforce アカウントに接続できます。
- アカウントの認証情報 – アカウントの認証情報を使用して接続するには、アカウントの接続情報(ユーザ名、パスワード、セキュリティトークン、URL)が必要です。
- the Salesforce OAuth Device Flow – OAuthを使用して接続するには、Salesforce管理者が設定した、いわゆる接続アプリケーションのクライアントIDが必要です。
Altair AI Studioでは、どちらの方法にも同じ接続オブジェクトを使用します。
- 新しい接続オブジェクトを作成するには、Salesforce接続を保存するリポジトリを右クリックして、Create Connectionを選択します。
または、Connections >Create Connectionをクリックし、以下のダイアログのドロップダウンからリポジトリを選択することも可能です。 - 新しい接続の名前を入力し、Connection TypeをSalesforceに設定します。
- Createをクリックし、Edit connectionダイアログのSetupタブに切り替えます。
アカウント認証情報の使用
Authentication methodにHTTP Basic Authenticationを使用して、Salesforce設定の接続詳細を入力します。
ユーザー名とパスワードはSalesforceのwebサイトで使用するものと同じ認証情報です。Salesforceアカウントには、接続するために必要なセキュリティトークンが含まれています。セキュリティトークンはSalesforceの登録メールから取得できます。登録メールをお持ちでない場合は、セキュリティトークンをリセットすることができます。
必須ではありませんが、Test connectionボタンをクリックして、新しいSalesforce接続をテストすることを推奨します。テストに失敗した場合は、接続詳細が正しいかどうかを確認してください。
Saveをクリックして接続を保存し、Edit connectionダイアログを閉じます。
これで、Salesforceオペレータを使用することができます!
OAuthの使用
OAuthを使用して接続するには、Altair AI Studioで使用するために設定された接続アプリケーションのクライアントID(コンシューマー ID)が必要です。接続アプリケーションは通常、Salesforce管理者によって設定されます(関連情報参照)。
Authentication methodをOAuth 2.0 Device Flowに変更します。これにより、ユーザー名とパスワードのフィールドが無効になり、Client IDフィールドのConnectボタンが有効になります。
Connectボタンをクリックして、Device Flowダイアログを開きます。
それぞれのフィールドにClient ID を入力します。サンドボックスを使用する場合は、Endpointをhttps://test.salesforce.comに変更する必要があります。
次に、Initializeボタンをクリックして、認証フローを開始します。
初期化に成功すると、Verification linkフィールドとCodeフィールドにそれぞれリンクと英数字のコードが入力されます。コードは 10 分間有効です。
ブラウザで検証リンクを開きます。Salesforceからログインを求められる場合があります。
ログインすると、SalesforceからAltair AI Studioに表示されたコードを入力するよう求められます。
次に、Salesforceは接続アプリケーションにアカウントへのアクセスを許可するよう求めます。アプリが要求するすべてのスコープが一覧表示されます(スコープの説明については、関連情報を参照してください)。
接続アプリケーションの名前は管理者によって選択されるため、異なる場合があることに注意してください。
以下の画面が表示されたら、Altair AI Studioに戻ることができます。
Altair AI Studioに戻り、Refresh and saveをクリックして認証フローを完了します。
Device Flowダイアログが閉じ、セットアップタブのセキュリティトークンとURLフィールドが更新されます。
同じダイアログでTest connectionボタンをクリックすると、トークンをテストできます。
セキュリティトークンは、アカウントのセキュリティトークンと同じではないことに注意してください。オフラインでの使用(ユーザー操作なし)を目的とした新しく生成されたトークンであり、生成された接続アプリケーションでのみ機能します。
生成されたすべてのオフライントークンは、接続アプリケーションの管理者が確認および取り消すことができます。
Saveをクリックして接続を保存すると、Salesforceオペレータで使用できるようになります。
新規接続オブジェクトにはオフライントークンのみが含まれ、ユーザ認証情報は含まれません。ただし、セキュリティトークンは、認証フローで使用されるユーザアカウントにリンクされます。
Salesforceからの読み込み
Read Salesforceオペレータを使用すると、Salesforceからデータを読み込むことができます。まずは、いくつかのデモデータを読み込むことから始めてみましょう。
- Read Salesforceオペレータをプロセスパネルにドラッグします。connection entryパラメータの横にあるボタンをクリックして、保存先のリポジトリのConnectionsフォルダからSalesforce接続を選択します。
または、リポジトリからプロセスパネルにSalesforce接続をドラッグして、オペレータの出力をRead Salesforceオペレータに接続することもできます。
- オペレータの出力ポートをプロセスの結果ポートに接続します。
- Build Salesforce Queryボタンをクリックして、クエリエディタを開きます。このダイアログで、Salesforce SOQLクエリを作成できます。(ウィンドウの左側にあるタブの)Simpleモードでは、クエリを構築するためのインタフェースを提供し、Advancedモードでは独自のクエリを作成できます。
- をクリックしてプロセスを実行します。結果画面には、クエリの結果が表示されます。
Salesforceへの書き込み
Example SetをSalesforceに書き込むのは簡単です。Example Setをロードして、Write Salesforceオペレータに渡します。以下の例は、デモデータを含むExcelシートをSalesforceに書き込む方法を示しています。
- 以下のデータを含むExcelシートを作成します。
- Altair AI Studioでから空のプロセスを開きます。
- Read Excelオペレータを使用して作成したExcelシートを読み込みます。プロセスパネルにWrite Salesforceオペレータを追加し、オペレータを接続します。設定したSalesforce接続を選択し、スクリーンショットに示すようにプロパティを設定します。
- をクリックしてプロセスを実行します。結果画面には、書き込まれたエンティティが表示されます。
関連情報
接続アプリケーションの設定
コネクタは、いわゆるIoT統合のためのDevice Flowをサポートする接続アプリケーションでのみ動作し、オフライントークンを生成するために Perform requests at any time (refresh_token, offline_access)
スコープが必要です。
Device Flowは、Webベースではないアプリケーションで動作する数少ない承認フローの1つです。また、エンドユーザーがAltair AI Studioにアカウント認証情報を入力する必要もありません。
オフライントークンを使用すると、ユーザーによる繰り返しの操作ができない場合でもコネクタを使用できます。例えば、Altair AI Hub上でSalesforceのデータを使用してレポートを作成する自動ワークフローを考えてみましょう。
新規接続アプリケーションはSalesforce App Managerで作成できます。App ManagerはSalesforceアカウントのSetupページにあります。
新規接続アプリケーションには任意の名前を付けることができます。アプリ名は、ユーザーがアカウントに接続するときに表示されることに注意してください。したがって、使用目的を示すアプリ名を付けることをお勧めします。
Enable OAuth SettingsおよびEnable for Device Flowにチェックを入れます。これにより、Callback URLフィールドに自動的に入力されます。
次に、以下のスコープをSelected OAuth Scopesに追加します。
- Access the identity URL service(ID URLサービスにアクセス): 正しいSOAP APIエンドポイントを検索するために必要です。
- Perform requests at any time(いつでもリクエストを実行): オフライントークン(長期間有効なリフレッシュトークン)をリクエストするために必要です。
- Manage user data via API(API経由でのユーザーデータを管理): コネクタがSOAP API経由でデータを照会および更新できるようにします。
最初の2つのスコープは接続の初期化に必要です。最後のスコープはユースケースによっては絞り込まれるかもしれません。OAuthスコープの詳細については、OAuth トークンとスコープを参照してください。
最後に、Require Secret for Refresh Token Flowのチェックを外します。これにより、クライアントシークレット(コンシューマシークレット)を提供しなくても、生成されたオフライントークンを使用できるようになります。
ほとんどのWebベースのアプリケーションでは、クライアントシークレットがセキュリティのもう1つのレイヤーを追加します。シークレットはWebサーバーにのみ保存され、エンドユーザーはアクセスできません。ただし、デスクトップアプリケーションの場合、クライアントシークレットはクライアントマシン上でクライアントID(コンシューマID)の隣に保存されるため、実質的には単なるIDの1つとなります。このため、Salesforceコネクタではクライアントシークレットを使用しません。
この時点で設定を保存できます。新しく作成された接続アプリケーションは、どのユーザアカウントにも関連付けられておらず、複数のユーザが使用できます。
接続を設定するには、ユーザーは接続アプリケーションの作成に使用したSalesforceインスタンスにアクセスし、そのクライアントID(コンシューマID)を知っている必要があります。Manage Consumer Detailsをクリックすると、新しく生成されたクライアントIDを調べることができます。
セキュリティトークンのリセット
SalesforceのセキュリティトークンはSalesforceのwebサイトからリセットできます。既存のトークンを紛失した場合や、トークンを使用しているすべてのアプリケーションから切断したい場合に便利な機能です。
- Salesforceのwebサイトにログインしていることを確認します。
- アカウント名をクリックし、Settingsを選択します。
- Personalグループを開き、Reset My Security Tokenをクリックします。
- 最後に、Reset Security Tokenをクリックし、新しいトークンをメールで取得します。
トークンをリセットすると、新しいセキュリティトークンを再入力するまで、アプリケーションはアカウントに接続できなくなりますのでご注意ください。