REST APIリファレンス > データ取り込みおよびレプリケーションREST API > ファイル取り込みとレプリケーションREST API
  

ファイル取り込みとレプリケーションREST API

ファイル取り込みとレプリケーションリソースを使用して、ファイル取り込みとレプリケーションタスクを実行および監視します。
ファイル取り込みとレプリケーションリソースを使用する場合は、次のルールに注意してください。
注:
HTTPバージョンを自動的に含めるPostmanなどのツールを使用する場合は、URLにHTTPバージョンを入力しないでください。HTTPバージョンがURLに2回出現すると、要求が失敗します。

ジョブ

jobリソースを使用して、ファイル取り込みとレプリケーションジョブを開始します。また、jobリソースを使用して、ファイル取り込みとレプリケーションタスクのジョブステータスやジョブのログを取得することもできます。ファイル取り込みとレプリケーションREST APIバージョン1のtaskリソースを使用して、タスクのIDと名前を取得します。

RUN要求

ファイル取り込みとレプリケーションタスクジョブを開始するには、次のURIを使用します。
mftsaas/api/v1/job
要求に次の情報を含めます。
フィールド
タイプ
必須
説明
taskId
String
ファイル取り込みとレプリケーションのID。
taskName
String
-
ファイル取り込みとレプリケーションの名前。
ファイル取り込みとレプリケーションジョブを開始するときは、指定したコネクタに対して次のソースディレクトリキーとターゲットディレクトリキーを使用します。
コネクタ
srcDir
tgtDir
ローカル
sourceDirectory
targetDirectory
ftp,ftps,sftp
sourceDirectory
targetDirectory
gcs
sourceDirectory
gcsTargetLocation
hdfs
sourceDirectory
hdfsTargetLocation
adlsgen2
sourceDirectory
adlsGen2TargetLocation
s3
s3SourceLocation
s3TargetLocation
blob
blobSourceLocation
blobContainer
ジョブリソースREST APIを使用して、次のようなパラメータを上書きできます。
カテゴリ
パラメータ
ID
全般
ソース接続
sourceConnection
全般
ターゲット接続
targetConnection
全般
並列バッチログレベル
parallelBatch
全般
ログレベル
logLevel
ソース
ソースディレクトリ
sourceDirectory
ソース
ファイルパターン
filePattern
ソース
バッチサイズ
batchSize
ソース
サブフォルダのファイルを含む
includeSubfolder
ソース
重複するファイルをスキップ
checkDuplicate
ソース
ファイルの安定性を確認
fileStability
ソース
安定性確認間隔
stabilityCheckInterval
ターゲット
ターゲットディレクトリ
targetDirectory
注:
ソース接続パラメータとターゲット接続パラメータを上書きするには、接続IDを渡す必要があります。
次のサンプルを参照として使用して、ファイル取り込みとレプリケーションタスクジョブを開始します。
{
"taskId": "k1YHA1blhcBjbJvCIRQX2s",
"taskName": "localtolocal_param2"
}
次のサンプルを使用して、ユーザーインタフェースに渡されたソースオプション値を上書きします。
"variables": [{
"variable": "<string>",
"value": "<string>"
}]
次の例では、ジョブリソースREST APIの使用中に、ユーザーインタフェースで渡されたパラメータ値が、JSON POSTで指定された対応する値で上書きされます。
POST <serverUrl>/mftsaas/api/v1/job HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>

{
"taskId": "0efdVUEZeV2cB0quomeksd",
"taskName": "localtolocal_param2",
"parameters": {
"category": [{

"id": "General",

"parameter": [

{

"id":"sourceConnection",

"value":"AdvancedSFTPV2"

},

{

"id":"targetConnection",

"value":"AdvancedSFTPV2"

},

{

"id":"parallelBatch",

"value":"10"

},

{

"id":"logLevel",

"value":"DEBUG"

}

]

},{

"id": "Source",

"parameter": [{

"id": "sourceDirectory",

"value": "/root/test1"

},

{

"id":"filePatternType",

"value":"reg"

},

{

"id": "filePattern",

"value": "*.txt"

},

{

"id": "batchSize",

"value": "5"

},

{

"id":"includeSubfolder",

"value":"true"

},

{

"id":"checkDuplicate",

"value":"true"

},

{

"id":"fileStability",

"value":"true"

},

{

"id":"stabilityCheckInterval",

"value":"30"

}

]

},

{

"id": "Target",

"parameter": [{

"id": "targetDirectory",

"value": "/root/test2"

}]

}

]

}

}
次の例は、filenameを変数としてファイル取り込みとレプリケーションタスクを上書きする方法を示しています。
POST <serverUrl>/mftsaas/api/v1/job HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>

{
"taskId": "4m24k3UFWMkkqd55YDefIB",
"taskName": "R41_Local_Local",
"parameters": {
"category": [
{
"id": "Source",
"parameter": [
{
"id": "sourceDirectory",
"value": "/${Parentfolder}"
},
{
"id": "filePickupFilePath",
"value": "${filename}"
},
{
"id": "batchSize",
"value": "5"
}
]
},
{
"id": "Target",
"parameter": [
{
"id": "targetDirectory",
"value": "/${Parentfolder}/Target"
}
]
}
]
},
"variables": [
{
"variable": "Parentfolder",
"value": "root/Arun"
},
{
"variable": "filename",
"value": "filepath.txt"
}
]
}
次の例は、filelistを変数としてファイル取り込みとレプリケーションタスクを上書きする方法を示しています。
POST <serverUrl>/mftsaas/api/v1/job HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>

