ジョブ管理API

Version 23.4.8843


ジョブ管理API


REST API は、次のジョブ管理アクションをサポートしています。

以下のセクションでは、各アクションについて説明します。

すべてのジョブをリスト

次のコマンドは、CData Sync アプリケーション内のすべてのジョブのリストを返します。

GET http://MyDomain.com:8019/api.rsc/jobs(jobname)

クエリパラメータ

名前 説明
JobName 取得するジョブの名前。

ジョブを作成

次のコマンドは、Sync アプリケーションで実行する新しいジョブを作成します。

POST http://MyDomain.com:8019/api.rsc/jobs

ボディパラメータ

名前 説明  
JobName ジョブ名を指定します。  
Source データソースの接続名を指定します。  
Destination 同期先の接続名を指定します。  
Scheduled 特定のスケジューラーに従ってジョブを実行するかどうかを指定します。 特定のスケジューラーごとにジョブを実行するには、パラメータをTrue に設定します。
ScheduledCron スケジューラーのcron 文字列。  
NotifyWindowsEvent エラーメッセージをMicrosoft Windows アプリケーション イベントログに書き込むかどうかを指定します。エラーメッセージをイベントログに書き込むには、このパラメータをTrue に設定します。  
SendEmailNotification ジョブの完了後にE メール通知を送信するかどうかを指定します。E メール通知を送信するには、このパラメータをTrue に設定します。  
NotifyEmailTo 通知を送信する宛先のE メールアドレスを指定します。  
NotifyEmailSubject 通知E メールの件名を指定します。  
EmailErrorOnly エラーが発生した場合にのみE メールを送信するように指定します.  
Verbosity ジョブのログのverbosity レベルを指定します。  
TableNamePrefix レプリケートされたすべてのテーブルのプレフィックスを指定します。  
UseGmtDateTime ローカル時刻ではなく、グリニッジ標準時で同期するかどうかを指定します。GMT タイムゾーンで時刻を同期するには、このパラメータをTrue に設定します。  
TruncateTableData 各更新の前にすべての行を削除するかどうかを指定します。更新前にすべての行を削除するには、このパラメータをTrue に設定します。  
DropTable 各更新の前にテーブルを削除するかどうかを指定します。更新前にテーブルを削除するには、このパラメータをTrue に設定します。  
AutoTruncateStrings カラムサイズに対して大きすぎる文字列を自動的に切り捨てるかどうかを指定します。カラムに対して大きすぎる文字列を自動的に切り捨てるには、このパラメータをTrue に設定します。  
ContinueOnError エラーが発生した場合に、ジョブを次のクエリに進めるかどうかを指定します。前のテーブルでエラーが発生したときにジョブを次のテーブルに続行するには、このパラメータをTrue に設定します。  
AlterSchema データソーステーブルと同期先テーブルのメタデータが一致しない場合に、カラムを追加してデータ型を変更するかどうかを指定します。不一致が発生した場合にカラムを追加してデータ型を変更するには、このパラメータをTrue に設定します。  
ReplicateInterval ReplicateIntervalUnit とペアで設定すると、このパラメータはレプリケート時にデータを分割するタイムフレームを制御します。  
ReplicateIntervalUnit ReplicateInterval とペアで設定すると、このパラメータはレプリケート時にデータを分割するタイムフレームを制御します。値はminuteshoursdaysweeksmonthsyears です。  
ReplicateStartDate データレプリケーションを開始する最小の日付(yyyy-MM-dd の形式)を設定します。  
BatchSize バッチのサイズを設定します。  
CommandTimeout 同期先の接続のタイムアウトを制御します。  
SkipDeleted データソースから削除されたレコードの取得をスキップするかどうかを指定します。  
OtherCacheOptions 含める追加オプションのカンマ区切りのリストを指定します。  
CacheSchema 同期先データベースの特定のスキーマを割り当てます。  
PreJob pre-job イベントのコード。  
PostJob post-job イベントのコード。  
Query# ジョブに含めるSQL ステートメントの配列を指定します。Query#1、Query#2 などの構文で複数のクエリを指定します。  

