【ノーコード】Shopify のデータを複数のデータベースにレプリケーション。

宮本航太
宮本航太
プロダクトスペシャリスト
Shopifyの複数DB同期の複雑さをCData Syncでノーコード解決。Oracle、PostgreSQL、SQL Serverへのレプリケーションを自動実行、データ統合基盤を構築する手順を詳解。



常時起動のアプリケーションは、自動フェイルオーバー機能およびリアルタイムなデータアクセスを必要とします。CData Sync は、リアルタイムShopify のデータをミラーリングデータベース、上記稼働のクラウドデータベース、レポーティングサーバーなどのほかのデータベースに連携し、Windows からリモートShopify に接続し、自動的に同期を取ります。

レプリケーションの同期先の設定

CData Sync を使って、Shopify をクラウド・オンプレにかかわらず複数のデータベースレプリケーションします。レプリケーションの同期先を追加するには、[接続]タブを開きます。

それぞれのデータベース向けに以下を行います:

  1. [同期先]タブをクリックします。
  2. 同期先を選択します。この記事では、SQLite を使います。 同期先の接続設定。
  3. 必要な接続プロパティを入力します。SQLite データベースにShopify をレプリケートするためにDataSource ボックスにファイルパスを入力します。
  4. [接続のテスト]をクリックして、正しく接続できているかをテストします。
  5. 同期先の接続設定 (SQLite is shown)。
  6. [変更を保存]をクリックします。

Shopify 接続の設定

データソース側にShopify を設定します。[接続]タブをクリックします。

  1. [同期先]タブをクリックします。
  2. Shopify アイコンをデータソースとして選択します。プリインストールされたソースにShopify がない場合には、追加データソースとしてダウンロードします。
  3. 接続プロパティに入力をします。

    それでは、Shopify への接続・認証について説明していきましょう。Shopify では、アクセストークンとOAuth の2つの接続方法をサポートしています。

    アクセストークンによる接続

    アクセストークン経由の接続には、以下の2つのステップが必要です。

    1. Shopify の管理画面でアクセストークンを作成
    2. アクセストークンを使用して認証

    アクセストークンの作成

    まず、アプリを登録してアクセストークンを取得してみましょう。手順は以下のとおりです。

    1. 管理画面からShopify にログインし、AppsApps and sales channels に進みます
    2. Develop apps をクリックしてCreate an app を選択します
    3. Overview タブのConfiguration で、Admin API integration をクリックし、アプリに許可するストアのアクセス権を選択してください。CData製品が必要とするAdmin API 権限については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」セクションをご確認ください
    4. Save をクリックします
    5. Overview タブのConfiguration で、Storefront API integration をクリックし、アプリに許可するストアのアクセス権を選択します。CData製品が必要とするStorefront API 権限は以下のとおりです:
      • unauthenticated_read_content
    6. Save をクリックします
    7. API Credentials を選択します
    8. "Access tokens" の下でInstall app をクリックします。これでアクセストークンが作成されます
    9. Admin API Access token のアクセストークンをコピーします。注意:トークンの公開およびコピーは1回のみ可能ですので、必ず保存してください

    アクセストークンによる認証

    続いて、アクセストークンで認証するには、以下のプロパティを設定してください。

    • AuthSchemeAccessToken に設定
    • AccessToken:カスタムアプリからコピーしたアクセストークンの値に設定

    OAuth 認証を介した接続については、ヘルプドキュメントの「OAuth 認証の使用」をご確認ください。

    データソースの接続設定(Salesforce is shown)。
  4. [接続のテスト]をクリックして、正しく接続できているかをテストします。
  5. [変更を保存]をクリックします。

レプリケーションを実行するクエリの設定

CData Sync はレプリケーションをコントロールするSQL クエリを簡単なGUI 操作で設定できます。レプリケーションジョブ設定には、[ジョブ]タブに進み、[ジョブを追加]ボタンをクリックします。 次にデータソースおよび同期先をそれぞれドロップダウンから選択します。

レプリケーションジョブのデータソースと同期先を選択。

テーブル全体をレプリケーションする

テーブル全体をレプリケーションするには、[テーブル]セクションで[テーブルを追加]をクリックします。表示されたテーブルリストからレプリケーションするテーブルをチェックします。

同期するテーブルを選択 (Salesforce is shown)。

テーブルをカスタマイズしてレプリケーションする

SQL クエリを使って、レプリケーションをカスタマイズすることができます。REPLICATE ステートメントは、データベースにテーブルをキャッシュして、保持するハイレベルなコマンドです。Shopify API でサポートされているSELECT クエリを使うことができます。レプリケーションのカスタマイズには、[カスタムクエリを追加]をクリックして、カスタムクエリステートメントを定義します。 カスタムレプリケーション用のクエリを定義。

次のステートメントは、Shopify のテーブルのアップデートを差分更新でキャッシュします:

REPLICATE Customers;

特定のデータベースを更新するために、レプリケーションクエリを含むファイルを指定することもできます。レプリケーションクエリをセミコロンで区切ります。複数のShopify アカウントを同じデータベースに同期しようとする際には、以下のオプションが便利です:

  • REPLICATE SELECT ステートメントで別のprefix を使う:

    REPLICATE PROD_Customers SELECT * FROM Customers;
    
  • 別の方法では、別のスキーマを使う:

    REPLICATE PROD.Customers SELECT * FROM Customers;
    

レプリケーションのスケジュール起動設定

[スケジュール]セクションでは、レプリケーションジョブの自動起動スケジュール設定が可能です。反復同期間隔は、15分おきから毎月1回までの間で設定が可能です。

ジョブのスケジュール起動設定。

レプリケーションジョブを設定したら、[変更を保存]ボタンを押して保存します。Shopify のオンプレミス、クラウドなどのデータベースへのレプリケーションジョブは一つではなく複数を作成することが可能です。

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

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

CData Sync お問い合わせ