CData Software Blog

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

SQLServerからMarketoへの連携をノーコードで作成:ArcESB

こんにちは!最近は Marketo API ばかりを触っている宮本です!

今回は ノーコードデータ連携ツールの ArcESB を使って、SQLServer からマーケティングツールでおなじみの Marketo へデータ連携する方法をご紹介したいと思います。

ArcESB とは?

ArcESB はノーコードでETL/EAI などのデータ連携や EDI などの企業間での各種取引情報連携を実現できるWebアプリケーションです。

https://www.arcesb.com/
f:id:sennanvolar44:20200219072923p:plain

今回はこの ArcESB と CData Marketo ADO.NET Provider を組み合わせてデータ連携行います。Visual Studio などをインストールしておくことで、デフォルトで SQLServer へは接続可能となります。

シナリオ

SQLServer で管理されている顧客情報から見込み顧客名、Email、作成日時、更新日時をMarketo に連携するジョブを作成し実行します。
f:id:sennanvolar44:20200312104311p:plain

必要なもの

以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。

事前準備

まず使用する製品をそれぞれインストールします。以下のページから、ArcESB の本体を入手できます。必要に応じて、WindowsJava/Linux、Cloud Hosted のバージョンから選択してください。なお、本記事ではWindows ベースで進めます。

https://www.arcesb.com/download/ f:id:sugimomoto:20200127165940p:plain

インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。

f:id:sugimomoto:20200127165947p:plain

また ArcESB には Marketo の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。

それぞれ以下の URL から入手可能です。

https://www.cdata.com/jp/drivers/marketo/ado/
f:id:sennanvolar44:20200311222844p:plain

こちらのインストールもそのまま進んでいくだけで大丈夫です。

SQLServer には、Email、見込み顧客名、会社名などの項目で構成されているテーブルを用意しています。
f:id:sennanvolar44:20200312122027p:plain

ArcESB でジョブ作成~実行

ArcESB を起動後、ログイン画面が表示されるので、ArcESB のインストール時に設定したパスワードを入力してログインします。 f:id:sennanvolar44:20200219113136p:plain

SQLServer の設定

左側のサイドメニューの Database にカーソルを当てると、「+」が表示されますのでクリックします。
f:id:sennanvolar44:20200219114115p:plain

コネクタId に今回は「SQLServer-CData」と入力しました。入力後、「コネクタを作成」をクリックします。 f:id:sennanvolar44:20200311232935p:plain

ドライバー名の項目がプルダウンとなっていますので、SQLServer を選択します。あとはサーバ名やユーザ名など、それぞれの項目に SQLServer の情報を入力してください。 f:id:sennanvolar44:20200219114853p:plain

入力後「接続のテスト」をクリックし、画面上部に”成功しました”とメッセージが表示されましたら、右上にある「変更を保存」をクリックして接続情報を保存します。

次に SQLServer のどのテーブルのデータを取得するかを設定していきます。 マッピングの「アウトプット」→「+」の順にクリックし、その後に表示される「テーブルまたはビュー」をクリックします。 f:id:sennanvolar44:20200219115312p:plain

SQLServer のテーブルが表示されるので、連携対象のテーブル「顧客情報」を選択し、「次へ」をクリックします。

ここでは、SQLServer から取得する際の条件を指定します。
画面上部のカラムエリアで取得対象カラムにチェックを入れると、クエリエリアに自動的にクエリが作成されます。クエリを入力する場合は、「カスタムクエリの記述」にチェックを入れてください。

f:id:sennanvolar44:20200312122602p:plain

ちなみに、クエリエリアの下に Advanced という項目がありますが、ここでは新規レコード、または変更レコードのみを取得する設定を行うことができます。日時項目を取得対象に含めている場合は、ここで項目を指定することにより、最後に連携したレコードの指定項目にある値(日時)から更新があったレコードのみを取得対象とします。

f:id:sennanvolar44:20200312123635p:plain

これで SQLServer の設定が完了しましたので、右上にある「変更を保存」で保存を行ってください。

Marketo の設定

Marketo は 先ほどインストールした CData ADO.NET を使いますので、サイドメニューの「エンタープライズ」にある、CData の「+」をクリックします。 f:id:sennanvolar44:20200219122617p:plain

先ほどと同じように名前を入力した後、接続設定画面が表示されます。 データソースに「CData Marketo」を選択後、接続情報を入力し、接続のテストを行います。成功であれば保存します。

f:id:sennanvolar44:20200311235340p:plain

マッピングの設定を行います。Marketo はデータを受ける方なので「インプット」を選択後、「+」→「テーブルまたはビュー」をクリックします。 f:id:sennanvolar44:20200219132026p:plain

今回は Leads テーブルへ更新を行う予定ですので、Leads テーブルを選択します。
f:id:sennanvolar44:20200311235720p:plain

選択後、Marketo に登録する項目を設定します。UPSERT する場合はUPSERTを ON にします。今回は Email、FirstName、LastNameだけを Leads テーブルをに新していきますので、対象カラムを選択します。

保存後、右にあるコードマークをクリックします。
f:id:sennanvolar44:20200312000518p:plain

Emai の項目に「key="true"」でキー設定を行います。
f:id:sennanvolar44:20200312124145p:plain

以上で Marketo の設定が完了し、ジョブのデータIN/OUT までを作成することができました。次は SQLServer と Marketo のデータをマッピングする設定を行っていきます。
f:id:sennanvolar44:20200312002043p:plain

Mapping の設定

サイドメニューより「XML Map」を選択します。 f:id:sennanvolar44:20200219133912p:plain

一度「変更を保存」で XML Map を保存します。 f:id:sennanvolar44:20200219134136p:plain

以下のように「SQLServer」→「XML Map」→「Marketo」の流れになるように線をつなげていき、右側にある保存アイコンをクリックして今の状態を保存します。

f:id:sennanvolar44:20200312002416p:plain

XML Map」をクリックすると以下の画面が表示されます。ここでは、実際に項目のマッピングを設定します。 まずは、先ほど作成した接続内容をそれぞれに設定します。ソースファイルに SQLServer 、デスティネーションに Marketo です。 画面下部のマッピングは、ドラッグ&ドロップでできますので、対応する項目に設置してください。設定が終わりましたら、「変更を保存」をクリックします。

f:id:sennanvolar44:20200312133059p:plain

ジョブ実行

まずは Marketo の更新対象レコードは今この状態になっています。いま Marketo に登録されているデータは「cdata_user1@cdata.com」のみになりますので、1件は更新、残り2件は追加となる想定です。
f:id:sennanvolar44:20200312133533p:plain

では実行していきます。
作成した SQLServer のコネクタをクリックし、「アウトプット」タブで以下の画面が表示されます。ジョブを実行する場合は、受信ボタンをクリックするとスタートします。 f:id:sennanvolar44:20200219141207p:plain

実行されると以下のように、取得したレコードが一覧で表示されます。 f:id:sennanvolar44:20200219141523p:plain

実行後、Marketo にデータが連携されたかどうか確認してみると、FirstName、LastName に値が入り、2件レコードが追加されました。
f:id:sennanvolar44:20200312135537p:plain

ジョブのスケジューリング

SQLServer の設定画面から「オートメーション」タブをクリックすると以下の画面が表示されます。受信のチェックボックスにチェックを入れると、実行間隔を設定することができます。 f:id:sennanvolar44:20200219140650p:plain

おわりに

ノーコードでSQLServer から Marketo に連携することができました。SQLServer、Marketo 以外にも CData のコネクタを組み合わせることで、様々な連携先を指定することができます。30日間無料でお使いいただくことができますので、是非お試しください!