CData Software Blog

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

クラウド会計freee データをCData Sync でSnowflake にレプリケートする

こんにちは。マーケティング担当の對馬です。 本記事では、クラウド会計サービスのfreee のデータをSnowflake にレプリケートする方法をご紹介します。

企業データをDWH にまとめ、BI での可視化や分析、機械学習などでの活用をしたいという要望が多くあります。 DWH にデータをレプリケートするには、各SaaS で用意されているAPI を利用して開発が必要となります。 API はそれぞれのサービスによって形式が異なり、開発には想像以上にコストがかかるケースが存在します。また仕様変更にも対応が必要となり、開発後もメンテナンスは必要です。 CData Sync は、SaaS データのレプリケーション処理をノーコードで実装できます。

今回はCData Sync を使って、freee データを人気のDWH であるSnowflake にレプリケートしたいと思います。

freee はブラウザ画面で経理業務ができるクラウド会計ソフトです。専門の知識がなくても直感的に帳簿の作成ができたり、多くの機能が揃っている業界トップシェアのサービスです。

www.freee.co.jp

SnowflakeクラウドDWHで、AWS / Azure / GCP などのクラウド上で動きます。クラウド利用を前提に開発されているため拡張性が高く、注目を集めているサービスです。

www.snowflake.com

用意するもの

freee 事前準備

freee 会計のAPI を利用するため、アプリ登録をします。

app.secure.freee.co.jp

アプリ設定

アプリ詳細画面より[基本情報]で外部連携のための情報を設定、取得できます。

コールバックURL には、CData Sync 管理画面のURL と組み合わせて設定します。

http://localhost:8019/src/oauthCallback.rst

「Client ID」と「Client Secret」の情報も、接続時に必要となるため控えておいてください。

[権限設定]タブでは、freee アプリへのアクセス許可を設定します。

事業所ID の取得

freee API でデータを取得する際には、「事業所ID」が必要です。

developer.freee.co.jp

事業所ID はAPI での取得となりますが、以下リファレンスページからも取得できます。事業所ID を入手しておきます。

developer.freee.co.jp

CData Sync のインストール

まずはCData Sync をダウンロードします。1か月の無償トライアルを用意しているので、インストーラをダウンロードします。

www.cdata.com

ダウンロードしたexe ファイルを起動し、画面を確認しながらインストールします。

CData Sync ログイン

CData Sync Server を起動します。

起動後、Admin Console を開きます。 CData Sync ログインユーザーを作成し、管理コンソールにログインします。

CData Sync 管理画面

[情報]タブからライセンスの適用をします。

freee 接続

[接続]タブより、接続設定をします。 まずはfreee への接続を確立します。

freee コネクタのインストール

[接続の追加] > [データソース]から、データを取得するサービスを選択します。 freee アイコンがトップから選択できないため、[Add More]を開きます。

freee コネクタを検索します。

今回は会計データを取得するため、[freee]を選択します。

接続するためのCData freee Profile をダウンロードおよびインストールします。

インストールに成功したら、ログインし直します。

データソースにfreee アイコンが追加されます。

freee 接続設定

追加されたfreee アイコンをクリックします。

接続設定画面が開かれます。

先ほどfreee アプリ管理画面で取得した「Client ID」と「Client Secret」を入力します。

CData Sync 設定名 freee 設定情報名
OAuth Client ID Client ID
OAuth Client Secret Client Secret

[Advanced]タブを開き、コールバックURL と事業所ID を設定します。

CData Sync 設定名 設定内容 備考
Other(Optinal) CallbackURL=http://localhost:8019/src/oauthCallback.rst; CompanyId=XXXXXXXX; CallbackURL=freee アプリ管理画面で指定したコールバックURL, CompanyId=事業所ID

[設定]タブに戻り、接続を確立します。

右下[次に接続 API Profile For freee]ボタンを押下します。

freee の連携許可画面が開かれますので、[許可する]を押下します。

freee への接続が完了しました。

右上[変更を保存]ボタンで、設定内容を保存します。

Snowflake 接続

続いて、データ同期先であるSnowflake への接続を設定します。

[同期先]タブを開き、[Snowflake]アイコンをクリックします。

接続設定画面が開かれます。

必要な情報を入力します。認証方法はAzure AD などさまざまありますが、今回は「Password」で認証します。

CData Sync 設定名 設定内容 備考
Auth Scheme Password
URL (Azure インスタンスの場合)https://myaccount.region.azure.snowflakecomputing.com アカウント名とリージョンを設定します
Database 接続するデータベース名
User ユーザー名
Password パスワード
Schema 接続するスキーマ

入力が終わりましたら、[接続テスト]ボタンを押下し正常に接続できるか確認します。

設定完了後は、設定内容の保存を忘れないようにしてください。

ジョブの作成

freee の接続情報とSnowflake の接続情報を使って、レプリケーションのジョブを作成します。

上部[ジョブ]タブを開き、ジョブを追加します。

ジョブ作成画面が開かれます。 任意のジョブ名を入力し、ソースと同期先を指定します。

CData Sync 設定名 設定内容
ジョブ名 任意
ソース freee 接続設定名
同期先 Snowflake 接続設定名

ジョブの設定画面が開かれます。

レプリケートするテーブルを指定します。 [テーブルを追加]ボタンを押下します。

取得するテーブルを選択します。 今回は「DealDetails」(取引一覧)を選択します。

実行

追加したテーブルを選択し、[実行]ボタンを押下します。

実行結果を画面上で確認できます。5件、Snowflake にデータが格納されたことがわかります。

Snowflake 上で確認してみます。 5件追加されていることが確認できました。

おわりに

CData Sync を使って、freee データをSnowflake にレプリケートできました。 レプリケーション処理をノーコードで開発を行えます。

CData Sync では主要なDB / DWH に対応しており、データソースも400以上を用意しています。 ぜひトライアル版で体感してみてください。

www.cdata.com