{
"taskId": "4m24k3UFWMkkqd55YDefIB",
"taskName": "R41_Local_Local",
"parameters": {
"category": [
{
"id": "Source",
"parameter": [
{
"id": "sourceDirectory",
"value": "/${Parentfolder}"
},
{
"id": "filePickupFileList",
"value": "${filelist}"
},
{
"id": "batchSize",
"value": "5"
}
]
},
{
"id": "Target",
"parameter": [
{
"id": "targetDirectory",
"value": "/${Parentfolder}/Target"
}
]
}
]
},
"variables": [
{
"variable": "Parentfolder",
"value": "root/Arun"
},
{
"variable": "filelist",
"value": "File1.txt,File2.txt,File3.txt,File4.txt"
}
]
}

RUN応答

成功すると、ファイル取り込みとレプリケーションはジョブの実行IDを返します。実行IDを使用して、ジョブのステータスを監視したり、ジョブのログファイルを要求したりします。
失敗すると、応答にエラーの理由が含まれます。

GETステータス要求

特定のファイル取り込みとレプリケーションタスクジョブのステータスを取得するには、次のURIを使用します。
mftsaas/api/v1/job/<runId>/status

GETステータス応答

成功すると、ファイル取り込みとレプリケーションはジョブのステータスと詳細を返します。これにはファイルのリストと、各ファイルの詳細およびステータスが含まれます。
失敗すると、応答にエラーの理由が含まれます。

GETジョブのログ要求

特定のファイル取り込みとレプリケーションタスクジョブのログファイルを取得するには、次のURIを使用します。
mftsaas/api/v1/job/<runId>/logs

GETジョブのログ応答

成功すると、ファイル取り込みとレプリケーションはジョブのログファイルを返します。
失敗すると、応答にエラーの理由が含まれます。

アクティビティログ

activityLogソースを使用して、タスクID、実行ID、またはその両方を使用して、完了したジョブの詳細を取得します。

REST APIバージョン1リソース

ファイル取り込みとレプリケーションタスクREST APIバージョン1リソースを使用して、タスクID、実行ID、またはその両方を使用して、完了したジョブの詳細を取得します。

GET要求

タスクIDを使用して完了したジョブの詳細を要求するには、次のURIを使用します。
mftsaas/api/v1/mitasks/activityLog?taskId=<taskId>
実行IDを使用してアクティブなジョブまたは完了したジョブの詳細を要求するには、次のURIを使用します。
mftsaas/api/v1/mitasks/activityLog?runId=<runId>
スキップする行数を指定するには、次のURIを使用します。
mftsaas/api/v1/mitasks/activityLog?taskId={{taskID}}&<offset>
行制限を指定するには、次のURIを使用します。
mftsaas/api/v1/mitasks/activityLog?taskId={{taskID}}&<rowLimit>
上記のオプションは組み合わせて使用することができます。例えば、次のようなURIを使用できます。
mftsaas/api/v1/mitasks/activityLog?runId=<runId>&taskId=<taskId>&rowLimit=<rowLimit>&offset=<offset>
activityLogのGET URIには、次の属性を使用できます。
フィールド
説明
taskId
ファイル取り込みとレプリケーションタスクID。
runId
ファイル取り込みとレプリケーションの実行ID。
offset
スキップする行数。例えば、最初の3行をスキップする場合に使用します。
rowLimit
返す最大行数。指定可能な最大数値は100です。デフォルトは25です。
注:
GET URIでtaskIdまたはrunId属性のいずれかを指定する必要があります。

GET応答

activityLogオブジェクトは、次の属性を返します。
フィールド
説明
id
ファイル取り込みとレプリケーションジョブID。
totaljobCount
ジョブの総数。
taskId
ファイル取り込みとレプリケーションタスクID。
runId
ファイル取り込みとレプリケーションの実行ID。
startedBy
ファイル取り込みとレプリケーションタスクを作成したユーザーの名前。
startTime
ジョブの開始時刻。協定世界時(UTC)を使用します。
endTime
ジョブの終了時刻。協定世界時(UTC)を使用します。
status
ジョブが正常に完了したかどうかを示します。
messageText
ジョブに関連付けられているエラーメッセージ。
successFiles
ソースからターゲットに正常に転送されたファイルの数。
failedFiles
ソースからターゲットに転送されなかったファイルの数。

GETの例

