CData Sync CLI で API のデータ を複数のデータベースにレプリケーションする方法

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
1つの設定ファイルでAPI のデータを複数の異なるデータベースにレプリケーションする方法をご紹介します。

常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for API を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにAPI のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのAPI のデータとの自動同期が可能です。

Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、API のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。

API のデータ に接続する

接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。

以下は、SQLite へレプリケーションする場合の設定例です。

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString></ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType><DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString></ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

お使いのAPIに接続するには、グローバル設定ページで以下のプロパティを設定してください。

  • AuthenticationTypeを選択し、必要なプロパティを入力します
  • Headersで、お使いのAPIに必要なHTTPヘッダーを追加します
  • PaginationTypeを選択し、必要なプロパティを入力します

グローバル設定の完了後、Tablesに移動してテーブルを追加します。テーブルごとに以下の手順を実行してください。

  1. 「+ Add」をクリックします
  2. テーブルのNameを設定します
  3. 使用するAPIエンドポイントのRequest URLを設定します リクエストURLの設定(Harvestの例)
  4. (オプション)Parametersで、APIエンドポイントに必要なURLパラメーターを追加します
  5. (オプション)Headersで、APIエンドポイントに必要なHTTPヘッダーを追加します
  6. Table Dataの「 Configure」をクリックします
  7. APIからのレスポンスを確認し、「Next」をクリックします APIレスポンスの確認(Harvestの例)
  8. Repeated Elementsに使用する要素とColumnsに使用する要素を選択し、「Next」をクリックします APIレスポンスに基づくスキーマの設定(Harvestの例)
  9. APIレスポンスの表形式プレビューを確認し、「Confirm」をクリックします APIレスポンスの表形式プレビュー(Harvestの例)

レプリケーションクエリの設定

Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 API API がサポートする任意の SELECT クエリを定義できます。 以下の文は、API のデータ のテーブルをキャッシュし、差分更新を行います:

REPLICATE posts;

レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。

Sync を実行する

接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:

Windows

APISync.exe -g MySQLiteConfig.xml -f APISync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar APISync.jar -g MySQLiteConfig.xml -f APISync.sql

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData Sync