{ 
  "JobName": "MyNewJob", 
  "Source": "SourceConnection",
  "Destination": "DestinationConnection",
  "Query#1":"REPLICATE [Accounts]",
  "Query#2": "REPLICATE [Invoices]"
}

ジョブを編集

次のコマンドは、既存のジョブを編集します。

PUT http://mydomain.com:8019/api.rsc/jobs(jobname)

Note:実行中のジョブを編集することはできません。

クエリパラメータ

名前 説明
JobName(必須) 編集するジョブの名前を指定します。

ボディパラメータ

名前 説明  
Scheduled 特定のスケジューラーに従ってジョブを実行するかどうかを指定します。 特定のスケジューラーごとにジョブを実行するには、パラメータをTrue に設定します。
ScheduledCron スケジューラーのcron 文字列。  
NotifyWindowsEvent エラーメッセージをMicrosoft Windows アプリケーション イベントログに書き込むかどうかを指定します。エラーメッセージをイベントログに書き込むには、このパラメータをTrue に設定します。  
SendEmailNotification ジョブの完了後にE メール通知を送信するかどうかを指定します。E メール通知を送信するには、このパラメータをTrue に設定します。  
NotifyEmailTo 通知を送信する宛先のE メールアドレスを指定します。  
NotifyEmailSubject 通知E メールの件名を指定します。  
EmailErrorOnly エラーが発生した場合にのみE メールを送信するように指定します.  
Verbosity ジョブのログのverbosity レベルを指定します。値は123、および5 です。  
TableNamePrefix レプリケートされたすべてのテーブルのプレフィックスを指定します。  
UseGmtDateTime ローカル時刻ではなく、グリニッジ標準時で同期するかどうかを指定します。GMT タイムゾーンで時刻を同期するには、このパラメータをTrue に設定します。  
TruncateTableData 各更新の前にすべての行を削除するかどうかを指定します。更新前にすべての行を削除するには、このパラメータをTrue に設定します。  
DropTable 各更新の前にテーブルを削除するかどうかを指定します。更新前にテーブルを削除するには、このパラメータをTrue に設定します。  
AutoTruncateStrings カラムサイズに対して大きすぎる文字列を自動的に切り捨てるかどうかを指定します。カラムに対して大きすぎる文字列を自動的に切り捨てるには、このパラメータをTrue に設定します。  
ContinueOnError エラーが発生した場合に、ジョブを次のクエリに進めるかどうかを指定します。前のテーブルでエラーが発生したときにジョブを次のテーブルに続行するには、このパラメータをTrue に設定します。  
AlterSchema データソーステーブルと同期先テーブルのメタデータが一致しない場合に、カラムを追加してデータ型を変更するかどうかを指定します。不一致が発生した場合にカラムを追加してデータ型を変更するには、このパラメータをTrue に設定します。  
ReplicateInterval ReplicateIntervalUnit とペアで設定すると、このパラメータはレプリケート時にデータを分割するタイムフレームを制御します。  
ReplicateIntervalUnit ReplicateInterval とペアで設定すると、このパラメータはレプリケート時にデータを分割するタイムフレームを制御します。値はminuteshoursdaysweeksmonthsyears です。  
ReplicateStartDate データレプリケーションを開始する最小の日付(yyyy-MM-dd の形式)を設定します。  
BatchSize バッチのサイズを設定します。  
CommandTimeout 同期先の接続のタイムアウトを制御します。  
SkipDeleted データソースから削除されたレコードの取得をスキップするかどうかを指定します。  
OtherCacheOptions 含める追加オプションのカンマ区切りのリストを指定します。  
CacheSchema 同期先データベースの特定のスキーマを割り当てます。  
PreJob pre-job イベントのコード。  
PostJob post-job イベントのコード。  

{ 
  "Scheduled": "true",
  "ScheduledCron": "0-30/5 * * * *"
}

ジョブを削除