次の例は、タスクIDを使用してファイル取り込みとレプリケーションジョブの詳細を取得した応答を示しています。
{
"totalJobCount": 7,
"jobActivityLog": [
{
"id": 1000000200272,
"taskId": 89882,
"runId": 137205,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:55:13Z",
"endTime": "2021-09-13T09:55:15Z",
"status": "FAILED"
},
{
"id": 1000000200270,
"taskId": 89882,
"runId": 137204,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:52:44Z",
"endTime": "2021-09-13T09:53:02Z",
"status": "SUCCESS"
},
{
"id": 1000000200268,
"taskId": 89882,
"runId": 137202,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:49:55Z",
"endTime": "2021-09-13T09:50:12Z",
"status": "SUCCESS"
},
{
"id": 1000000200264,
"taskId": 89882,
"runId": 137199,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:43:27Z",
"endTime": "2021-09-13T09:43:42Z",
"status": "SUCCESS"
},
{
"id": 1000000200262,
"taskId": 89882,
"runId": 137198,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:13:58Z",
"endTime": "2021-09-13T09:14:04Z",
"status": "FAILED"
},
{
"id": 1000000200261,
"taskId": 89882,
"runId": 137197,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:13:09Z",
"endTime": "2021-09-13T09:13:28Z",
"status": "SUCCESS"
},
{
"id": 1000000200260,
"taskId": 89882,
"runId": 137196,
"startedBy": "b2b_pod1",
"startTime": "2021-09-13T09:12:21Z",
"endTime": "2021-09-13T09:12:35Z",
"status": "SUCCESS"
}
]
}
次の例は、実行IDを使用してファイル取り込みとレプリケーションジョブの詳細を取得した応答を示しています。
{
"jobActivityLog": [
{
"jobStatusResponse": {
"jobStatus": "FAILED",
"errorMessage": "[8008 - Create File List] Directory '/root/testnot' not found ",
"jobDetails": {
"jobNumber": 1000000200262,
"status": "Failed",
"startTime": "2021-09-13T09:13:58Z",
"endTime": "2021-09-13T09:14:04Z",
"messageText": "[8008 - Create File List] Directory '/root/testnot' not found ",
"successFiles": 0,
"failedFiles": 0,
"fileDetails": []
}
}
}
]
}


{
"jobActivityLog": [
{
"jobStatusResponse": {
"jobStatus": "FAILED",
"errorMessage": "[8008 - Create File List] Directory '/root/testnot' not found ",
"jobDetails": {
"jobNumber": 1000000200262,
"status": "Failed",
"startTime": "2021-09-13T09:13:58Z",
"endTime": "2021-09-13T09:14:04Z",
"messageText": "[8008 - Create File List] Directory '/root/testnot' not found ",
"successFiles": 0,
"failedFiles": 0,
"fileDetails": []
}
}
}
]
}

REST APIバージョン2リソース

ファイル取り込みとレプリケーションタスクREST APIバージョン2リソースを使用して、タスクID、実行ID、またはその両方を使用するか、どちらも使用せずに、特定のジョブタイプの詳細を取得します。

GET要求

ファイル取り込みとレプリケーションタスクのすべてのジョブの詳細を要求するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog
タスクIDを使用してすべてのジョブの詳細を要求するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?taskId=<taskId>
実行IDを使用してすべてのジョブの詳細を要求するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?runId=<runId>
スキップする行数を指定するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?taskId=<taskId>&offset=<offset>
行制限を指定するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?taskId=<taskId>&rowLimit<rowLimit>
ジョブタイプを指定するには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?jobType=<jobType>
表示するファイルイベントの数を指定し、ファイルイベントの制限を含めるには、次のURIを使用します。
mftsaas/api/v2/mitasks/activityLog?runId={{runID}}&fetchFileEvents=true&fileEventsLimit=10
上記のオプションは組み合わせて使用することができます。例えば、次のようなURIを使用できます。
mftsaas/api/v2/mitasks/activityLog?runId=<runId>&taskId=<taskId>&rowLimit=<rowLimit>&offset=<offset>
activityLogのGET URIには、次の属性を使用できます。
フィールド
説明
taskId
ファイル取り込みとレプリケーションタスクID。
runId
ファイル取り込みとレプリケーションの実行ID。
offset
スキップする行数。例えば、最初の3行をスキップする場合に使用します。
rowLimit
返す最大行数。指定可能な最大数値は100です。デフォルトは25です。
jobType
応答に含めるジョブのタイプ。次のいずれかのオプションを使用できます。
  • - すべて
  • - 完了
  • - アクティブ
デフォルトは[すべて]です。
fetchFileEvents
ファイルイベントを表示するかどうかを決定します。次のいずれかの値を設定します。
  • - true。ファイル取り込みとレプリケーションタスクはジョブファイルイベントを表示します。
  • - false。ファイル取り込みとレプリケーションタスクはジョブファイルイベントを表示しません。
デフォルトはfalseです。
fileEventsLimit
返されるファイルイベントの数。fetchFileEventstrueに設定されている場合に適用されます。指定可能な最大数値は1000です。デフォルトは100です。

GET応答

activityLogオブジェクトは、次の属性を返します。
フィールド
説明
totaljobCount
ジョブの総数。
taskId
ファイル取り込みとレプリケーションタスクID。
runId
ファイル取り込みとレプリケーションの実行ID。
startedBy
ファイル取り込みとレプリケーションタスクを作成したユーザーの名前。
startTime
ジョブの開始時刻。協定世界時(UTC)を使用します。
endTime
ジョブの終了時刻。協定世界時(UTC)を使用します。
status
ジョブが正常に完了したかどうかを示します。
logLocation
セッションログの場所。
messageText
ジョブのステータスに関連付けられたコメント。
successFiles
ソースからターゲットに正常に転送されたファイルの数。
failedFiles
ソースからターゲットに転送されなかったファイルの数。

