CData Sync CLI で NetSuite SuiteAnalytics のデータ を複数のデータベースにレプリケーションする方法
常時稼働のアプリケーションには、自動フェイルオーバー機能とリアルタイムのデータアクセスが欠かせません。CData Sync for NetSuite SuiteAnalytics を使えば、ミラーリングデータベース、常時稼働のクラウドデータベース、レポーティングサーバーなど、さまざまなデータベースにNetSuite SuiteAnalytics のデータをリアルタイム連携できます。Windows やJava が動作するあらゆるマシンから、リモートのNetSuite SuiteAnalytics のデータとの自動同期が可能です。
Sync のコマンドラインインターフェース(CLI)を使えば、レプリケーションのほぼすべての設定を簡単に制御できます。設定を変更することなく、NetSuite SuiteAnalytics のデータ を1つまたは複数のデータベースにレプリケーションすることが可能です。
NetSuite SuiteAnalytics のデータ に接続する
接続文字列やメール通知などの設定は、XML 設定ファイルに保存できます。
以下は、SQLite へレプリケーションする場合の設定例です。
Windows
<?xml version="1.0" encoding="UTF-8" ?> <CDataSync><DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>InitiateOAuth=GETANDREFRESH;</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>InitiateOAuth=GETANDREFRESH;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>
前提条件
NetSuite SuiteAnalytics に接続する前に、NetSuite アカウントでSuiteAnalytics Connect を設定する必要があります。
-
Connect Service 機能を有効にします。
-
アカウント管理者がConnect Service 機能を使用するアカウントとロールを有効にしていることを確認します。
-
Setup > Company > Enable Features に移動します。
-
Analytics タブをクリックし、SuiteAnalytics Connect ボックスにチェックを入れます。
-
-
既存のロールにSuiteAnalytics Connect 権限を追加します。
-
Setup > Users/Roles > User Management > Manage Roles に移動します。
-
SuiteAnalytics Connect 権限を追加するロール名の横にあるCustomize をクリックします。
-
Permissions タブの下にあるSetup タブをクリックします。
-
SuiteAnalytics Connect 権限を追加します。
-
Add とSave をクリックします。
-
-
Suite Analytics Connect 権限を確認します。
-
ホームページでSettings ポートレットを見つけ、Set Up SuiteAnalytics Connect をクリックします。
-
Your Configuration をクリックして、サービスホストとアカウントID 情報を表示します。これらの設定はServer とAccount ID 接続プロパティに直接マッピングされます。
-
NetSuite SuiteAnalytics コネクタの追加
Sync でNetSuite SuiteAnalytics のデータを使用するには、まず以下の手順でコネクタを追加します。
-
Sync ダッシュボードのConnections ページを開きます。
-
Add Connection をクリックしてSelect Connectors ページを開きます。
-
Sources タブをクリックし、NetSuite SuiteAnalytics の行を見つけます。
-
その行の末尾にあるConfigure Connection アイコンをクリックしてNew Connection ページを開きます。Configure Connection アイコンが利用できない場合は、Download Connector アイコンをクリックしてNetSuite SuiteAnalytics コネクタをインストールします。新しいコネクタのインストールの詳細については、ヘルプドキュメントのConnections セクションをご参照ください。
NetSuite SuiteAnalytics への認証
コネクタを追加したら、必要なプロパティを設定します。
-
Connection Name:任意の接続名を入力します。
-
Server:前述の手順で確認したService Host の値を入力します。
-
Account Id:前述の手順で確認したAccount Id の値を入力します。
-
Role Id:前述の手順で更新したRole ID を入力します。
-
User:NetSuite アカウントへの認証に使用するユーザー名を入力します。
-
Password:そのアカウントに関連付けられたパスワードを入力します。
レプリケーションクエリの設定
Sync では、標準 SQL を使ってレプリケーションを制御できます。REPLICATE 文は、データベース内のテーブルをキャッシュして維持するための高レベルコマンドです。 NetSuite SuiteAnalytics API がサポートする任意の SELECT クエリを定義できます。 以下の文は、NetSuite SuiteAnalytics のデータ のテーブルをキャッシュし、差分更新を行います:
REPLICATE Account;
レプリケーションクエリを含むファイルを指定することもできます。これにより、同じレプリケーションクエリを使って複数のデータベースへレプリケーションできます。
Sync を実行する
接続文字列とレプリケーションクエリを設定したら、以下のコマンドラインオプションで Sync を実行できます:
Windows
SuiteAnalyticsSync.exe -g MySQLiteConfig.xml -f SuiteAnalyticsSync.sql
Java
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar SuiteAnalyticsSync.jar -g MySQLiteConfig.xml -f SuiteAnalyticsSync.sql