Hightouchの拡張機能でFivetranをトリガーにHightouchの同期を実行してみた

2023.10.06

こんにちは、スズです。

Hightouchの拡張機能を使用することで、Fivetranやdbt Cloudなどと連携することができます。Hightouchの拡張機能を使って、Fivetranのジョブの完了をトリガーとしてHightouchの同期の実行してみましたので、本記事でご紹介します。

構成

「Fivetranのジョブの完了をトリガーとしてHightouchの同期の実行」では、Fivetranでの同期と、Hightouchでの同期の2つの処理が行われることとなります。本記事で使用するFivetranとHightouchのそれぞれの構成を記載します。

Fivetranの構成

Fivetranでは、GoogleスプレッドシートのデータをSnowflakeに同期します。

  • Connector:Googleスプレッドシート
  • Destination:Snowflake

Googleスプレッドシートには以下のデータがあります。

DesitinationとなっているSnowflakeのデータベースには以下のデータがあります。これはFivetranで最初の同期を行った際に作成されたデータです。このあとFivetranで同期を行うと、IDが4と5のレコードが新しくSnowflakeに入力されることとなります。

Hightouchの構成

Hightouchでは、SnowflakeのデータをGoogleスプレッドシートに同期します。

  • Source:Snowflake
  • Destination:Googleスプレッドシート

ここで使用するGoogleスプレッドシートは、FivetranのConnectorに使用しているものとは別のスプレッドシートで、HightouchのDesitination用に新規に作成したものです。

FivetranのAPI Keyの作成

HightouchとFivetranを連携するにはFivetranのAPI keyが必要です。Fivetran側でAPI keyを作成して取得しておきます。Fivetranにログインし、ユーザー名のメニューを展開すると[API Key]という項目があります。この画面にて[Generate new API key]をクリックすると、API keyを作成できます。

Hightouchの拡張機能の設定

取得したFivetranのAPI keyを使って、Hightouchの拡張機能でFivetranの連携設定を行います。Hightouchにログインし、[Extensions]から[Fivetran]をクリックします。

[Configure extension]をクリックします。

Fivetran configurationにAPI keyとAPI secretを入力し、[Connect]をクリックします。

これでHightouchからFivetranの連携設定は完了です。

Hightouchの同期の設定

HightouchのSyncsに同期の設定を行います。Hightouchの[Syncs]を開き、[Add sync]をクリックします。

使用するModelを選択します。

Desitinationを選択します。今回はGoogleスプレッドシートをDesitinationに設定しています。

Googleスプレッドシートの同期の設定を行います。今回は「FROM_HIGHTOUCH」という名前のスプレッドシートの「シート1」に出力するように設定しています。設定後、[Continue]をクリックします。

同期のスケジュールとして[Fivetran]を選択します。[Fivetran]を選択すると、Schedule configurationという項目が表示されます。[Fivetran workspace]にはFivetranのコネクタを選択します。また、このスケジュールの有効期限を設定することもできます。設定後、[Finish]をクリックします。

これで同期の設定は完了です。

同期を実行してみた

最後に、Fivetranの同期を実行してHightouchの同期が実行されるかを確認します。Fivetranで当該のConnectorを開き、[Sync Now]をクリックして同期を実行します。

時間をおいてHightouchのSyncを確認すると、Hightouchの同期の実行が記録されています。

HightouchでDesitinationとして設定したGoogleスプレッドシートを確認すると、データが出力されています。IDが4と5のレコードも存在していますので、Fivetranで新しく同期したデータが、HightouchのDestinationにも同期されていることが確認できます。

最後に

Hightouchの拡張機能を使って、Fivetranのジョブの完了をトリガーとしてHightouchの同期の実行してみました。今回は分かりやすくGoogleスプレッドシートを使用していますが、FivetranとHightouchを使うことで、SalesforceとZendeskのユーザー情報をデータを同期するなど、ビジネスツール間のデータの同期を即時に行うことに利用できそうですね。

参考