CData Software Blog

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

Informatica Intelligent Cloud Services(IICS)のSaaS 連携をCData Connect で拡張:Hubspot 編

本記事では、業界先進のエンタープライズiPaaSである Informatica Intelligent Cloud Services(IICS)で、ネイティブにサポートされている以外のSaaS・DB データをCData Connect を通じてシームレスに統合利用する方法を説明します。

f:id:kuwazzy:20201109144656p:plain

CData Connect とは?

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

f:id:kuwazzy:20201106112232p:plain

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」タブからユーザーを作成してパスワードを設定します。

f:id:kuwazzy:20201105133937p:plain

次に「DATABASE」タブからデータベースを設定していきます。まずは接続するデータソースのアイコンをクリックします。本手順では、Hubspotを選択します。

f:id:kuwazzy:20201106132017p:plain

データソース接続画面が開くので、データソース毎の認証情報を入力します。Hubspot の場合はSchema:は、HubspotのままでConnectボタンをクリックするとブラウザでHubspotのサインイン画面が表示されます。Hubspotのユーザでサインインして認可することでCData ConnectからHubspotのデータにアクセスすることができます。

f:id:kuwazzy:20201106132247p:plain

データベースの保存ができたらPrivileges タブに移動してHubspotのMySQL仮想インスタンスにアクセスできるデータベースユーザを追加します。

f:id:kuwazzy:20201106132335p:plain

先の手順で作成したデータベースのユーザ(本例ではtrial)を追加して、CRUD権限を付与します。今回は、SELECT, INSERT, UPDATE, DELETEのチェックをオンにして保存します。

f:id:kuwazzy:20201106132614p:plain

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。今回はMySQL エンドポイントを利用します。必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

f:id:kuwazzy:20201105133249p:plain

このようにノーコードでHubspot のMySQL仮想インスタンスを公開できました。

MySQL Workbenchからの接続確認

まずはじめに、MySQL Workbenchを利用してCData Connect上のHubspotのMySQL仮想インスタンスに接続確認してみます。MySQL Workbenchを起動して接続設定を行います。

f:id:kuwazzy:20201105134211p:plain

  • 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テーブル内のデータを参照している例となります。

f:id:kuwazzy:20201106181417p:plain

CData Connectで作成したHubspotのMySQL仮想インスタンス内のデータへのアクセスが確認が取れましたので、次の手順からはInformatica Intelligent Cloud Services から接続してみます。

Informatica Intelligent Cloud Services からHubspot データに接続

接続の作成

Informatica Intelligent Cloud Services の「管理者 > 接続」から「新しい接続」を作成します。

f:id:kuwazzy:20201106171906p:plain

接続の作成画面にて以下内容をセットします。ここでのポイントですがタイプはMySQLを選択します。

f:id:kuwazzy:20201106172219p:plain

  • 接続名:任意(例: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

「接続のテスト」ボタンをクリックして外部接続の確認が取れることを確認します。接続が確認できたら「保存」ボタンで接続を保存して閉じます。

f:id:kuwazzy:20201106172632p:plain

ジョブの作成

「データ統合 > アセットの作成」を開きます。

f:id:kuwazzy:20201106172809p:plain

新しいアセットウィザードにてマッピングを選択して作成します。

f:id:kuwazzy:20201106172850p:plain

デザインにソースとターゲットのマッピングが作成されました。

f:id:kuwazzy:20201106172942p:plain

ソースアイコンをクリックして下部のソースのプロパティに以下の値をセットします。

f:id:kuwazzy:20201106173702p:plain

  • 接続:先の手順で作成した接続を選択(例:CDataConnect)
  • ソースタイプ:単一オブジェクト
  • オブジェクト:任意(本例では、Deals)

データのプレビューボタンをクリックするとHubspotの案件リスト(Deals)のデータが参照できます。

f:id:kuwazzy:20201106173822p:plain

今回の例では、ターゲットを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データベースへの接続を設定します。接続のテストが成功することを確認してください。

f:id:kuwazzy:20201106175607p:plain

続いてターゲットの以下のプロパティを設定します。

  • ターゲットの種類:単一オブジェクト
  • オブジェクト:Deals(上記MySQLに作成したテーブル)
  • 操作:Insert
  • 操作:ターゲットのトランケート:ON

f:id:kuwazzy:20201106180034p:plain

ターゲット > プロパティ内のフィールドマッピングを開き、ソース(Hubspot)とターゲット(MySQL)の項目のマッピングを設定します。

ターゲット ソース
DealID DealId
Name Deal_Name
Amount Amount

f:id:kuwazzy:20201106180122p:plain

フィールドマッピングを設定したら保存して実行してみましょう。

f:id:kuwazzy:20201106180426p:plain

ジョブの実行状況はマイジョブから確認できます。ステータスが成功で成功した行にHubspotの元の件数がセットされていれば成功です。

f:id:kuwazzy:20201106180540p:plain

では、ターゲットのMySQLのDealsテーブルをみてみましょう。HubspotのデータがMySQLにコピーされたことを確認できます。

f:id:kuwazzy:20201106180710p:plain

まとめ

上記の手順で Informatica Intelligent Cloud ServicesにてCData Connect経由でHubpotのデータを利用することができました。本手順は、Hubpotでの事例でしたが、CData Connectが対応する様々なSaaSにも同様の手順で Informatica Intelligent Cloud Servicesから利用することができます。

f:id:kuwazzy:20201106111443p:plain

CData Connectのデモ環境が必要な場合やリストにないSaaSに接続したい場合には、CData Japanセールスデスクまでお問い合わせください。