GETの例

次の例は、タスクIDを使用してファイル取り込みとレプリケーションジョブの詳細を取得する要求への応答を示しています。
{
"totalJobCount": 1,
"jobActivityLog": [
{
"taskId": "gS7ivoMYoOli6v7TR7MIIe",
"jobs": [
{
"runId": 490176,
"startedBy": "b2b_pod1",
"startTime": "2023-05-08T00:20:14Z",
"endTime": "2023-05-08T00:20:19Z",
"status": "SUCCESS"
"logLocation": "data/taskLogs/2023-05-08/1000000916286.log"
"messageText": "Job completed",
"successFiles": 8,
"failedFiles": 0

}
}
]
}
次の例は、fetchFileEventsがtrueに設定されているファイル取り込みとレプリケーションジョブの詳細を取得する要求への応答を示しています。
{
"totalJobCount": 1,
"jobActivityLog": [
{
"taskId": "34owubT0kvFe18LdELjXop",
"jobs": [
{
"runId": 496420,
"startedBy": "atl",
"startTime": "2023-05-08T07:25:25Z",
"endTime": "2023-05-08T07:25:54Z",
"status": "SUCCESS",
"logLocation": "data/taskLogs/2023-05-08/1000000855619.log",
"messageText": "Job completed normally",
"successFiles": 1003,
"failedFiles": 0,
"fileDetails": [
{
"path": "/root/Arun/May/Target/File_5.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 1,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_12.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_2.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_8.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_10.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 1,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_14.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 1,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_16.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_18.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_6.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
},
{
"path": "/root/Arun/May/Target/File_13.txt",
"size": 12,
"lastModified": "2023-05-04T09:00:30Z",
"startTime": "2023-05-08T07:25:12Z",
"status": "SUCCESS",
"duration": 0,
"transferDirection": "UPLOAD"
}
]
}
]
}
]
}

タスク

tasksリソースを使用して、ファイル取り込みとレプリケーションタスクを作成、更新、削除、表示します。
ファイル取り込みとレプリケーションタスクの実行と監視には、一連の要求および応答が含まれます。ファイル取り込みとレプリケーションタスクを実行する方法は次のとおりです。

ファイル取り込みとレプリケーションタスクの表示

GET要求を使用してファイル取り込みとレプリケーションタスクを表示します。

GET要求

特定のファイル取り込みとレプリケーションタスクの詳細を表示するには、次のURIにファイル取り込みとレプリケーションを含めます。
mftsaas/api/v1/mitasks/{{TASK-ID}}
組織のすべてのファイル取り込みとレプリケーションタスクの詳細を表示するには、ファイル取り込みとレプリケーションIDを省略します。
mftsaas/api/v1/mitasks
例えば、以下の要求を使用します。
GET https://na1.dm-us.informaticacloud.com/mftsaas/api/v1/mitasks HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>

GET応答

成功した場合はタスクオブジェクトを、エラーが発生した場合はエラーオブジェクトを返します。
タスクオブジェクトには、組織のそれぞれのファイル取り込みとレプリケーションタスクについて以下の情報が含まれます。
フィールド
タイプ
説明
taskId
String
タスクに関連付けられているID番号。
taskName
String
タスクの名前。
description
String
タスクの説明。
location
String
タスクが存在するプロジェクトおよびフォルダパス。
createTime
Date/Time
タスクが作成された時刻。
updateTime
Date/Time
タスクが最後に更新された時刻。
注:
応答に含まれる作成日時と更新日時はUTC時間です。

すべてのファイル取り込みとレプリケーションタスクを表示するGET応答の例

次の応答の例は、組織に3つのファイル取り込みとレプリケーションタスクがあることを示しています。

{
"mitasks": [
{
"id": "1ONE5Vewzztl0tuKR0EDum",
"name": "A01_UMAR_MITASK2318",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ftps",
"type": "Advanced FTPS"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T11:17:49Z"
},
{
"id": "9D1tGkAxopJeFmUWoG4s48",
"name": "A01_UMAR_MITASK3354",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B00000000000M",
"name": "AzureBlob",
"type": "Azure Blob"
},
"targetConnection": {
"id": "0100000B00000000000L",
"name": "SFTP_Conn",
"type": "Advanced SFTP"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T06:42:19Z"
},
{
"id": "4hcTFqKVOQrl1z4d6pGUMP",
"name": "A01_UMAR_MITASK5124",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B0000000004IO",
"name": "S3",
"type": "AmazonS3"
},
"targetConnection": {
"id": "",
"name": "",
"type": "local"
},
"agentGroupId": "01000025000000000002",
"updatedTime": "2019-01-30T06:35:01Z"
}]
}

ファイルピックアップオプションとしてファイルパターンを使用したファイル取り込みとレプリケーションタスクを示すGET応答の例

