FileMaker から Snowflake へのレプリケーション方法:CData Sync

by 宇佐美格 | December 20, 2024

cover

本記事ではFileMaker Server/Cloud にあるデータをCData Sync のAPI コネクタを用いてSnowflake に連携する方法についてご紹介します。

FileMaker には外部ツールからデータ取得できる方法として、

  1. JDBC/ODBC
  2. FileMaker Data API
  3. FileMaker OData API

の3種類があり、今回は3のFileMaker OData API を利用したデータ取得を試みます。

事前設定

CData Sync

事前にFileMaker Server/Cloud にAPI 接続できるマシンにCData Sync をインストールしてください。インストール方法についてはこちらのクイックスタートガイドを参照してください。

FileMaker

CData Sync から FileMaker 側で提供しているOData API を利用してデータを取得します。OData API を利用するためには

  • FileMaker Server/Cloud 側でのOData API の有効化
  • FileMaker Pro でfmodata 拡張アクセス権を有効化

の2つの設定が必要になります。

FileMaker Server/Cloud 側でのOData API の有効化

FileMaker Server/Cloud のAdmin Console の[コネクタ]タブ内にある[OData]からODataの設定を有効化してください。

スクリーンショット

FileMaker Pro でfmodata 拡張アクセス権を有効化

FileMaker Pro で API を実行するユーザに対してfmodata 拡張アクセス権を付与します。FileMaker Pro で連携したいデータベースにログインし、[ファイル] -> [管理] -> [セキュリティ...]を選択します。

スクリーンショット

後ほどSync に設定するAPI を実行する任意のアカウントを選択し、次のOData でのアクセス (fmodata) の権限が付与されているアクセス権セットをアカウントに設定してください。

スクリーンショット

CData Sync 設定手順

最初にCData Sync からFileMaker, Snowflake にアクセスするための接続設定を行い、設定完了後に実際にレプリケーションジョブを実行する手順となります。

FileMaker 接続設定

サイドバーにある[接続]をクリック

スクリーンショット

[接続を追加]をクリック

スクリーンショット

[データソース]内にある[API]を選択しクリック

スクリーンショット

各入力フォームに次の値を設定し、設定完了後に画面右上の[作成およびテスト]をクリックし接続が成功するのを確認

  • 接続名: 任意の値
  • Auth Scheme: Basic
  • User: 事前設定でfmodata 拡張アクセス権 を付与したアカウント名
  • Password: 事前設定でfmodata 拡張アクセス権 を付与したアカウントのPW
  • Test URL: https://{FileMaker Server/Cloudのドメイン}/fmi/odata/v4

スクリーンショット

接続が成功したら[テーブル]タブが現れるので遷移し、[テーブルを追加]をクリック

スクリーンショット

入力フォームのリクエストURL次の値を入力。

  • リクエストURL: https://{FileMaker Server/Cloudのドメイン}/fmi/odata/v4/{データベース名}/{テーブル名}
    • ※データベース名、テーブル名に日本語が使われている場合の注意点:
      • データベース名に日本語などのマルチバイト文字が含まれている場合はURLエンコードした値を入力してください
      • テーブル名に日本語などのマルチバイト文字が含まれている場合はダブルクォーテーションで括りURLエンコードする必要があります。例えばテーブル名が「タスク」の場合、「"タスク"」をURLエンコードした「%22%E3%82%BF%E3%82%B9%E3%82%AF%22」を入力してください。

入力後、画面下部にある[テーブル設定]をクリック

スクリーンショット

レスポンスプレビューでJSON が返ってくることを確認し、[次へ]をクリック

スクリーンショット

繰り返し要素に[/value]を選択し[次へ]

スクリーンショット

連携したいカラムを選んでいただき[次へ]

スクリーンショット

任意のテーブル名を設定し[確認]

スクリーンショット

次に[テーブル詳細]内の[ページネーション]タブで次のように設定し、API取得上限の1万件を超えた場合でもそれ以降のデータが取得できるようにします。

  • Type: URL
  • URL Source: Response Path
  • Response Path: /@nextLink

スクリーンショット

最後に画面右上の[保存]をクリックしてFileMaker の接続設定は完了です。

スクリーンショット

Snowflake 接続設定

FileMaker の接続設定と同様、サイドバーにある[接続] -> [接続を追加]と遷移しSnowflake を選択

スクリーンショット

各入力フォームに次の値を設定し、設定完了後に画面右上の[作成およびテスト]をクリックし接続が成功するのを確認する

  • 接続名: 任意の値
  • Warehouse: 連携先のSnowflake ウェアハウス名
  • URL: 連携先Snowflake のURL
  • Database: 連携先のSnowflake データベース名
  • Auth Scheme: 環境に合わせ認証情報を設定

ジョブ設定

サイドバーにある[ジョブ] -> [ジョブを追加]と遷移し、入力フォームそれぞれに次の値を設定

  • 名前: 任意のジョブ名
  • データソース: {FileMaker 接続設定}で設定した接続
  • 同期先: {Snowflake 接続設定}で設定した接続
  • 種類: 標準

スクリーンショット

[タスク]タブに遷移し[タスクを追加]をクリックし、{FileMaker 接続設定}で設定したテーブル名を選択

スクリーンショット

画面右上の[実行]をクリックすることでSnowflake にFileMaker のデータを連携することができました!

スクリーンショット

まとめ

今回のケースではFileMaker -> Snowflake への連携ですが、同様のやり方でその他のDB, DWH などへもデータ連携することができます。FileMaker からのデータ連携でお困りの場合、是非一度CData Sync の無償トライアルをお試しください!