REST APIリファレンス > データ統合 REST API > タスクフロー
  

タスクフロー

REST APIを使用して、タスクフローのステータスを取得し、複数のタスクフローを同時にパブリッシュできます。
タスクフローをAPIとして実行する方法に関する詳細については、「Running a taskflow as an API」を参照してください。

ステータスリソースを使用したタスクフローステータスの監視

Monitorでジョブの結果を表示する特権がある場合は、ステータスリソースを使用してタスクフローのステータスを取得できます。タスクフローの実行IDをパスパラメータとして使用するか、実行ID、実行ステータス、開始時刻、終了時刻、オフセット、行制限などのクエリパラメータを使用して、タスクフローのステータスを取得できます。

GET要求

実行IDをパスパラメータとして使用してタスクフローのステータスを取得するには、次のURIを使用します。
<Informatica Intelligent Cloud Services URL>/active-bpel/services/tf/status/<run ID>
以下に例を示します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status/20262247166322413568
クエリパラメータを使用して、複数のタスクフローのステータスを取得することもできます。クエリパラメータでは大文字と小文字が区別されます。
GET要求URIには次のオプションのクエリパラメータを使用できます。
フィールド
説明
runId
タスクフローの実行ID。
例えば、実行IDを持つ特定のタスクフローのステータスを取得するには、次のURIを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?runId=20262247166322413568
runStatus
タスクフローの実行ステータス。ステータスは、Success、Failed、Suspended、またはRunningとして指定できます。
例えば、過去24時間に正常に実行されたすべてのタスクフローのステータスを取得するには、次のURLを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?runStatus=Success
startTime
タスクフロー実行の開始時刻は、日付と時刻の範囲の開始時刻になります。協定世界時(UTC)を使用します。
例えば、2021-06-10T05:48:28Z以降に開始されたすべてのタスクフローのステータスを取得するには、次のURLを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?startTime=2021-06-10T05:48:28Z
endTime
タスクフロー実行の開始時刻は、日付と時刻の範囲の終了時刻になります。協定世界時(UTC)を使用します。
例えば、2021-06-10T05:48:28Zから2021-06-11T05:48:28Zの間に開始されたすべてのタスクフローのステータスを取得するには、次のURLを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?startTime=2021-06-10T05:48:28Z&endTime=2021-06-11T05:48:28Z
offset
スキップする行数。例えば、最初の3行をスキップする場合に使用します。
rowLimit
返す行の最大数。指定可能な最大数値は50です。このパラメータを省略すると、クエリは使用可能な行をすべて返します(最大10行)。
これらのクエリパラメータを任意に組み合わせて使用することで、複数のタスクフローのステータスを取得できます。例えば、次のようなURIを使用できます。
<Informatica Intelligent Cloud Services URL>/active-bpel/services/tf/status?startTime=<startTime>&runStatus=<runStatus>&endTime=<endTime>&rowLimit=<rowLimit>
注: startTimeまたはendTimeパラメータがクエリで使用されていない場合、応答には過去24時間に実行されたタスクフローに関するステータス情報が含まれます。
次のいずれかの方法でGET要求を認証します。
JSON形式を使用して要求を送信します。ヘッダーに次の行を含めます: Accept: application/json

GET応答

成功した場合はタスクフローステータス情報が、エラーが発生した場合はエラーオブジェクトが返されます。
成功した場合は、タスクフローの次のステータス情報が返されます。
フィールド
タイプ
説明
assetName
String
タスクフローの名前。
APIまたはRunAJobユーティリティを使用してタスクフローにカスタム名を追加した場合、タスクフロー名にはカスタム名も含まれます。
assetType
String
オブジェクトのタイプ。TASKFLOW値が返されます。
duration
String
タスクフローが完了、中断、失敗、または停止するまでの実行時間(秒)。
endTime
Date/Time
タスクフローの実行が終了した時刻。協定世界時(UTC)を使用します。
location
String
タスクフローが配置されたプロジェクトおよびフォルダパス。
runId
Long
タスクフローの実行ID。
runtimeEnv
String
タスクフローが実行するランタイム環境のID。
runtimeEnvName
String
タスクフローが実行するランタイム環境の名前。
startTime
Date/Time
タスクフローの実行が開始した時刻。協定世界時(UTC)を使用します。
startedBy
String
タスクフローを開始したユーザー。
status
String
タスクフローの実行ステータス。
タスクフローのステータスを示す、次の値のいずれかを返します。
  • - RUNNING。タスクフローは実行中です。
  • - SUCCESS。タスクフローは正常に完了しました。
  • - FAILED。エラーが発生したため、タスクフローは完了しませんでした。
  • - SUSPENDED。タスクフローの実行は中断しました。
