こんにちは。マーケティング担当の對馬です。 本記事では、クラウド会計サービスのfreee のデータをSnowflake にレプリケートする方法をご紹介します。
企業データをDWH にまとめ、BI での可視化や分析、機械学習などでの活用をしたいという要望が多くあります。 DWH にデータをレプリケートするには、各SaaS で用意されているAPI を利用して開発が必要となります。 API はそれぞれのサービスによって形式が異なり、開発には想像以上にコストがかかるケースが存在します。また仕様変更にも対応が必要となり、開発後もメンテナンスは必要です。 CData Sync は、SaaS データのレプリケーション処理をノーコードで実装できます。
今回はCData Sync を使って、freee データを人気のDWH であるSnowflake にレプリケートしたいと思います。
freee はブラウザ画面で経理業務ができるクラウド会計ソフトです。専門の知識がなくても直感的に帳簿の作成ができたり、多くの機能が揃っている業界トップシェアのサービスです。
Snowflake はクラウドDWHで、AWS / Azure / GCP などのクラウド上で動きます。クラウド利用を前提に開発されているため拡張性が高く、注目を集めているサービスです。
用意するもの
- freee 会計
- CData Sync
- Snowflake
freee 事前準備
freee 会計のAPI を利用するため、アプリ登録をします。
アプリ設定
アプリ詳細画面より[基本情報]で外部連携のための情報を設定、取得できます。
コールバックURL には、CData Sync 管理画面のURL と組み合わせて設定します。
http://localhost:8019/src/oauthCallback.rst
「Client ID」と「Client Secret」の情報も、接続時に必要となるため控えておいてください。
[権限設定]タブでは、freee アプリへのアクセス許可を設定します。
事業所ID の取得
freee API でデータを取得する際には、「事業所ID」が必要です。
事業所ID はAPI での取得となりますが、以下リファレンスページからも取得できます。事業所ID を入手しておきます。
CData Sync のインストール
まずはCData Sync をダウンロードします。1か月の無償トライアルを用意しているので、インストーラをダウンロードします。
ダウンロードしたexe ファイルを起動し、画面を確認しながらインストールします。
CData Sync ログイン
CData Sync Server を起動します。
起動後、Admin Console を開きます。 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以上を用意しています。 ぜひトライアル版で体感してみてください。