こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はSaaS CRM で有名なZohoが提供するデータプレパレーションサービス、Zoho DataPrep と CData Connect を連携させる方法を紹介したいと思います。
Zoho DataPrep とは?
Zohoが提供するクラウドベースのデータプレパレーションサービスです。
https://www.zoho.com/dataprep/
ローコードで各種DBやサービスから取り込んだデータの統合、モデリング、クレンジングなどを実施し、より分析に適した形式へ出力することができます。
CData Connect とは?
CData Connect は、SaaS ベースで提供されるデータハブサービスです。Salesforce、NetSuite、Dynamics、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。
"SQL as a Service" といっていいかもしれません。
Zoho DataPrep へのSaaS データ連携
Zoho DataPrep は、各種クラウドDB、BigQuery、Redshift などのクラウドデータストレージ、CSVやExcel、XMLなどのテキストファイルおよびそれらがアップロードされたクラウドストレージをサポートしています。
しかしながら様々なクラウドサービスを各社で扱っている昨今では、デフォルトでサポートされていない Salesforce や Kintone などのSaaS データを扱いたいケースが多く存在すると思います。
その場合、一般的にはバッチプログラムなどのAPI連携を行うための仕組みを構築しなければいけませんが、CData Connect を使うことで、Zoho DataPrep に kintone や Salesforce をはじめとして多様なSaaS データをシームレスに連携することができます。
そこで今回は Zoho DataPrep から CData Connectを経由して、Salesforce のデータを取り込む方法を紹介したいと思います。
接続手順
CData Connect にSalesforce データを接続
まず CData Connect (旧CloudHub) のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
早速ブラウザからCData Connect にログインします。「DATABASE」タブから仮想データベースを設定していきます。まずは接続するデータソースであるSalesforce のアイコンをクリックします。
データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。
接続設定を行ったあとは、「Data Explorer」を使ってクエリを確認してみましょう。
また、Zoho DataPrepは特性上、対象のDBのテーブル・カラム構成を事前スキャンしてしまいます。その場合、不必要にSalesforceのスキーマをAPI経由でアクセスしてしまう可能性があるため、今回は事前に対象のクエリをビューとして登録しておきます。
以下のように「Create Derived View」をクリックし、Queryを登録しておきます。このQueryは「UserViews」というデータベース名でアクセスすることができるようになります。
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。
必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。ユーザーを作成した場合は、データソースの Privileges タブでアクセス権を付与することを忘れないようにしてください。
これでCData Connect でSalesforce データを扱う準備ができました。
Zoho DataPrep に CData Connect の接続を追加
続いて Zoho DataPrep側の手順です。
まずは Zoho DataPrep にログインして、「Create workspace」で新しいワークスペースを追加しましょう。
その後対象のデータソースを選択します。
CData Connect にはMySQLベースのインターフェースで接続するので、「Cloud database」を選択します。
接続設定画面で、CData Connect への接続情報を入力します。この時にインターフェースとしてMySQLを選ぶのがポイントです。
プロパティ名 | 値 | 備考 |
---|---|---|
Select your database service name | Other Cloud Services | |
Select your database type | MySQL | |
Endpoint | 例)cdatajapan.cdatacloud.net | |
Port | 3306 | |
Database Name | UserViews | UserViews もしくは任意のデータベース名を指定します。 |
Username | 例)YOUR_USERNAME | |
Password | 例)YOUR_PASSWORD | |
Connection name | 例)CData Connect | 任意のコネクションネームを指定します。 |
Use SSL | true | SSLで接続します。 |
接続が完了すると対象テーブルを選択する画面が表示されます。
先程登録しておいたビューを選択して「Import」をクリックしましょう。
以下のように「Import Complete!」と表示されればOKです。
あとは Zoho DataPrep の機能を用いて、データプレパレーション・クレンジングなどが実施できます。
おわりに
今回は Salesforce を接続先のリソースとしましたが、外にも様々なリソースをMySQLインターフェースとして扱うことができます。
Zoho DataPrep と併せて、是非色々と活用してみてください 。