複数API アカウントをレプリケーション

宮本航太
宮本航太
プロダクトスペシャリスト
複数のAPI アカウントを、1つあるいは多数のデータベースにレプリケーション。

CData Sync for API は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のAPI 接続を簡単に管理できます。この記事では、CLI を使って複数のAPI アカウントをレプリケートする方法について説明します。

API 接続の構成

接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のAPI アカウントをレプリケートするには、複数の設定ファイルを使います。以下にAPI を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の例)

各API インスタンスにクエリを設定

Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。API API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、API のデータ のテーブルをキャッシュしてインクリメンタルに更新します。

REPLICATE posts;

特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のAPI アカウントを同じデータベースにレプリケートする場合に便利です。

REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。

REPLICATE PROD_posts SELECT * FROM posts

異なるスキーマを使用することもできます。

REPLICATE PROD.posts SELECT * FROM posts

Sync の実行

接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。

Windows

APISync.exe -g MyProductionAPIConfig.xml -f MyProductionAPISync.sql

Java

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

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

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

CData Sync