タスクフロー 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-10 T05:48:28Z以降に開始されたすべてのタスクフローのステータスを取得するには、次のURLを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?startTime=2021-06- 10 T05:48:28Z
endTime
タスクフロー実行の開始時刻は、日付と時刻の範囲の終了時刻になります。協定世界時(UTC)を使用します。
例えば、2021-06-10 T05:48:28Zから2021-06-11 T05:48:28Zの間に開始されたすべてのタスクフローのステータスを取得するには、次のURLを使用します。
https://na4.dm.us.informaticacloud.com/active-bpel/services/tf/status?startTime=2021-06-10T05:48:28Z&endTime=2021-06- 11 T05: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要求を認証します。
• 基本認証を使用し、Informatica Intelligent Cloud Servicesのユーザー名およびパスワードを指定します。以下に例を示します。
GET <Informatica Intelligent Cloud Services URL>/active-bpel/services/tf/status/<run ID> Accept: application/json Authorization: Basic Auth username: <Informatica Intelligent Cloud Services user name> password: <Informatica Intelligent Cloud Services password>
• HTTPヘッダーのINFA-SESSION-IDを使用します。以下に例を示します。
GET <Informatica Intelligent Cloud Services URL>/active-bpel/services/tf/status/<run ID> Accept: application/json INFA-SESSION-ID: <sessionId>
INFA-SESSION-IDを取得するには、Platform REST APIバージョン3ログインリソースを使用します。ログインリソースの詳細は、『REST APIリファレンス 』を参照してください。
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リソースを使用して実行中のタスクフローのステータスを取得する場合、応答には、次の例に示すように引用符なしでendTime をnull としたタスクフローのステータス情報が含まれます。
{ "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個のタスクフローをパブリッシュすることができます。
1 RESTクライアントでは、次の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" ] } } }
4 POST要求を送信します。
パブリッシュ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個のタスクフローをパブリッシュ解除することができます。
1 RESTクライアントでは、次の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" ] } } }
4 POST要求を送信します。
パブリッシュ解除ジョブの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>
パブリッシュ解除ジョブの情報を表示します。