本記事はデータ基盤・BIツール・データエンジニアリング Advent Calendar 2021 18日目の記事です。
https://qiita.com/advent-calendar/2021/dataengineering
はじめに
SaaS ≒ API とはまだまだ言い難いですが、最近では API を提供している SaaS も増えてきているなぁと思ったりしています。そして API 利用者側から見ても API へのアクセス方法などは利用者が多い SaaS であれば、リファレンス以外にもサンプルコードがネット上にたくさん転がっていて、それらを参考にすることで誰でもローカルにデータを引っ張てくるまではすぐに出来そうな感じかと思います。
ただ、基幹システムのインタフェースが TDS(SQLServer)インタフェースしかなかったり、利用している BI サービスが MySQL インタフェースしかない!という状況はまだまだ存在します。
そういう時は CData Connect というSaaS 型データハブサービスで仮想データベースを作成してさまざまなインタフェースを公開することでツールやサービスと SaaS を楽に双方向で連携することはできるようになります。
CData Connect って何?
https://www.cdata.com/connect/
さまざまな SaaS データを OData、MySQL、SQLServer の3つの規格で接続できるインタフェースを外部に公開できるサービスです。
例えば MySQL でしか外部との連携ができないサービスがある場合、CData Connect がデータソースと利用ツール・サービスの間に入って MySQL インタフェースを通じてお互いの連携を可能にしてくれます。
※SQLServerインタフェース、ODataエンドポイントでも同じ考えです。
CData Connect が提供しているインタフェース
今現在は OData、MySQL、SQLServer、REST があります。
(今回はオンプレ版を使ってますのでURLにlocalhostが入ってます)
まぁこれだけ揃っていればある程度のツールやサービスとは接続できるのではという感じですね。
ではSalesforceに対して OData と MySQL インタフェースで接続してみましょう。
ちなみに CData Connect には Salesforceへの接続設定が済んでる状態で始めていきます。
なお、CData Connect の操作方法などはこちらで。
https://www.cdatablog.jp/entry/connect_handson
OData
ではOData の確認です。ヘッダーのAPIをクリックしてAPIリファレンスを参照します。
あとはこのままPOSTMANでリクエストするとSalesforceの取引先情報をODataで接続して取得することができます。
取得結果↓↓
MySQL
ではMySQLプロトコルを試してみるために、MySQL Workbench を使ってみたいと思います。
接続先はこちらになります。
指定するユーザーパスワードは、ヘッダーのUSERSで作成したユーザー名とパスワードを指定するようにします。
あとは普通のselect * from xxxx で取引先情報を取得することができます。
おわりに
SalesforceにODataやMySQLインタフェースで接続してみるところをやってみました。
今回省略してしまいましたが、同じような方法でTDS(SQLServer)でも接続することができますので、自分が使っているツールやサービスが持っているインタフェースにOData、TDS、MySQL、REST のどれかがあれば、CDataConnect を使うことで色んなデータソースに接続することができるようになります。