注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry の Salesforce コネクタを使用すると、Salesforce と Foundry データセット間のデータを同期できます。
このドキュメントは、最新バージョンの Salesforce コネクタを参照しています。既存の Salesforce コネクタを編集している場合、それはレガシーバージョンである可能性があります。以下の移行セクションを確認して、詳細情報を入手してください。
機能 | ステータス |
---|---|
一括インポート | 🟢 一般に利用可能 |
探索 | 🟢 一般に利用可能 |
コネクタは、すべての利用可能な標準およびカスタム Salesforce オブジェクトを Foundry データセットとしてモデル化します。スキーマは動的に取得されます。探索ビューでは、データモデルを参照し、Salesforce オブジェクトが Foundry にインポートされたときにどのように表示されるかをプレビューできます。
コネクタは Salesforce API タイプを、次の Foundry フィールドタイプにマッピングします。
Salesforce | Foundry |
---|---|
Auto Number | STRING |
Lookup Relationship | STRING |
Master-Detail Relationship | STRING |
External Lookup Relationship | STRING |
Checkbox | BOOLEAN |
Currency | DECIMAL |
Date | DATE |
Date/Time | LONG |
STRING | |
Geolocation | STRING |
Number | DOUBLE |
Percent | DOUBLE |
Phone | STRING |
Picklist | STRING |
Picklist (Multi-Select) | STRING |
Text | STRING |
Text Area | STRING |
Text Area (Long) | STRING |
Text Area (Rich) | STRING |
Text (Encrypted) | STRING |
Time | INTEGER |
URL | STRING |
コネクタは、Salesforce SOAP API を活用しており、Salesforce SOAP API 呼び出し制限の対象となります。
Foundry で コネクタをセットアップ する方法について詳しく学びましょう。
Salesforce 接続を認証するための認証方法を選択します: JWT トークンまたはユーザー名-パスワード。
OAuth 2.0 JSON Web Token (JWT) bearer フロー を使用して、Foundry が各リクエストで対話的にログインせずにデータにアクセスできるようにすることができます。
JWT 認証を有効にするには、証明書を生成し、Connected App の作成中にアップロードし、インテグレーションユーザーの一回限りの承認を行う必要があります。
まず、Salesforce ユーザーを作成し、API および変更する予定の Salesforce オブジェクトへのアクセス許可があることを確認します。このユーザーとしてログインできることを確認してください。後の手順でこのユーザーとして認証する必要があります。
次に、JWT 証明書を作成します。Salesforce の JWT bearer フロー では、X.509 証明書と関連する秘密鍵が必要です。秘密鍵を生成するには、コマンドラインで openssl を使用して、次のコマンドを実行します:
x.509 公開鍵と秘密鍵のペアを生成します:
Copied!1 2
% openssl genrsa 1024 | openssl pkcs8 -topk8 -inform PEM -out key.pem -nocrypt % openssl req -new -x509 -key key.pem -out cert.pem -days 3650
証明書を PFX ストアにエクスポートし、Base64 に変換してクリップボードにコピーします:
Copied!1
% openssl pkcs12 -export -in cert.pem -inkey key.pem | openssl base64 | pbcopy
証明書の値を安全な場所に保存してください。後で設定で値にアクセスする必要があります。
Salesforce Lightning Experience の設定ページで、左サイドバーをスクロールして、Platform Tools セクションの Apps > App Manager エントリを選択します。App Manager ページで、New Connected App を選択して新しい接続アプリを作成します。
アプリ作成ページの Basic Information セクションで、次のフィールドに入力します:
次に、API (Enable OAuth Settings) セクションの設定を行います:
https://localhost:12345
を入力します。これは後で再度使用されます。cert.pem
の X.509 証明書ファイル をアップロードします。他のセクションは無視し、接続アプリの作成を確定するために Save を選択し、次のページで Confirm を選択します。接続アプリの使用を試みる前に 10 分間待ちます。
接続アプリが作成されると、API (Enable OAuth Settings) セクションで利用可能な Consumer Key (例: 3MVG9FG3dv...) を安全な場所に保存します。
以下のオプションのいずれかで統合ユーザーを認証します。
https://<salesforce-url>/services/oauth2/authorize?client_id=
<CONSUMER_KEY>
&redirect_uri=
<CALLBACK_URL>
&scope=api%20offline_access%20refresh_token&response_type=code&response_mode=query&nonce=bebmwgu22zh
<CONSUMER_KEY>
を接続アプリのコンシューマーキーで、<CALLBACK_URL>
をAPI設定ステップで入力したURLで置き換えます。<salesforce-url>
をSalesforceインスタンスのURL(<site>.my.salesforce.com
)で置き換えます。https://localhost:12345
(CALLBACK_URL)にリダイレクトされます。コールバックURLは実在しないため、ブラウザは予想通りの"Not Found"エラーを表示します。以下のJWT認証の設定オプションを使用して、FoundryでSalesforceコネクタの設定を続けます。
名前 | 必須 | 説明 |
---|---|---|
This is a Salesforce sandbox account | はい | 接続がSalesforceのサンドボックスアカウントに対して行われるべきかどうかを決定します。Login URL のデフォルト値を設定します: 標準アカウントの場合はlogin.salesforce.com 、サンドボックスアカウントの場合はtest.salesforce.come 。 |
Username | はい | 統合ユーザーのユーザー名を入力します。 |
Base64 PFX certificate | はい | 証明書を生成から取得した値。 |
The certificate is password protected | いいえ | 証明書ストアがパスワードで保護されている場合はトグルをオンにします。 |
Certificate password | いいえ | 証明書ストアのパスワード。 |
Specify the certificate subject | いいえ | ストア内の最初の証明書を使用するためにオフにします。ストアが複数の証明書を含む場合は、使用する証明書を指定するためにトグルをオンにします。 |
Certificate subject | いいえ | 使用する証明書の主題。ストア内で証明書を見つけるために使用されます。正確な一致が見つからない場合、提供された値を含む証明書を探すためにストアが検索されます。 |
Consumer key | はい | connected appの設定で利用可能なコンシューマーキーを入力します。 |
Salesforceにユーザー名-パスワード認証方法で接続するには、Salesforceでサービスユーザーアカウントと接続アプリを作成し、その両方の資格情報をSalesforceコネクタに追加する必要があります。
ユーザー名-パスワード認証フローを有効にするための手順は以下の通りです。
Salesforceユーザーを作成し、APIや変更を希望するSalesforceオブジェクトへのアクセス許可があることを確認します。将来参照するためにユーザーのユーザー名とパスワードを記録します。
接続アプリを作成します:
Salesforce Lightning Experience設定ページで、左側のバーをスクロールしてPlatform Toolsセクションの下のApps > App Managerを選択します。App Managerページで、New Connected Appを選択して新しい接続アプリを作成します。
アプリ作成ページのBasic Informationセクションで、以下のフィールドを入力します:
次に、**API (Enable OAuth Settings)**セクションの設定を行います:
https://localhost:12345
を入力します。このフィールドは設定に必要ですが、コールバックURLは使用されません。他のセクションは無視して、接続アプリの作成をSaveを選択して完了し、次のページでConfirmを選択します。接続アプリを使用しようとする前に2分から10分間待つことを許可します。
接続アプリが作成されたら、App Managerページからそれに移動します。Manageを選択し、次にEdit Policiesを選択します。OAuth Policies > Permitted Usersの下でAll users may self-authorizeを選択します。
ユーザー名-パスワード認証方法は、以下の設定オプションをサポートしています:
名前 | 必須 | 説明 |
---|---|---|
This is a Salesforce sandbox account | はい | 接続がSalesforceのサンドボックスアカウントに対して行われるべきかどうかを決定します。Login URL のデフォルト値を設定します: 標準アカウントの場合はlogin.salesforce.com 、サンドボックスアカウントの場合はtest.salesforce.come 。 |
Username | はい | 接続アプリが模倣しているアカウントのユーザー名。 |
Password | はい | 接続アプリが模倣しているアカウントのパスワード。 |
Foundryから接続しようとして認証に問題が発生した場合、ユーザーのSalesforce Login HistoryにFailed: API security token required
が表示されますので、パスワードの末尾にユーザーのセキュリティトークンを追加する必要があります。
セキュリティトークンは、信頼できないネットワークからSalesforceにログインするためにパスワードに追加する必要がある自動生成されたキーです。Salesforceはアプリケーション内でユーザーがセキュリティトークンを表示することを許可していません。代わりに、統合ユーザーとしてSalesforceにログインし、右上隅のMy Settingsに移動します。次に、Personal > Reset My Security Tokenに移動します。
直接接続がSalesforceコネクタを運用している場合、接続を許可リストに登録するためにnetwork egress policyを追加する必要があります。
既存のポリシーを追加するか、新しいポリシーを作成します。
Salesforceの直接接続を許可リストに登録するには、以下のポリシーを追加します:
Login URL: DNS
、ポート443
(HTTPS)、および以下のいずれかが必要です:
login.salesforce.com
(本番環境)
ORtest.salesforce.com
(サンドボックス)Instance URL: <site>.my.salesforce.com
のDNS
、ポート443
(HTTPS)が必要です。
SSL接続はサーバー証明書を検証します。通常、SSL検証は証明書チェーンを通じて行われます。デフォルトでは、エージェントと直接接続の両方のランタイムは、ほとんどの業界標準の証明書チェーンを信頼します。接続先のサーバーが自己署名証明書を持っている場合、または検証中にTLSが傍受される場合、コネクタは証明書を信頼する必要があります。Data Connectionでの証明書の使用について詳しく学びましょう。
Salesforceコネクタは以下の設定オプションをサポートしています:
名前 | 必須 | デフォルト | 説明 |
---|---|---|---|
API version | はい | 50 | SalesforceのAPIバージョン。 |
Connected app credentials | はい | JWT bearer token | Salesforceに接続するために必要な資格情報を含みます。詳細は上記の認証セクションをご覧ください。 |
Login URL | いいえ | login.salesforce.com (本番環境)またはtest.salesforce.com (サンドボックス) | OAuthトークンを取得するための接続に使用されるURL。 |
Timeout | いいえ | 60 | HTTPクライアント接続が応答を待つ間にタイムアウトするまでの時間。時間は秒単位。 |
Proxy settings | いいえ | いいえ | Salesforceに接続するときに使用するプロキシ設定。 |
探索ビューを使用してテーブルを同期します。同期を編集するときには追加の設定オプションが利用可能です。
Salesforceコネクタでのインクリメンタル同期では、新しいデータはインクリメンタル行の値が前回観察された最大値と等しいかそれ以上である場合に同期されます。この動作は、同期データの精度と正確さを保証するために必要ですが、出力データセットに重複した行を生じることになります。インクリメンタルパイプラインは常に重複を削除するステップを含めるべきです。
同期設定に行フィルターを追加して、設定した基準に合わないデータを除外できます。 条件ツリーを使用してフィルターを定義します:
ALL
: ネストされたすべてのノードが真であることが必要です。ANY
: ネストされたノードのうち少なくとも1つが真であることが必要です。同期に設定を適用するためにSaveを確認して設定を保存してください。
すでにSalesforceコネクタを持っている場合、レガシー版を実行している可能性があります。コネクタのバージョンを特定するために、Connection settings > Connection detailsに移行します。ソース設定がtype: salesforce
フィールドを含むCustom YAMLセクションを示している場合、レガシーのSalesforceコネクタを使用しています。バグ修正を超えるPalantirのサポートを受けるためには、最新バージョンに移行する必要があります。
auth-method
またはauthentication-method
ブロックを見つけます。
type: oauth2-jwt
の場合、新しいソースをJWT認証で設定します:
claim-sub
は、新しいコネクタ設定のUsername
になります。x509-cert
はPFXにエクスポートされ、次にBase64でエンコードされ、Certificate
になります。証明書については上記のJWT認証セクションを参照してください。The certificate is password protected
をトグルオンにし、Certificate password
を入力します。
claim-iss
は、新しいコネクタ設定のConsumer key
になります。type: oauth2-username-password
の場合、新しいソースをusername-password authenticationで設定します:
username
は、新しいコネクタ設定のUsername
になります。password
は、新しいコネクタ設定のPassword
になります。client-id
およびclient-secret
プロパティは、新しいコネクタには不要です。auth-url
は、新しいコネクタ設定のLogin URL
になります。auth-url
がtest.salesforce.com
であった場合は、新しいコネクタ設定でIs Salesforce sandbox account
をトグルオンにします。新しいSalesforceコネクタを設定した後、レガシーコネクタで以前に同期されていたオブジェクトに対して同期を作成します。探索ビューを使用して一度に複数のオブジェクトを一括同期し、新しいデータセットを作成します。
同じAPIバージョンを使用している場合、レガシーと新しいSalesforceコネクタは同じスキーマを使用します。入力が再マッピングされれば、すべての下流アプリケーションは引き続き機能します。
新しい同期データセットを使用するように下流のパイプラインを移行する必要があります。レガシーデータセットが他の消費者に必要でないことを確認したら、データセット、関連する同期、および接続を削除できます。Data Lineageを使用して、レガシーデータセットが環境でどこで使用されているかを見つけます。