サブタスク
String
タスクフローに含まれるサブタスクの数。
updateTime
Date/Time
タスクフローの実行ステータスが更新された最終時刻。協定世界時(UTC)を使用します。
errorMessage
String
エラーメッセージの文字列。
subtaskDetails
String
タスクフロー内のすべてのサブタスクのステータスの詳細を含むオブジェクト。
詳細
String
ステータスの詳細。タスクオブジェクト内の各サブタスクのステータス情報を含みます。
タスク
Collection
タスクフローが含むすべてのサブタスクのステータス情報。
タスクオブジェクトには、タスクフローが含む各サブタスクの次のステータス情報が含まれます。
フィールド
タイプ
説明
assetName
String
タスクフロー内のサブタスクの名前。
assetType
String
サブタスクのタイプ。次のいずれかの値を返します。
  • - MTT。マッピングタスク。
  • - DSS。同期タスク。
duration
String
サブタスクが完了、失敗、または停止するまでの実行時間(秒)。
endTime
Date/Time
サブタスクの実行が終了した時刻。協定世界時(UTC)を使用します。
errorMessage
String
エラーメッセージの文字列。
errorRows
String
サブタスクでエラーが発生した行の合計数。
location
String
サブタスクが配置されたプロジェクトおよびフォルダパス。
rowsProcessed
String
サブタスクで処理された行の合計数。
runId
Long
サブタスクの実行ID。
runtimeEnv
String
サブタスクが実行するランタイム環境のID。
runtimeEnvName
String
サブタスクが実行するランタイム環境の名前。
startTime
Date/Time
サブタスクの実行が開始した時刻。協定世界時(UTC)を使用します。
startedBy
String
タスクを開始したユーザー。このフィールドはタスクフローを開始したユーザーと同じです。
status
String
サブタスクの実行ステータス。
サブタスクのステータスを示す、次の値のいずれかを返します。
  • - QUEUED。サブタスクはSecure Agentでキューに追加されますが、開始される事はありません。
  • - STARTING。サブタスクは開始中です。
  • - RUNNING。サブタスクは実行中です。
  • - COMPLETED。サブタスクが正常に完了しました。
  • - SUSPENDED。サブタスクフローが中断されました。
  • - STOPPED。タスクフローは実行を停止しているため、サブタスクを開始出来ません。
  • - WARNING。サブタスクがエラーで完了しました。
  • - FAILED。エラーが発生したため、サブタスクは完了しませんでした。
サブタスク
String
将来の使用のために予約済み。このフィールドがサブタスクに返されるとき、値は常に0です。
successRows
String
サブタスクで正常に処理された行の合計数。
updateTime
Date/Time
サブタスクの実行ステータスが更新された最終時刻。協定世界時(UTC)を使用します。
次のいずれかの応答を受け取る場合があります。
応答
説明
消去されたログ
インスタンスのログが消去されている場合、応答は次のようになります。
{ "status": "No status available." }
HTTPステータスコードは200 OKです。
無効な実行ID
実行IDが無効な場合、応答は次のようになります。
{
"error": "CMN_003-Bad request. Error message - The property '<runID>', used in a query expression, is not defined in type 'OData.job-log-service.JobLogEntry'."
}
HTTPステータスコードは400 Bad Request(From JLS)です。
無効なフィルタ句
パラメータIDが無効な場合、応答は次のようになります。
{
"error": "JLS_007-Invalid Filter clause in OData request. RawURI = http://internal-na1-elb.infacloudops.net:443/jls-di/internal/api/v1"
}
HTTPステータスコードは400 Bad Request(From JLS)です。
使用できないJLSサービス
JLSサービスが使用できない場合、応答は次のようになります。
{ "error": "503-Service Unavailable." }
HTTPステータスコードは503 Service Unavailableです。

実行IDをパスパラメータとして使用するGETの例

