製品をチェック

製品の詳細・30日間の無償トライアルはこちら

CData Sync

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

複数のWorkday アカウントを、1つあるいは多数のデータベースにレプリケーション。

宮本航太
プロダクトスペシャリスト

最終更新日:2022-06-05

こんにちは!プロダクトスペシャリストの宮本です。

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

Workday 接続の構成

接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のWorkday アカウントをレプリケートするには、複数の設定ファイルを使います。以下にWorkday をSQLite にレプリケートする設定例を示します。

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>User=myuser;Password=mypassword;Tenant=mycompany_gm1;Host=https://wd3-impl-services1.workday.com</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>User=myuser;Password=mypassword;Tenant=mycompany_gm1;Host=https://wd3-impl-services1.workday.com</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

Workday 接続プロパティの取得・設定方法

ここでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。

接続の前提条件

API / 前提条件 / 接続パラメータ
WQL / WQL サービスを有効化(下記参照) / ConnectionTypeWQL
Reports as a Service / カタログレポートの設定(ヘルプドキュメントの「データアクセスのファインチューニング」参照) / ConnectionTypeReports
REST / 自動で有効化 / ConnectionTypeREST
SOAP / 自動で有効化 / ヘルプドキュメントのWorkday SOAP API への認証を参照

BaseURL およびTenant の取得

BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURLTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。

REST API Endpoint のフォーマットは、 https://domain.com/subdirectories/mycompany です。ここで、

  • https://domain.com/subdirectories/BaseURL です。
  • mycompany(URL の最後のスラッシュの後の部分)はTenant です。

例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURLhttps://wd3-impl-services1.workday.com であり、Tenantmycompany です。

WQL サービスを有効化

Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。

  1. Workday を開きます。
  2. 検索バーにView Domain と入力します。
  3. プロンプトにWorkday Query Language と入力します。
  4. Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。

Workday への認証

Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。 Workday への認証につての詳細は、ヘルプドキュメントの「Workday への認証」セクションを参照してください。

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

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

REPLICATE Workers;

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

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

REPLICATE PROD_Workers SELECT * FROM Workers

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

REPLICATE PROD.Workers SELECT * FROM Workers

Sync の実行

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

Windows

WorkdaySync.exe -g MyProductionWorkdayConfig.xml -f MyProductionWorkdaySync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar WorkdaySync.jar -g MyProductionWorkdayConfig.xml -f MyProductionWorkdaySync.sql

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。