次の応答の例は、ファイル取り込みとレプリケーションタスクの詳細を示しています。
IDS-SESSION-ID:{{IDS-SESSION-ID}}
Accept:application/json
{
"id": "j9OLB12nqYObykdFSUMpO2",
"name": "FTPSrcTarget",
"location": {
"projectId": "dNC6zbp2lI8ghrKPo6hpwn",
"projectName": "Hardening"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B00000000028M",
"name": "CCI_FTPS",
"type": "Advanced FTPS V2"
},
"targetConnection": {
"id": "0100000B0000000001JR",
"name": "CCI_FTP_Lin",
"type": "Advanced FTP V2"
},
"sourceParameters": {
"filePattern": "*.txt",
"sourceTransferMode": "AUTO",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "/root/suraj/qa/test/automation/RSFiles",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"
},
"targetParameters": {
"fileExistsAction": "APPEND_TIMESTAMP",
"targetDirectory": "/",
"targetTransferMode": "AUTO"
},
"agentGroupId": "01000025000000000003",
"createdTime": "2019-02-04T10:34:08Z",
"updatedTime": "2019-02-04T11:04:02Z",
"filePickupOption": "PATTERN"
}

ファイルピックアップオプションとしてファイルリスト(ファイルパス)を使用したファイル取り込みとレプリケーションタスクを示すGET応答の例

次の応答の例は、filePickupOptionタイプをFILELISTとして、そのsourceParametersにfilePickupFilePathを指定したファイル取り込みとレプリケーションタスクを示しています。このタスクは指定されたピックアップファイルを読み取って、処理する必要のあるファイルを識別することを示しています。

{
"id": "aFHWKrr1RwycuBRBLTtt2t",
"name": "FilePath_CheckStability",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePickupFilePath": "test.txt",
"sourceDirectory": "/root/test",
"checkDuplicate": "false",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP",
"filepickupByName": "FILEPATH",
"batchSize": "5",
"fileStability": "true",
"stabilityCheckInterval": "60"
},
"targetParameters": {
"fileExistsAction": "OVERWRITE",
"targetDirectory": "/root/testCheckStability"
},
"agentGroupId": "01001D25000000000002",
"createdTime": "2021-08-13T09:38:03Z",
"updatedTime": "2021-08-13T09:39:02Z",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST"
}

ファイルピックアップオプションとしてファイルリストを使用したファイル取り込みとレプリケーションタスクを示すGET応答の例

次の応答の例は、filePickupOptionタイプをFILELISTとし、filepickupByNameをLISTOFFILESとして、そのsourceParametersにfilePickupFileListを指定したファイル取り込みとレプリケーションタスクを示しています。このタスクは処理する指定されたピックアップファイルを読み取って、識別することを示しています。

{
"id": "2bTlAolXbAGlE7I5qauSAW",
"name": "DedupFilelist_pushdown",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "01001D0B0000000005PP",
"name": "ADLSGen2",
"type": "Azure Data Lake Gen2"
},
"targetConnection": {
"id": "01001D0B0000000005PU",
"name": "AzureDW_Gen2",
"type": "Azure DW"
},
"sourceParameters": {
"sourceDirectory": "/B2B/MI",
"checkDuplicate": "true",
"postPickupAction": "KEEP",
"filepickupByName": "LISTOFFILES",
"blockSize": "8388608",
"filePickupFileList": "File1.txt,File2.txt",
"batchSize": "5",
"timeoutInterval": "60",
"fileStability": "true",
"stabilityCheckInterval": "60"
},
"targetParameters": {
"commandType": "auto",
"targetTableName": "test1234",
"isPushdown": "true",
"ingestionMethod": "polybase",
"targetSchemaName": "testing",
"isTruncateTarget": "true"
},
"agentGroupId": "01001D25000000000002",
"createdTime": "2021-04-29T08:47:57Z",
"updatedTime": "2021-04-29T08:47:57Z",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST"
}

ファイル取り込みとレプリケーションタスクの作成

POST要求を使用してファイル取り込みとレプリケーションタスクを作成します。

POST要求

APIを使用してファイル取り込みとレプリケーションタスクを作成するには、次のURIを使用します。
mftsaas/api/v1/mitasks
要求に次のフィールドを含めます。
フィールド
タイプ
必須
説明
name
String
タスクの名前。
location
String
-
プロジェクトの場所。
projectId
String
-
プロジェクトに関連付けられているID番号。
projectName
String
-
プロジェクトの名前。
description
String
-
タスクの説明。
sourceConnection
String
-
ファイルの転送元のディレクトリです。
sourceType
String
ファイルの転送タイプを決定します。次のいずれかのオプションを入力します。
  • - CONNECTION。ソースとして接続を使用します。
  • - FILELISTENER。ソースとしてファイルリスナを使用します。
includesubfolder
String
-
サブフォルダのファイルを転送に含めるかどうかを決定します。この値をtrueに設定すると、定義したソースディレクトリのすべてのサブフォルダからファイルが転送されます。値はtrueまたはfalseです。
checkDuplicate
String
-
重複するファイルをチェックするかどうかを決定します。値はtrueまたはfalseです。この値をtrueに設定すると、重複するファイルがチェックされてファイル転送を拒否されます。この値をfalseに設定すると、すべてのファイルが転送されます。
filePickupOption
String
ファイルのピックアップ方法を決定します。次のいずれかのオプションを入力します。
  • - FILELISTファイル取り込みとレプリケーションタスクは、ファイルリストに基づいてファイルをピックアップします。
  • - PATTERNファイル取り込みとレプリケーションタスクは、パターン別にファイルをピックアップします。
