タスクフロー > タスクフロー > APIとしてのタスクフローの実行
  

APIとしてのタスクフローの実行

タスクフローをサービスとしてパブリッシュした後、タスクフローをAPIとして実行したり、タスクフローをスケジュールしたりできます。エンドポイントURLを使用して、タスクフローをAPIとして実行し、タスクフローに含まれるタスクの入力パラメータを動的に指定して、オーケストレーションを実行できます。
    1サービスとしてパブリッシュしたタスクフローに移動します。
    2[アクション]メニューで[プロパティの詳細]を選択します。
    次の図に示すように、[プロパティの詳細]ダイアログボックスにサービスURLとSOAPサービスURLが表示されます。
    この図は、[プロパティの詳細]ダイアログボックスにサービスURLとSOAPサービスURLが表示された状態を示しています。
    サービスURLは次の形式を使用します。
    <Informatica Intelligent Cloud Services URL>/active-bpel/rt/<API名>
    SOAPサービスURLは次の形式を使用します。
    <Informatica Intelligent Cloud Services URL>/active-bpel/soap/<API名>
    関連付けられたSwaggerファイルとWSDLファイルも表示できます。
    3タスクフローを実行するには、使用するクライアントタイプに基づいて次のいずれかの手順を実行します。
    サービスURLを使用して、ブラウザまたはサードパーティツール経由で入力を渡すことができます。詳細については、ブラウザ経由での入力の受け渡しまたはRESTクライアント経由での入力の受け渡しを参照してください。
    タスクフロー実行IDを応答として受信します。
    4実行IDを含むタスクフローを監視するには、次のステップのいずれかを実行します。

ブラウザ経由での入力の受け渡し

タスクフローをAPIとして実行すると、エンドポイントURLを使用してブラウザ経由で入力を渡すことができます。
    1タスクフローを開き、[アクション]>[プロパティの詳細]>[サービスURLのコピー]をクリックします。
    2以下に示すように、テキストエディタを開き、入力フィールドと値をサービスURLに追加します。
    <Informatica Intelligent Cloud Service URL>/active-bpel/rt/<API_name>?<inputfield>=<value>
    例: https://na1.dm-us.informaticacloud.com/active-bpel/rt/Taskflow?CustomerName=TestConsumer
    複数のフィールドに値を渡すには、以下に示すように&を使用して入力フィールドを区切ります。
    https://na1.dm-us.informaticacloud.com/active-bpel/rt/Taskflow?CustomerName=TestConsumer&CustomerEmail=testconsumer@mailinator.com&ItemName=item1&ItemCount=2
    3ブラウザを開き、入力フィールドと値を含むサービスURLを貼り付けます。タスクフローで認証を使用する場合は、許可されているユーザー名とパスワードを入力する必要があります。
    サービスは、タスクフローの実行IDを応答として返します。この実行IDを使用して、タスクフローの実行を監視できます。

RESTクライアント経由での入力の受け渡し

渡す入力値が複数あり、本文が複雑な場合は、PostmanなどのRESTクライアントを使用できます。RESTクライアント経由で要求を送信するには、Swaggerファイルで利用可能なサービスURLとAPI定義を使用する必要があります。Swaggerファイルには、操作名、認証方法、およびタスクフローの入力が含まれています。Swaggerエディタを使用すると、Swaggerファイルの解析やSwagger要求の取得ができます。
次にサンプルのSwagger要求を示します。
{
"input": "ACCOUNT.csv",
"inputConn": {
"input": {
"source": {
"Source": {
"object": "RetailCustomer",
"connection": "0100000B000000000004"
}
},
"connectionNameParam": "ACCOUNT.csv"
}
}
}
    1Postmanを開きます。
    2次の図に示すように、GETやPOSTなどのHTTP動詞を選択し、生成されたRESTサービスURLを指定します。
    この図は、Postmanで指定されたHTTP動詞とRESTサービスURLを示しています。
    3[認証]タブでユーザーアカウントの詳細を入力します。
    4次の図に示すように、[本文]タブでSwagger要求を指定します。
    この図は、[本文]タブで指定されたSwagger要求を示しています。
    5要求の本文で入力値を指定します。
    6[送信]をクリックします。
    次の図に示すように、応答としてタスクフロー実行IDを受信します。
    この図は、応答としてのタスクフローの実行IDを示しています。この実行IDを使用して、タスクフローの実行を監視できます。

一時停止したタスクフローの再開

resumeWithFaultRetryリソースを使用して、障害が発生したステップから、一時停止したタスクフローインスタンスを再開することができます。また、resumeWithFaultSkipリソースを使用して、障害が発生したステップをスキップし、一時停止したタスクフローインスタンスを次のステップから再開することもできます。

resumeWithFaultRetry

失敗したステップから、一時停止したタスクフローインスタンスを再開するには、PUT要求で次のURIを使用します。
PUT <Informatica Intelligent Cloud Services URL>/active-bpel/management/runtime/v1/resumeWithFaultRetry/<実行ID>
要求に次の情報を含めます。
フィールド
タイプ
必須
説明
実行ID
String
タスクフローの実行ID。
resumeWithFaultRetry PUTの例
このサンプルを参考にして、一時停止したタスクフローインスタンスを、PUT要求の失敗したステップから再開します。
PUT https://na1.dm-us.informaticacloud.com/active-bpel/management/runtime/v1/resumeWithFaultRetry/681134580186693632
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK3
resumeWithFaultRetry PUT response
要求に成功した場合に204の応答コードを返します。
エラーが発生した場合はエラーオブジェクトを返します。

resumeWithFaultSkip

失敗したステップをスキップし、一時停止したタスクフローインスタンスを次のステップから再開するには、PUT要求で次のURIを使用します。
PUT <Informatica Intelligent Cloud Services URL>/active-bpel/management/runtime/v1/resumeWithFaultSkip/<実行ID>
要求に次の情報を含めます。
フィールド
タイプ
必須
説明
実行ID
String
タスクフローの実行ID。
resumeWithFaultSkip PUTの例
このサンプルを参考にして、失敗したステップをスキップし、一時停止したタスクフローインスタンスを、PUT要求の次のステップから再開します。
PUT https://na1.dm-us.informaticacloud.com/active-bpel/management/runtime/v1/resumeWithFaultSkip/681134580186693632
Accept: application/json
INFA-SESSION-ID: 9KA11tLGqxVcGeul8SQBK4
resumeWithFaultSkip PUTの応答
要求に成功した場合に204の応答コードを返します。
エラーが発生した場合はエラーオブジェクトを返します。