次のコマンドは、Sync アプリケーションからジョブを削除します。

DELETE http://MyDomain.com:8019/api.rsc/jobs(jobname)

Note:実行中のジョブを削除することはできません。

クエリパラメータ

名前 説明
JobName 削除するジョブの名前。

すべての変換をリスト

次のコマンドは、Sync アプリケーション内のすべての変換のリストを返します。

GET http://MyDomain.com:8019/api.rsc/transformations(transformationname)

クエリパラメータ

名前 説明
TransformationName 取得する変換の名前。

変換を作成

次のコマンドは、Sync アプリケーションで実行する新しいジョブを作成します。

POST http://MyDomain.com:8019/api.rsc/transformations

ボディパラメータ

名前 説明
TransformationName 変換の名前を指定します。
Connection 同期先の接続名を指定します。
TransformationTriggerMode スケジュールに従って変換を実行するか、ジョブ後に変換を実行するかを指定します。このパラメータの値はNone(デフォルト値)、Scheduled、およびAfter Job です。
TriggerAfterJob 変換がその後で実行されるジョブを指定します。
TriggerTasks タスクID のカンマ区切りのリストを指定します。
ScheduledCron スケジューラーのcron 文字列を指定します。
SendEmailNotification 変換の完了後にE メール通知を送信します。E メール通知を送信するには、これをTrue に設定します。
NotifyEmailTo 通知を送信する宛先のE メールアドレスを指定します。
NotifyEmailSubject 通知E メールの件名を指定します。
EmailErrorOnly エラーが発生した場合にのみE メールを送信するように指定します.
Verbosity 変換のログのverbosity レベルを指定します。
Query# 変換に含めるSQL ステートメントの配列を指定します。Query#1、Query#2 などの構文で複数のクエリを指定します。

{ 
  "TransformationName": "MyNewTransformation", 
  "Connection": "DestinationConnection",
  "Query#1":"CREATE OR REPLACE TABLE dbo.Accounts_Deduplicated as (SELECT *, row_number() over (partition by id order by modified desc) as duplicate_rank FROM dbo.Accounts);",
  "Query#2": "DELETE FROM dbo.Accounts_Deduplicated	WHERE duplicate_rank > 1;"
}

変換を編集

次のコマンドは、既存の変換を編集します。

PUT http://MyDomain.com:8019/api.rsc/transformations(transformationname)

Note:実行中の変換を編集することはできません。

クエリパラメータ

名前 説明
TransformationName(必須) 編集する変換の名前を指定します。

ボディパラメータ

名前 説明
TransformationTriggerMode スケジュールに従って変換を実行するか、ジョブ後に変換を実行するかを指定します。このパラメータの値はNone(デフォルト値)、Scheduled、およびAfterJob です。
TriggerAfterJob 変換がその後で実行されるジョブを指定します。
TriggerTasks タスクID のカンマ区切りのリストを指定します。
ScheduledCron スケジューラーのcron 文字列を指定します。
SendEmailNotification 変換の完了後にE メール通知を送信します。E メール通知を送信するには、これをTrue に設定します。
NotifyEmailTo 通知を送信する宛先のE メールアドレスを指定します。
NotifyEmailSubject 通知E メールの件名を指定します。
EmailErrorOnly エラーが発生した場合にのみE メールを送信するように指定します.
Verbosity 変換のログのverbosity レベルを指定します。

{ 
  "TransformationTriggerMode": "Scheduled",
  "ScheduledCron": "0-30/5 * * * *"
}

変換を削除

次のコマンドは、Sync アプリケーションから変換を削除します。実行中の変換を削除することはできません。

DELETE http://MyDomain.com:8019/api.rsc/transformations(transformationname)

Note:実行中の変換を削除することはできません。

クエリパラメータ

名前 説明
TransformationName(必須) 削除する変換の名前を指定します。

ジョブまたは変換を実行

このコマンドは、指定されたジョブまたは変換を実行します。

POST http://MyDomain.com:8019/api.rsc/executeJob

ボディパラメータ