allowConcurrency
String
-
複数のジョブを同時に実行するかどうかを決定します。複数のジョブを同時に実行する場合は、値をtrueに設定します。しない場合は、値をfalseに設定します。
警告:
ターゲットに重複ファイルが含まれている場合、同時ジョブを実行すると予期しない結果が生じる可能性があります。
filePatternType
String
これは、filePickupOptionがPATTERNの場合に適用されます。転送するファイルの選択に使用するファイルパターンタイプです。次のいずれかのオプションを入力します。
  • - wildcard
  • - regex
filePattern
String
選択したファイルパターンに応じてファイルパターンタイプを入力します。
  • - wildcard。以下のワイルドカード文字フィルタを使用できます。
    • - アスタリスク(*)はどんな数の文字とも一致します。
    • - 疑問符(?)は1つの文字と一致します。
  • - regex。正規表現を使用してファイルパターンを照合します。以下に例を示します。
    • - 次の構文を使用すると、名前にout、foo、bazを含むファイルを除くすべてのファイルをリスニングします。^(?!.*(?:out|baz|foo)).*$ all except
    • - 次の構文を使用すると、拡張子がdoc、docx、pdfのすべてのファイルをリスニングします。([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$
filepickupByName
String
これは、filePickupOptionがFILELISTの場合に適用されます。次のいずれかのオプションを入力します。
  • - filepath。ピックアップするファイルのリストを含むパスを指定し、ファイルパスを入力します。
  • - listoffiles。ピックアップするファイルのリストを指定し、ファイル名のカンマ区切りリストを入力します。ファイル名を指定する前後にスペースがないことを確認します。
fileStability
Boolean
-
ファイルをピックアップする前に、ファイルが安定しているかどうかをタスクで確認するかどうかを決定します。次のいずれかの値を入力します。
  • - true。ファイル取り込みとレプリケーションタスクは、ファイルをピックアップする前に、ファイルが安定しているかどうかを確認します。
  • - false。ファイル取り込みとレプリケーションタスクは、ファイルをピックアップする前に、ファイルが安定しているかどうかを確認しません。
デフォルトはfalseです。
stabilityCheckInterval
Int
-
ファイル取り込みとレプリケーションタスクがファイルの安定性を確認するために待機する時間(秒単位)。
fileStabilityオプションがtrueに設定されている場合にのみ、stabilityCheckIntervalフィールドに値を指定できます。
安定性確認間隔は、10秒から300秒の範囲です。
postPickupAction
String
-
ファイル転送後のソースファイルの処理を決定します。選択可能なオプションは、以下のとおりです。
  • - KEEP。ソースディレクトリ内でファイルを保持します。
  • - DELETE。ソースディレクトリからファイルを削除します。
  • - RENAME。ソースディレクトリ内でファイルの名前を変更します。ファイル名を変更する場合は、ファイル取り込みとレプリケーションがファイル名に追加するファイル名の接尾辞を指定する必要があります。
  • - ARCHIVE。別の場所にファイルをアーカイブします。アーカイブディレクトリを指定する必要があります。
targetConnection
String
ファイルの転送先ディレクトリの詳細です。
taskActions
String
-
ファイル取り込みとレプリケーションタスクのファイルを処理するアクション。複数のアクションを追加する場合、ファイル取り込みとレプリケーションはファイルを順番に処理します。
actions
ファイル処理アクション。
次のファイル処理アクションを入力します。
  • - ファイルを圧縮するには、Compressionと入力します。
  • - ファイルを圧縮解除するには、Decompressionと入力します。
  • - ファイルを暗号化するには、Encryptionと入力します。
  • - ファイルを復号化するには、Decryptionと入力します。
  • - 複数のフォルダから単一のフォルダにファイルを移動し、ターゲットディレクトリ内のファイルの名前を変更するには、File Operationsと入力します。
  • - ICAPプロトコルを使用してファイルにウイルスがないかどうかをスキャンするには、Virus Scanと入力します。
action type
追加するアクションに応じたアクションタイプを入力します。
ファイルを圧縮するには、次のいずれかの方法を使用します。
  • - Zip
  • - Tar
  • - Gzip
  • - Bzip2
ファイルを圧縮解除するには、次のいずれかの方法を使用します。
  • - Unzip
  • - Untar
  • - Gunzip
  • - Bunzip2
ファイルを暗号化するには、PGPを追加します。プロパティにキーIDを入力します。
注:
ファイル取り込みとレプリケーションタスクは、ファイルの暗号化にPGP方式を使用します。CLIを使用してキーリングを生成します。[キーID]にキーリングを入力します。キーリングCLIの詳細については、『タスク』のキーリングコマンドリファレンスを参照してください。
ファイルを復号化するには、PGPを追加します。プロパティにキーパスフレーズを入力します。
注:
ファイル取り込みとレプリケーションタスクは、ファイルの暗号化にPGP方式を使用します。CLIを使用してキーパスフレーズを生成します。[キーパスフレーズ]にキーパスフレーズを入力します。キーリングCLIの詳細については、『タスク』のキーリングコマンドリファレンスを参照してください。

POST要求の例

ファイルピックアップオプションとしてファイルパターンを使用してファイル取り込みとレプリケーションタスクを作成する際にはこの例を参考にしてください。
POST <serverURL>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "Green Green v2",
"location": {
"projectId": "9JDNOBX9M31e2AD1dIUv6M",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePattern": "*.txt",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "C:\\Monitor",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"

},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"

},
"agentGroupId": "01000025000000000002",
"filePickupOption": "PATTERN",
"logLevel": "NORMAL",
"allowConcurrency": "true",
taskActions":[
{
"action": "Compression",
"actionType": "Zip",
"properties": {}
}
]
}
ファイルピックアップオプションとしてファイルパスを使用してファイル取り込みとレプリケーションタスクを作成する際にはこの例を参考にしてください。
POST <serverURL>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "FilePath_RestAPI1",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePickupFilePath": "test.txt",
"sourceDirectory": "/root/test",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP",
"filepickupByName": "FILEPATH",
"batchSize": "5"

},
"targetParameters": {
"fileExistsAction": "OVERWRITE",
"targetDirectory": "/root/testCheckStability"
},
"agentGroupId": "01001D25000000000002",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST",
"allowConcurrency": "true"
}
ファイルピックアップオプションとしてファイルリストを使用してファイル取り込みとレプリケーションタスクを作成する際にはこの例を参考にしてください。
POST <serverURL>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{

"name": "DedupFilelist_RestAPI",
"location": {
"projectId": "0ggRhrI8ZziguyBxHBzuG0",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "01001D0B0000000005PP",
"name": "ADLSGen2",
"type": "Azure Data Lake Gen2"
},
"targetConnection": {
"id": "01001D0B0000000005PU",
"name": "AzureDW_Gen2",
"type": "Azure DW"
},
"sourceParameters": {
"sourceDirectory": "/B2B/MI",
"checkDuplicate": "true",
"postPickupAction": "KEEP",
"filepickupByName": "LISTOFFILES",
"blockSize": "8388608",
"filePickupFileList": "File1.txt,File2.txt",
"batchSize": "5",
"timeoutInterval": "60",
"fileStability": "true",
"stabilityCheckInterval": "60"

},
"targetParameters": {
"commandType": "auto",
"targetTableName": "test1234",
"isPushdown": "true",
"ingestionMethod": "polybase",
"targetSchemaName": "testing",
"isTruncateTarget": "true"
},
"agentGroupId": "01001D25000000000002",
"logLevel": "NORMAL",
"filePickupOption": "FILELIST",
"allowConcurrency": "true"
}

