本記事では、業界先進のエンタープライズiPaaSである Informatica Intelligent Cloud Services(IICS)で、ネイティブにサポートされている以外のSaaS・DB データをCData Connect を通じてシームレスに統合利用する方法を説明します。
CData Connect とは?
CData Connect (旧CloudHub)は、SaaS ベースで提供されるデータハブサービスです。Salesforce、Hubspot、Dynamics、Zoho CRM、NetSuite、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。
www.cdata.com
"SQL as a Service" といっていいかもしれません。
この記事では、インバウンドマーケティング&セールスソフトウェアであるHubspot をInfomatica社のiPaaS製品 Informatica Intelligent Cloud Services(IICS) で使う方法を説明します。
CData Connect でHubspot の仮想インスタンスを作成
CData Connect のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
早速ブラウザからCData Connect にログインします。まずはじめに、MySQL仮想インスタンスにアクセスできるデータベースのユーザを作成します。「USERS」タブからユーザーを作成してパスワードを設定します。
次に「DATABASE」タブからデータベースを設定していきます。まずは接続するデータソースのアイコンをクリックします。本手順では、Hubspotを選択します。
データソース接続画面が開くので、データソース毎の認証情報を入力します。Hubspot の場合はSchema:は、HubspotのままでConnectボタンをクリックするとブラウザでHubspotのサインイン画面が表示されます。Hubspotのユーザでサインインして認可することでCData ConnectからHubspotのデータにアクセスすることができます。
データベースの保存ができたらPrivileges タブに移動してHubspotのMySQL仮想インスタンスにアクセスできるデータベースユーザを追加します。
先の手順で作成したデータベースのユーザ(本例ではtrial)を追加して、CRUD権限を付与します。今回は、SELECT, INSERT, UPDATE, DELETEのチェックをオンにして保存します。
次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。今回はMySQL エンドポイントを利用します。必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。
このようにノーコードでHubspot のMySQL仮想インスタンスを公開できました。
MySQL Workbenchからの接続確認
まずはじめに、MySQL Workbenchを利用してCData Connect上のHubspotのMySQL仮想インスタンスに接続確認してみます。MySQL Workbenchを起動して接続設定を行います。
- Hostname:XXXXX.cdatacloud.net (「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのホスト名)
- Port : 「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのポート番号 (例:3306)
- Username : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザー
- Password : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザーのパスワード
- Default Schema : 「DATABASE」タブで参照可能なデータベース名 (例:Hubspot1)
SCHEMA内に上記DefaultSchemaで設定したデータベースが表示されます。データベース内のテーブルリスト(Tables)を開きます。下記画面の例は「SELECT * FROM Hubspot1.Deals;」でHubspot内の案件リストに相当するDealsテーブル内のデータを参照している例となります。
CData Connectで作成したHubspotのMySQL仮想インスタンス内のデータへのアクセスが確認が取れましたので、次の手順からはInformatica Intelligent Cloud Services から接続してみます。
Informatica Intelligent Cloud Services からHubspot データに接続
接続の作成
Informatica Intelligent Cloud Services の「管理者 > 接続」から「新しい接続」を作成します。
接続の作成画面にて以下内容をセットします。ここでのポイントですがタイプはMySQLを選択します。
- 接続名:任意(例:CDataConnect)
- 説明:任意
- タイプ:MySQL
- ランタイム環境:Infomatica Cloud Hosted Agent
- ユーザー名 : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザー
- パスワード : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザーのパスワード
- ホスト:XXXXX.cdatacloud.net (「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのホスト名)
- ポート : 「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのポート番号 (例:3306)
- データベース名 : 「DATABASE」タブで参照可能なデータベース名 (例:Hubspot1)
- コードページ : UTF8
- SSL Attributes > SSLの使用 : ON
「接続のテスト」ボタンをクリックして外部接続の確認が取れることを確認します。接続が確認できたら「保存」ボタンで接続を保存して閉じます。
ジョブの作成
「データ統合 > アセットの作成」を開きます。
新しいアセットウィザードにてマッピングを選択して作成します。
デザインにソースとターゲットのマッピングが作成されました。
ソースアイコンをクリックして下部のソースのプロパティに以下の値をセットします。
- 接続:先の手順で作成した接続を選択(例:CDataConnect)
- ソースタイプ:単一オブジェクト
- オブジェクト:任意(本例では、Deals)
データのプレビューボタンをクリックするとHubspotの案件リスト(Deals)のデータが参照できます。
今回の例では、ターゲットをInfomatica Cloudから接続可能なAWS RDS上のMySQLにしました。事前にMySQLに以下のDealsというテーブルを作成します。
CREATE TABLE `Deals` (
`DealID` int NOT NULL,
`Name` varchar(45) DEFAULT NULL,
`Amount` varchar(45) DEFAULT NULL,
PRIMARY KEY (`DealID`)
)
マッピングのターゲットのプロパティからMySQLデータベースへの接続を設定します。接続のテストが成功することを確認してください。
続いてターゲットの以下のプロパティを設定します。
- ターゲットの種類:単一オブジェクト
- オブジェクト:Deals(上記MySQLに作成したテーブル)
- 操作:Insert
- 操作:ターゲットのトランケート:ON
ターゲット > プロパティ内のフィールドマッピングを開き、ソース(Hubspot)とターゲット(MySQL)の項目のマッピングを設定します。
ターゲット |
ソース |
DealID |
DealId |
Name |
Deal_Name |
Amount |
Amount |
フィールドマッピングを設定したら保存して実行してみましょう。
ジョブの実行状況はマイジョブから確認できます。ステータスが成功で成功した行にHubspotの元の件数がセットされていれば成功です。
では、ターゲットのMySQLのDealsテーブルをみてみましょう。HubspotのデータがMySQLにコピーされたことを確認できます。
まとめ
上記の手順で Informatica Intelligent Cloud ServicesにてCData Connect経由でHubpotのデータを利用することができました。本手順は、Hubpotでの事例でしたが、CData Connectが対応する様々なSaaSにも同様の手順で Informatica Intelligent Cloud Servicesから利用することができます。
CData Connectのデモ環境が必要な場合やリストにないSaaSに接続したい場合には、CData Japanセールスデスクまでお問い合わせください。
関連コンテンツ