次の例は、実行IDをパスパラメータとして使用するタスクフローステータス要求を示しています。
GET https://pod.ics.dev:444/active-bpel/services/tf/status/20262247166322413568
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
タスクフローの設定および要求の入力により、応答は次のタイプになります。
サブタスクなしのタスクフロー
要求が成功し、タスクフローにサブタスクが含まれない場合、次の例に示すように、応答にはタスクフローのステータス情報が含まれます。
{
"assetName": "Taskflow1",
"assetType": "TASKFLOW",
"duration": "2",
"endTime": "2018-12-25T15:56:39Z",
"location": "Default",
"runId": "262247166322413568",
"runtimeEnv": "tf_runtime",
"runtimeEnvName": "",
"startTime": "2018-12-25T15:56:37Z",
"startedBy": "sb",
"status": "SUCCESS",
"subtasks": "0",
"updateTime": "2018-12-25T15:56:39Z",
"errorMessage": {},
"subtaskDetails": {
"details": {}
}
}
HTTPステータスコードは200 OKです。
サブタスクありのタスクフロー
要求が成功し、タスクフローに複数のサブタスクが含まれる場合、次の例に示すように、応答にはタスクフローに含まれる各サブタスクのステータス情報が含まれます。
{
"assetName": "Taskflow2",
"assetType": "TASKFLOW",
"duration": "89",
"endTime": "2018-12-23T17:25:16Z",
"location": "Default",
"runId": 20262247166322413568,
"runtimeEnv": "tf_runtime",
"runtimeEnvName": "",
"startTime": "2018-12-23T17:23:47Z",
"startedBy": "sb",
"status": "SUCCESS",
"subtasks": "2",
"updateTime": "2018-12-23T17:25:17Z",
"errorMessage": {},
"subtaskDetails": {
"details": {
"tasks": [
{
"assetName": "MTR",
"assetType": "MTT",
"duration": "3",
"endTime": "2018-12-23T17:24:45Z",
"errorMessage": "",
"errorRows": "0",
"location": "Default",
"rowsProcessed": "7",
"runId": "4",
"runtimeEnv": "01001Q25000000000002",
"runtimeEnvName": "tf_runtime_devagent",
"startTime": "2018-12-23T17:24:42Z",
"startedBy": "sb",
"status": "COMPLETED",
"subtasks": "0",
"successRows": "7",
"updateTime": "2018-12-23T17:24:46Z"
},
{
"assetName": "MTR",
"assetType": "MTT",
"duration": "10",
"endTime": "2018-12-23T17:23:59Z",
"errorMessage": "",
"errorRows": "0",
"location": "Default",
"rowsProcessed": "7",
"runId": "3",
"runtimeEnv": "01001Q25000000000002",
"runtimeEnvName": "tf_runtime_devagent",
"startTime": "2018-12-23T17:23:49Z",
"startedBy": "sb",
"status": "COMPLETED",
"subtasks": "0",
"successRows": "7",
"updateTime": "2018-12-23T17:24:00Z"
}
]
}
}
}
HTTPステータスコードは200 OKです。

クエリパラメータを使用したGETの例

次の例は、クエリパラメータとして実行ID、実行ステータス、および行制限を使用するタスクフローステータス要求を示しています。
GET https://pod.ics.dev:444/active-bpel/services/tf/status?runId=20262247166322413568&runStatus=Success&rowLimit=3
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
要求が成功した場合、応答の形式はパスパラメータを使用した場合と同じですが、角括弧[ ]で囲まれます。
要求が成功し、タスクフローにサブタスクが含まれない場合、次の例に示すように、応答にはタスクフローのステータス情報が含まれます。
[
{
"assetName": "Taskflow1",
"assetType": "TASKFLOW",
"duration": "2",
"endTime": "2018-12-25T15:56:39Z",
"location": "Default",
"runId": 262247166322413568,
"runtimeEnv": "tf_runtime",
"runtimeEnvName": "",
"startTime": "2018-12-25T15:56:37Z",
"startedBy": "sb",
"status": "SUCCESS",
"subtasks": "0",
"updateTime": "2018-12-25T15:56:39Z",
"errorMessage": {},
"subtaskDetails": {
"details": {
"tasks": []
}
}
}
]
HTTPステータスコードは200 OKです。

パラメータなしのGETの例

次の例は、パスパラメータまたはクエリパラメータのないタスクフローステータス要求を示しています。
<Informatica Intelligent Cloud Services URL>/active-bpel/services/tf/status
応答には、過去24時間に実行された最後の10個のタスクフローのステータス情報が含まれています。

実行中のタスクフローのGETの例

statusリソースを使用して実行中のタスクフローのステータスを取得する場合、応答には、次の例に示すように引用符なしでendTimenullとしたタスクフローのステータス情報が含まれます。
{
"assetName": "waitStatus",
"assetType": "TASKFLOW",
"duration": 27,
"endTime": null,
"errorMessage": "",
"location": "Default",
"runId": 737194191850250240,
"runtimeEnv": "taskflow-preview-usw1-r40-app02.infacloudops.net:4430",
"runtimeEnvName": "",
"startedBy": "sb",
"startTime": "2022-07-28T06:26:32Z",
"status": "RUNNING",
"subtasks": 0,
"updateTime": "2022-07-28T06:26:32Z",
"subtaskDetails": {
"details": {
"tasks": []
}
}
}
タスクフローが完了したら、正しいendTime値が表示されます。

タスクフローの一括パブリッシュ