名前 説明
JobName(必須) 実行するジョブの名前を指定します。
WaitForResults ジョブが終了するまで結果を返すことを待つかどうかを指定します。デフォルト値はTrue です。
Timeout 前のジョブ実行が完了するまでの待ち時間(秒単位)を指定します。

{
  "JobName": "MyJob",
  "WaitForResults" : true,
  "Timeout": 30
}

ジョブでクエリを実行

次のコマンドは、ジョブ内で特定のクエリを実行します。

POST http://MyDomain.com:8019/api.rsc/executeQuery

Note:実行するクエリは、すでにジョブの一部である必要があります。

ボディパラメータ

名前 説明
JobName(必須) 実行するジョブの名前を指定します。
Query#(必須) 実行するQuery ステートメントの配列を指定します。Query#1、Query#2 などの構文で複数のクエリを指定します。
WaitForResults ジョブが終了するまで結果を返すことを待つかどうかを指定します。デフォルト値はTrue です。

{
  "JobName": "MyJob",
  "Query#1": "REPLICATE [Accounts]",
  "Query#2": "REPLICATE [Contacts]"
}

実行中のジョブをキャンセル

次のコマンドは、実行中のジョブをキャンセルします。

POST http://MyDomain.com:8019/api.rsc/cancelJob

ボディパラメータ

名前 説明
JobName(必須) キャンセルするジョブの名前を指定します。

{
  "JobName": "MyJob"
}

ジョブのステータスを取得

次のコマンドは、ジョブのステータスを取得します。

POST http://MyDomain.com:8019/api.rsc/getJobStatus

ボディパラメータ

名前 説明
JobName ステータスを取得するジョブの名前を指定します。ジョブ名が指定された場合、応答には、ジョブ内の各クエリの詳細が含まれます。

{
  "JobName":"MyJob"
}

ジョブの履歴を取得

次のコマンドは、ジョブの以前の実行の履歴を取得します。

GET http://MyDomain.com:8019/api.rsc/history

クエリパラメータ

名前 説明
JobName 履歴を取得するジョブの名前を指定します。

ジョブのログをダウンロード

次のコマンドは、ジョブのログファイル、またはログファイルのBase64 エンコードされたコンテンツをダウンロードします。

POST http://mydomain.com:8019/api.rsc/getLogs

ボディパラメータ

名前 説明
JobName(必須) ログを取得するジョブの名前を指定します。
Days(必須) 何日分のログファイルを含めるかを指定します。

ジョブのすべてのタスクをリスト

次のコマンドは、ジョブや変換に関連するタスクのリストを取得します。

GET http://MyDomain.com:8019/api.rsc/tasks(jobname)

クエリパラメータ

名前 説明
JobName(必須) ジョブ名を指定します。

ジョブまたは変換にタスクを追加

次のコマンドは、既存のジョブまたは変換にタスクを追加します。

POST http://MyDomain.com:8019/api.rsc/tasks

Note:Query パラメータかTable パラメータのいずれかを含める必要があります。

ボディパラメータ

名前 説明
JobName(必須) ジョブ名を指定します。
Query タスクとして設定するクエリを指定します。
Table レプリケートするデータソーステーブルを指定します。Sync はこのインプットからREPLICATE クエリを作成します。

タスクを更新

次のコマンドは、既存のジョブまたは変換のタスクを更新します。

PUT http://MyDomain.com:8019/api.rsc/tasks

ボディパラメータ

名前 説明
JobName(必須) ジョブ名を指定します。
TaskId(必須) 更新するタスクを指定します。
Query タスクとして設定するクエリを指定します。
Table レプリケートするデータソーステーブルを指定します。Sync はこのインプットからREPLICATE クエリを作成します。

タスクを削除

次のコマンドは、既存のジョブまたは変換からタスクを削除します。

DELETE http://MyDomain.com:8019/api.rsc/tasks

クエリパラメータ

名前 説明
JobName(必須) ジョブ名を指定します。
TaskId(必須) 削除するタスクを指定します。