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

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

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

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

Vercel のデータ に接続する

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

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

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync><DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>Profile=C:\profiles\Vercel.apip;AuthScheme=APIKey;APIKey=your_access_token;</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>Profile=C:\profiles\Vercel.apip;AuthScheme=APIKey;APIKey=your_access_token;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

API キー認証の設定

Vercel は Bearer トークン認証を使用します。API キーとして、パーソナルアクセストークンまたは OAuth アクセストークンのいずれかを使用できます。

パーソナルアクセストークンを取得するには、以下のステップで進めます:

  1. https://vercel.com/ で Vercel アカウントにログインします
  2. Account Settings > Tokens に移動します。
  3. Create Token をクリックし、名前と有効期限を入力して Create をクリックします。
  4. 生成されたトークンをコピーします(一度しか表示されません)。

トークンを取得したら、以下の接続プロパティを設定します:

  • AuthScheme:APIKey に設定します。
  • APIKey:Vercel のパーソナルアクセストークンまたは OAuth アクセストークンに設定します。

接続文字列の例

Profile=C:\profiles\Vercel.apip;AuthScheme=APIKey;APIKey=your_access_token;

チームの利用

Vercel のリソースの多くは、チームにスコープされています。すべてのリクエストを特定のチームにスコープするには、TeamId 接続プロパティにチームの ID を設定します。チーム ID は、Teams テーブルをクエリするか、Vercel ダッシュボードで確認できます。あるいは、サポートされている場合は SQL クエリの WHERE 句で TeamId を指定することもできます。

Vercel への接続

認証を設定すると、Vercel に接続して、Projects、Deployments、Teams、Domains などの利用可能なテーブルからデータをクエリできます。

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

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

REPLICATE User;

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

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