CData Software Blog

クラウド連携のCData Software の技術ブログです。

データプレパレーションサービス Zoho DataPrep のデータソースを CData Connect で拡張:Salesforce 編

f:id:sugimomoto:20210730110025p:plain こんにちは。CData Software Japan リードエンジニアの杉本です。

今回はSaaS CRM で有名なZohoが提供するデータプレパレーションサービス、Zoho DataPrep と CData Connect を連携させる方法を紹介したいと思います。

Zoho DataPrep とは?

Zohoが提供するクラウドベースのデータプレパレーションサービスです。

https://www.zoho.com/dataprep/

f:id:sugimomoto:20210730105439p:plain

ローコードで各種DBやサービスから取り込んだデータの統合、モデリング、クレンジングなどを実施し、より分析に適した形式へ出力することができます。

f:id:sugimomoto:20210730105450p:plain

CData Connect とは?

CData Connect は、SaaS ベースで提供されるデータハブサービスです。Salesforce、NetSuite、Dynamics、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaSMySQLSQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。

"SQL as a Service" といっていいかもしれません。

f:id:sugimomoto:20210730105810p:plain

Zoho DataPrep へのSaaS データ連携

Zoho DataPrep は、各種クラウドDB、BigQuery、Redshift などのクラウドデータストレージ、CSVExcelXMLなどのテキストファイルおよびそれらがアップロードされたクラウドストレージをサポートしています。

f:id:sugimomoto:20210730105458p:plain

f:id:sugimomoto:20210730105506p:plain

しかしながら様々なクラウドサービスを各社で扱っている昨今では、デフォルトでサポートされていない 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 のアイコンをクリックします。

f:id:sugimomoto:20210730105522p:plain

データソース接続画面が開くので、データソース毎の認証情報を入力します。Salesforce の場合はUser、Password、Security Token を入力することでデータにアクセスすることができます。

f:id:sugimomoto:20210730105531p:plain

接続設定を行ったあとは、「Data Explorer」を使ってクエリを確認してみましょう。

f:id:sugimomoto:20210730105537p:plain

また、Zoho DataPrepは特性上、対象のDBのテーブル・カラム構成を事前スキャンしてしまいます。その場合、不必要にSalesforceスキーマAPI経由でアクセスしてしまう可能性があるため、今回は事前に対象のクエリをビューとして登録しておきます。

以下のように「Create Derived View」をクリックし、Queryを登録しておきます。このQueryは「UserViews」というデータベース名でアクセスすることができるようになります。

f:id:sugimomoto:20210730105545p:plain

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。

必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

f:id:sugimomoto:20210730105550p:plain

最後に公開したデータにアクセスできるユーザーとトークンを作成します。「USERS」タブからユーザーを作成するとトークンが生成されます。ユーザーを作成した場合は、データソースの Privileges タブでアクセス権を付与することを忘れないようにしてください。

f:id:sugimomoto:20210730105556p:plain

これでCData Connect でSalesforce データを扱う準備ができました。

Zoho DataPrep に CData Connect の接続を追加

続いて Zoho DataPrep側の手順です。

まずは Zoho DataPrep にログインして、「Create workspace」で新しいワークスペースを追加しましょう。

f:id:sugimomoto:20210730105601p:plain

その後対象のデータソースを選択します。

CData Connect にはMySQLベースのインターフェースで接続するので、「Cloud database」を選択します。

f:id:sugimomoto:20210730105608p:plain

接続設定画面で、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で接続します。

f:id:sugimomoto:20210730105616p:plain

接続が完了すると対象テーブルを選択する画面が表示されます。

先程登録しておいたビューを選択して「Import」をクリックしましょう。

f:id:sugimomoto:20210730105621p:plain

以下のように「Import Complete!」と表示されればOKです。

f:id:sugimomoto:20210730105628p:plain

あとは Zoho DataPrep の機能を用いて、データプレパレーション・クレンジングなどが実施できます。

f:id:sugimomoto:20210730105635p:plain

おわりに

今回は Salesforce を接続先のリソースとしましたが、外にも様々なリソースをMySQLインターフェースとして扱うことができます。

www.cdata.com

f:id:sugimomoto:20210324152403p:plain

Zoho DataPrep と併せて、是非色々と活用してみてください 。