# Salesforce連携の移行 レガシーSalesforce Legacyデータコネクタから新しいSalesforceコネクタへ移行するには、以下の手順を完了してください。レガシーデータコネクタはREST APIのみを使用してデータをインポートします。新しいSalesforceデータコネクタでは、BulkインポートとREST APIを使用できます。 - [取り込まれたデータの特性](/ja/int/migrating-salesforce-integrations#characteristics-of-ingested-data) - [Campaign](/ja/int/migrating-salesforce-integrations#campaign) - [Contact](/ja/int/migrating-salesforce-integrations#contact) - [Data Extension](/ja/int/migrating-salesforce-integrations#data-extension) - [Email Event](/ja/int/migrating-salesforce-integrations#email-event) - [新しいSalesforce V2コネクタの作成](/ja/int/migrating-salesforce-integrations#create-a-new-salesforce-v2-connector) - [設定を保存してレガシーSalesforceデータコネクタを最後にもう一度実行](/ja/int/migrating-salesforce-integrations#save-settings-and-run-the-legacy-salesforce-data-connector-one-last-time) - [TD Consoleを使用する場合](/ja/int/migrating-salesforce-integrations#using-td-console) - [CLIとワークフローを使用する場合](/ja/int/migrating-salesforce-integrations#using-cli-and-workflow) - [結果出力について](/ja/int/migrating-salesforce-integrations#for-result-output) - [TD Consoleを使用する場合](/ja/int/migrating-salesforce-integrations#using-td-console-1) - [CLIを使用する場合](/ja/int/migrating-salesforce-integrations#using-cli) - [ワークフローを使用する場合](/ja/int/migrating-salesforce-integrations#using-workflow) # 取り込まれたデータの特性 ある場所やバージョンからデータを移行する際は、そのデータがどのように変換されるかを認識しておく価値があります。以下のセクションでは、注意すべきいくつかの重要な特性について概説します。 ## Campaign 50を超えるアセットを取り込むことができます。 | **カラム** | **旧データ型** | **新データ型** | | --- | --- | --- | | **createdDate** | string | timestamp | | **modifiedDate** | string | timestamp | ### Campaign Assets | **カラム** | **旧データ型** | **新データ型** | | --- | --- | --- | | **createdDate** | string | ISO 8601 string | その他の日時値はUTCに変換されます。 ## Contact 取り込みは以下に制限されています: - ルートおよびシステム定義データ - **one-to-one**および**one-to-many**のリレーションシップ - one-to-oneのリレーションシップは単一のJSONとして保存されます - one-to-manyのリレーションシップはJSON配列として保存されます その他の属性は、Treasure Dataのインジェスチョン機能を使用して取り込む必要があります。 Contact属性はルートとシステムに対して収集され、取り込む属性を制限することはできません。 ページあたりのレコード数はデフォルト値の2000を使用します。 ## Data Extension 取り込みは以下に制限されています: - 一度に1つのData Extension | **旧カラム名** | **新カラム名** | | --- | --- | | data-extension-column-name | column-name | | **カラム** | **旧データ型** | **新データ型** | **データの形式** | | --- | --- | --- | --- | | **any-datetime** | string | timestamp | UTC | Treasure Dataが生成したプロパティには、簡単に識別できるようにアンダースコアのプレフィックス「_」が付いています。 ページあたりのレコード数はデフォルト値の2500を使用します。 ## Email Event 取り込みは、イベントに関連付けられたサブスクライバーを除外します。 # 新しいSalesforce V2コネクタの作成 Treasure Data Catalogに移動し、Salesforce v2を検索して選択します。 ![](/assets/image-20190920-220512.90e6a331b9492e4811a07d129b52ba372e154827afd21d8b2a86d6bd77e11dfc.a47fdf65.png) ダイアログボックスに、レガシーSalesforceコネクタで入力した値を入力します。 Salesforce v2コネクタでは、Login URLパラメータから不要な文字を削除する必要があります。たとえば、[https://login.salesforce.com/?locale=jp](https://login.salesforce.com/?locale=jp)の代わりに、[https://login.salesforce.com/](https://login.salesforce.com/?locale=jp)を使用します。 ユーザー名(メールアドレス)とパスワード、およびClient ID、Client Secret、Security Tokenを入力します。 ![](/assets/image-20190920-220620.ea9aff1d36519f589b82fc46eaa23d60b1cabf146a991e1477cd3366738b1e69.a47fdf65.png) # 設定を保存してレガシーSalesforceデータコネクタを最後にもう一度実行 レガシー設定は、TD ConsoleまたはCLIから保存できます。 - [Campaign](/ja/int/migrating-salesforce-integrations#h2__1588150676) - [Contact](/ja/int/migrating-salesforce-integrations#h2_447307630) - [Data Extension](/ja/int/migrating-salesforce-integrations#h2__804191579) - [Email Event](/ja/int/migrating-salesforce-integrations#h2_1257724182) - [TD Consoleを使用する場合](/ja/int/migrating-salesforce-integrations#h2_1852359361) - [CLIとワークフローを使用する場合](/ja/int/migrating-salesforce-integrations#h2_748752854) - [TD Consoleを使用する場合](/ja/int/migrating-salesforce-integrations#h2_1113801507) - [CLIを使用する場合](/ja/int/migrating-salesforce-integrations#h2__1909512552) - [ワークフローを使用する場合](/ja/int/migrating-salesforce-integrations#h2__22747403) ## TD Consoleを使用する場合 ### スケジュール設定されたレガシーSalesforceコネクタの設定を保存し、最終インポートを実行 Integration Hub > Sourcesに移動します。スケジュール設定されたSalesforceソースを検索し、ソースを選択して**Edit**を選択します。 ![](/assets/image-20190920-220740.bd3854fa9c1f86b66293dcfd44b1707bb6e5d01075ea7b919f906ef9500e5e2b.a47fdf65.png) ダイアログボックスで、後で使用するために設定をコピーします: ![](/assets/image-20190920-223337.2adf53d0abfebe0118affc5a062201916f90eb341fdb34565cbabfa162b58965.a47fdf65.png) また、詳細設定もコピーします: ![](/assets/image-20190920-223416.c23211b8d05c516ff679ff1e03ddd3d78a6a1e46bb0062cb642387c2c0f05a36.a47fdf65.png) 次に、レガシーデータコネクタで最後の実行を設定して、config-diffを実行できる一時テーブルを作成します。diffを使用して、Treasure Dataにインポートされた最新のデータを特定し、確認します。 ![](/assets/image-20190920-223452.4bf2fa218a9517425dacb967c12df40769e981e8c13a7c1f2ae45db5ba8decb8.a47fdf65.png) レガシーコネクタで最終インポートを実行する前に、スケジュールを1回のみの実行に変更してください: ![](/assets/image-20190920-223521.97b218bd0b67056dd5358973c55e88e9b4c4c667b32526fa94565b7750d59a96.a47fdf65.png) ジョブが完了したら、ジョブクエリ情報の**config_diff**を確認し、後で使用するためにどこかにコピーします。 ![](/assets/image-20190920-223541.b56a9ac85b1cd27d402643428847df0a61045b7641ee3f81a8284d27a18b0493.a47fdf65.png) ### **新しいSalesforce V2ソースの作成** Integration Hub > Authentication に移動します。作成した新しい Salesforce v2 接続を検索します: ![](/assets/image-20190920-223620.7c996d3ecda4cd5281739073f28ce744338c3093e24dae3b0a3db44fe6044d77.a47fdf65.png) 新しいソースを選択します。前のステップでコピーしたすべての基本設定と詳細設定を入力します。次に、新しいソースがレガシーコネクタが中断した地点から取り込みを続行する場合は、前のジョブでコピーした config_diff 情報を Last Record フィールドに入力します。 ![](/assets/image-20190920-223653.2f41e4091afd038a05037227d49d15c460bc098eafc64af39b885d9c225d5f22.a47fdf65.png) 設定を完了したら、データを投入するデータベースとテーブルジョブを選択し、ジョブをスケジュールして、新しいデータコネクタの名前を指定します。**Save** を選択してから、新しいデータコネクタを実行します。 ## CLI と Workflow の使用 in: type を sfdc から sfdc_v2 に yml 設定で更新します。 例えば、既存の workflow 設定は次のようになっているかもしれません: ``` in: type: sfdc username: ${secret:sfdc.username} password: ${secret:sfdc.password} client_id: ${secret:sfdc.client_id} client_secret: ${secret:sfdc.client_secret} security_token: ${secret:sfdc.security_token} login_url: ${secret:sfdc.login_url} target: Lead out: {} exec: {} filters: [] ``` 新しい workflow 設定は次のようになります: ``` in: type: sfdc_v2 username: ${secret:sfdc.username} password: ${secret:sfdc.password} client_id: ${secret:sfdc.client_id} client_secret: ${secret:sfdc.client_secret} security_token: ${secret:sfdc.security_token} login_url: ${secret:sfdc.login_url} target: Lead out: {} exec: {} filters: [] ``` # Result Output について SFDC 接続はデータコネクタと Result Output で共有されていますが、Result Output には変更はありませんが、いずれかを使用している場合は、こちらもアップグレードする必要があります。 ## TD Console の使用 ### **レガシー Export コネクタの設定を保存する** TD Console に移動します。Query Editor に移動します。SFDC を接続に使用している Query を開きます。 ![](/assets/image-20190920-223748.6045bf691a26e9cff3e37e890e76be4628cf82bb8e01eb79af5bdbdb26902e42.a47fdf65.png) SFDC コネクタを選択し、既存の接続の詳細をコピーして保存し、後で使用できるようにします。 ![](/assets/image-20190920-223817.da15e7766ba6d24cc18ba368e4d32ed9a2376d2faa5bb7282b57c604f05f76c8.a47fdf65.png) **DELETE** を選択してレガシーのものを削除します。 ### **既存の Query を変更する(レガシー接続を置き換える)** Query で Output Results を選択します。次に、作成した SFDC v2 Export コネクタを検索して選択することで、SFDC v2 コネクタをセットアップします。 ![](/assets/image-20190920-223850.847f20da49fae475453d03d1fb0c5c966d1486f75499c347f0016a29f2841f28.a47fdf65.png) Configuration ペインで、前のステップで保存したフィールドを指定し、**Done** を選択します。 Output results to... を確認して、作成した Output 接続を使用していることを確認します。**Save** を選択します。 | | | --- | | 最初のデータエクスポートにテストターゲットを作成して使用し、エクスポートされたデータが期待通りに見えること、および新しいエクスポートが既存のデータを破損しないことを確認することを強くお勧めします。テストケースでは、テストターゲットに別の「Object」を選択してください。 | ## CLI の使用 Result type プロトコルは sfdc から sfdc_v2 に更新する必要があります。例えば、次のように: ``` sfdc://username:passwordsecurity_token@hostname/object_name ``` から: ``` sfdc_v2://username:passwordsecurity_token@hostname/object_name ``` ## Workflow の使用 SFDC を使用した workflow がある場合、result 設定は同じままにできますが、**result_connection** を新しい connection_name に更新する必要があります。 古い workflow の result output 設定の例は次のとおりです: ``` +td-result-output-sfdc: td>: queries/sample.sql database: sample_datasets result_connection: your_old_connection_name result_settings: object: object_name mode: append concurrency_mode: parallel retry: 2 split_records: 10000 ``` 新しい workflow の result output 設定の例は次のとおりです: ``` +td-result-output-sfdc: td>: queries/sample.sql database: sample_datasets result_connection: your_new_connection_name result_settings: object: object_name mode: append concurrency_mode: parallel retry: 2 split_records: 10000 ```