POST応答の例

要求が成功した場合、次の例のような応答を受信します。

{
"id": "cEMWKpibm44bNf5aMjbJ4U",
"name": "Green Green v2",
"location": {
"projectId": "9JDNOBX9M31e2AD1dIUv6M",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePattern": "*.txt",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "C:\\Monitor",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"

},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"

},
"agentGroupId": "01000025000000000002",
"createdTime": "2018-08-27T07:03:32Z",
"updatedTime": "2018-08-29T12:14:58Z""
taskActions":[
{
"action": "Compression",
"actionType": "Zip",
"properties": {}
}
]
}
}
注:
応答に表示される作成日時と更新日時はUTC時間です。

ファイル取り込みとレプリケーションタスクの更新

PUT要求を使用してファイル取り込みとレプリケーションタスクを更新します。

PUT要求

ファイル取り込みとレプリケーションタスクを更新するには、次のURIを使用します。
mftsaas/api/v1/mitasks/<taskID>
PUT要求に次のフィールドを含めます。
フィールド
タイプ
必須
説明
id
String
-
タスクのID番号。
name
String
タスクの名前。
description
String
-
タスクの説明。
sourceType
String
ファイルの転送タイプを決定します。次のいずれかのオプションを入力します。
  • - CONNECTION。ソースとして接続を使用します。
  • - FILELISTENER。ソースとしてファイルリスナを使用します。
sourceConnection
String
-
ファイルの転送元のディレクトリです。
includeSubfolder
String
-
値はtrueまたはfalseです。この値をtrueに設定すると、定義したソースディレクトリのすべてのサブフォルダからファイルが転送されます。
checkDuplicate
String
-
値はtrueまたはfalseです。この値をtrueに設定すると、重複するファイルがチェックされてファイル転送を拒否されます。この値をfalseに設定すると、すべてのファイルが転送されます。
filePatternType
String
転送するファイルの選択に使用するファイル名パターンです。次のいずれかのオプションを入力します。
  • - Wildcard
  • - Regex