publishリソースを使用すると、単一または複数のタスクフローを同時にパブリッシュして時間を節約できます。
タスクフローは、リクエストペイロードで指定された順序でパブリッシュされます。一度に最大199個のタスクフローをパブリッシュすることができます。
    1RESTクライアントでは、次のURLのPOST要求を使用します。
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/publish
    例: https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/publish
    2次のヘッダーを追加します。
    キー
    承認
    application/vnd.api+json
    Content-Type
    application/vnd.api+json
    INFA-SESSION-ID
    loginリソースを使用して、セッションIDを取得します。ログインリソースの詳細は、『REST APIリファレンス』を参照してください。
    3本文でassetPaths属性を使用して、パブリッシュするタスクフローの1つ以上の場所と名前を指定します。
    次の形式を使用します。
    {
    "data": {
    "type": "publish",
    "attributes": {
    "assetPaths": [
    "Explore/<location-of-taskflow1>/<name-of-taskflow1>.TASKFLOW.xml",
    "Explore/<location of taskflow2>/<name-of-taskflow2>.TASKFLOW.xml",
    "Explore/<location-of-taskflown>/<name-of-taskflown>.TASKFLOW.xml"
    ]
    }
    }
    }
    4POST要求を送信します。
    パブリッシュIDと、成功応答または失敗応答が表示されます。要求が失敗した場合、応答にはエラーの詳細も含まれます。
    次のスニペットは、応答の例を示しています。
    {
    "data": {
    "type": "publish",
    "id": "690487059198201856",
    "attributes": {
    "jobState": "NOT_STARTED",
    "jobStatusDetail": {},
    "startedBy": "autouser_pod1",
    "startDate": "2022-03-21T09:09:04.000+0000",
    "totalCount": 1,
    "processedCount": 0,
    "assetPaths": [
    "Explore/Pavan/BulkPublishApi/BPTaskflow1.TASKFLOW.xml"
    ]
    }
    },
    "links": {
    "self": https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/publish/690487059198201856,
    "status": https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/publish/690487059198201856/Status
    }
    }
    この例のパブリッシュIDは690487059198201856です。
    5パブリッシュのステータスとパブリッシュジョブに関する情報を表示するには、次のURLのGET要求を使用します。
    URL
    説明
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/publish/<publishId>/Status
    パブリッシュのステータスを表示します。
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/publish/<publishId>
    パブリッシュジョブの情報を表示します。

タスクフローの一括パブリッシュ解除

パブリッシュ解除リソースを使用すると、単一または複数のタスクフローを同時にパブリッシュ解除して時間を節約できます。
タスクフローは、要求ペイロードで指定されているタスクフローと同じ順序でパブリッシュ解除されます。一度に最大199個のタスクフローをパブリッシュ解除することができます。
    1RESTクライアントでは、次のURLのPOST要求を使用します。
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/unpublish
    例: https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/unpublish
    2次のヘッダーを追加します。
    キー
    承認
    application/vnd.api+json
    Content-Type
    application/vnd.api+json
    INFA-SESSION-ID
    loginリソースを使用して、セッションIDを取得します。ログインリソースの詳細は、『REST APIリファレンス』を参照してください。
    3本文でassetPaths属性を使用して、パブリッシュ解除するタスクフローの1つ以上の場所と名前を指定します。
    次の形式を使用します。
    {
    "data": {
    "type": "unpublish",
    "attributes": {
    "assetPaths": [
    "Explore/<location-of-taskflow1>/<name-of-taskflow1>.TASKFLOW.xml",
    "Explore/<location of taskflow2>/<name-of-taskflow2>.TASKFLOW.xml",
    "Explore/<location-of-taskflown>/<name-of-taskflown>.TASKFLOW.xml"
    ]
    }
    }
    }
    4POST要求を送信します。
    パブリッシュ解除ジョブのIDと、成功応答または失敗応答が表示されます。要求が失敗した場合、応答にはエラーの詳細も含まれます。
    次のスニペットは、応答の例を示しています。
    {
    "data": {
    "type": "unpublish",
    "id": "7645874567965431",
    "attributes": {
    "jobState": "NOT_STARTED",
    "jobStatusDetail": {},
    "startedBy": "autouser_pod1",
    "startDate": "2022-03-21T09:09:04.000+0000",
    "totalCount": 1,
    "processedCount": 0,
    "assetPaths": [
    "Explore/Pavan/BulkUnpublishApi/BPTaskflow1.TASKFLOW.xml"
    ]
    }
    },
    "links": {
    "self": https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/unpublish/7645874567965431,
    "status": https://na1.dm-us.informaticacloud.com/active-bpel/asset/v1/unpublish/7645874567965431/Status
    }
    }
    この例のパブリッシュ解除ジョブのIDは7645874567965431です。
    5パブリッシュ解除のステータスとパブリッシュ解除ジョブに関する情報を表示するには、次のURLによるGET要求を使用します。
    URL
    説明
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/unpublish/<unpublishId>/Status
    パブリッシュ解除のステータスを表示します。
    <Informatica Intelligent Cloud ServicesのURL>/active-bpel/asset/v1/unpublish/<unpublishId>
    パブリッシュ解除ジョブの情報を表示します。