filePattern
String
選択したファイルパターンに応じてパターンタイプを入力します。
  • - wildcard。以下のワイルドカード文字フィルタを使用できます。
    • - アスタリスク(*)はどんな数の文字とも一致します。
    • - 疑問符(?)は1つの文字と一致します。
  • - Regex。正規表現を使用してファイルパターンを照合します。以下に例を示します。
    • - 次の構文を使用すると、名前にout、foo、bazを含むファイルを除くすべてのファイルをリスニングします。^(?!.*(?:out|baz|foo)).*$ à all except
    • - 次の構文を使用すると、拡張子がdoc、docx、pdfのすべてのファイルをリスニングします。([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$ à
fileStability
Boolean
-
ファイルをピックアップする前に、ファイルが安定しているかどうかをタスクで確認するかどうかを決定します。次のいずれかの値を入力します。
  • - true。ファイル取り込みとレプリケーションタスクは、ファイルをピックアップする前に、ファイルが安定しているかどうかを確認します。
  • - false。ファイル取り込みとレプリケーションタスクは、ファイルをピックアップする前に、ファイルが安定しているかどうかを確認しません。
デフォルトはfalseです。
stabilityCheckInterval
Int
-
ファイル取り込みとレプリケーションタスクがファイルの安定性を確認するために待機する時間(秒単位)。
fileStabilityオプションがtrueに設定されている場合にのみ、stabilityCheckIntervalフィールドに値を指定できます。
安定性確認間隔は、10秒から300秒の範囲です。
postPickupAction
String
-
ファイル転送後のソースファイルの処理を決定します。選択可能なオプションは、以下のとおりです。
  • - KEEP。ソースディレクトリ内でファイルを保持します。
  • - DELETE。ソースディレクトリからファイルを削除します。
  • - RENAME。ソースディレクトリ内でファイルの名前を変更します。ファイル名を変更する場合は、ファイル取り込みとレプリケーションがファイル名に追加するファイル名の接尾辞を指定する必要があります。
  • - ARCHIVE。別の場所にファイルをアーカイブします。アーカイブディレクトリを指定する必要があります。
targetConnection
String
ファイルの転送先ディレクトリの詳細です。

PUT要求の例

ファイル取り込みとレプリケーションタスクを更新する際にはこの例を参考にしてください。
PUT <serverUrl>/public/core/v1/mitasks
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"id": "cEMWKpibm44bNf5aMjbJ4U",
"name": "Green Green v2",
"description": "Green Green v2 Description",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePattern": "*.txt",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "C:\\Monitor",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"

},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"
},
"agentGroupId": "01000025000000000002
}

PUT応答の例

要求が成功した場合、次の例のような応答を受信します。
{
"id": "cEMWKpibm44bNf5aMjbJ4U",
"name": "Green Green v2",
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"sourceParameters": {
"filePattern": "*.txt",
"filePatternType": "WILDCARD",
"includeSubfolder": "false",
"sourceDirectory": "C:\\Monitor",
"checkDuplicate": "false",
"fileStability": "true",
"stabilityCheckInterval": "60",
"postPickupAction": "KEEP"

},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ADLS",
"type": "Azure Data Lake"
},
"targetParameters": {
"adlsTargetLocation": "/satyen/green"

},
"agentGroupId": "01000025000000000002",
"createdTime": "2018-08-27T07:03:32Z",
"updatedTime": "2018-08-29T12:14:58Z"
}

注:
応答に表示される作成日時と更新日時はUTC時間です。

ファイル取り込みとレプリケーションタスクの場所の表示

GET要求を使用して、ファイル取り込みとレプリケーションタスクの場所を表示します。

GET要求

次のURIを使用して、ファイル取り込みとレプリケーションタスクの場所を取得します。
/api/v1/mitasks?resolveLocation=true

GET応答の例

ファイル取り込みとレプリケーションタスクのファイルの場所を取得する要求が成功した場合、次の例のような応答を受け取ります。
{
"miTasks": [
{
"id": "1ONE5Vewzztl0tuKR0EDum",
"name": "A01_UMAR_MITASK2318",
"location": {
"folderId": "digFZU6HMo4gCKYghtQvgD",
"folderName": "A_01_UMAR",
"projectId": "503RTpKDSSLlwmkwTXL0Qx",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "",
"name": "",
"type": "local"
},
"targetConnection": {
"id": "0100000B000000000002",
"name": "ftps",
"type": "Advanced FTPS"
},
"agentGroupId": "01000025000000000002",
"createdTime": "2019-01-28T09:54:53Z",
"updatedTime": "2019-01-30T11:17:49Z"
},
{
"id": "9D1tGkAxopJeFmUWoG4s48",
"name": "A01_UMAR_MITASK3354",
"location": {
"folderId": "digFZU6HMo4gCKYghtQvgD",
"folderName": "A_01_UMAR",
"projectId": "503RTpKDSSLlwmkwTXL0Qx",
"projectName": "Default"
},
"description": "",
"sourceType": "CONNECTION",
"sourceConnection": {
"id": "0100000B00000000000M",
"name": "AzureBlob",
"type": "Azure Blob"
},
"targetConnection": {
"id": "0100000B00000000000L",
"name": "SFTP_Conn",
"type": "Advanced SFTP"
},
"agentGroupId": "01000025000000000002",
"createdTime": "2019-01-30T06:36:28Z",
"updatedTime": "2019-01-30T06:42:20Z"
}
]
}

ファイル取り込みとレプリケーションタスクの削除

DELETE要求を使用してファイル取り込みとレプリケーションタスクを削除します。

DELETE要求

ファイル取り込みとレプリケーションタスクを削除するには、次のURIにAPIを使用してそのタスクのタスクIDを含めます。
mftsaas/api/v1/mitasks/<taskID>