機能名 | 説明 |
---|---|
list | フローの一覧を取得します |
execute | フローを実行します(フローの実行が終了するのを待ちます) |
executeWithStream | 入力ストリームを渡してフローを実行します(フローの実行が終了するのを待ちます) |
post | フローを実行します(フローの実行が終了するのを待ちません) |
指定のプロジェクトに含まれるフローの一覧を取得します。
プロジェクトがコンパイルされていない場合には、コンパイルが実行されます。
HTTPメソッド | リクエストURL |
---|---|
GET | http://{Hostname}:{Port}/api/flow/list |
パラメーター | 必須 | 説明 |
---|---|---|
project | はい | フローの一覧を取得するプロジェクト名を指定します。 |
owner | いいえ | フローの一覧を取得するプロジェクトのオーナー名を指定します。 省略時はログインユーザーになります。 |
GET /api/flow/list?project=Project1 HTTP/1.1 X-Fs-SessionId: F15B47BC1F004DB489BAF1E4CDD0100D
APIの実行が成功した場合、HTTPステータスコードは200
が返ります。
実行に成功するとフローの一覧が返ります。
フローの情報としては次の情報が取得できます。
<result> <status>success</status> <data> <flow> <name>Flow1</name> <isCompiled>true</isCompiled> <arguments/> </flow> <flow> <name>Flow2</name> <isCompiled>false</isCompiled> <arguments> <argument> <name>args1</name> <type>String</type> </argument> <argument> <name>args2</name> <type>Integer</type> </argument> </arguments> </flow> </data> </result>
下記以外のエラーについては、共通エラーコードを参照してください。
エラーコード | HTTPステータスコード | 説明 |
---|---|---|
2000 | 400 Bad Request | projectパラメーターが存在しなかった場合 |
2001 | 403 Forbidden | ログインしていなかった場合 指定したownerに対しての権限がない場合 |
2002 | 404 Not Found | 指定したプロジェクトが存在しなかった場合 |
指定のフローを実行します。
フローの実行が終了するのを待ちますので、フローの戻り値と結果ストリームを取得することができます。
ただし、実行するフローに入力ストリームを渡すことはできません。入力ストリームを渡す場合はexecuteStreamを使ってください。
HTTPメソッド | リクエストURL |
---|---|
POST | http://{Hostname}:{Port}/api/flow/execute |
パラメーター | 必須 | 説明 |
---|---|---|
project | はい | 実行するフローのプロジェクト名を指定します。 |
flow | はい | 実行するフローのフロー名を指定します。 |
mode | いいえ |
実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
|
sessionId | いいえ | フローの実行時に使用するセッションIDを指定します。 省略した場合はフローを実行するごとに毎回セッションIDが生成されます。 APIを実行する複数のクライアントから同一のセッションIDを指定してフローを実行してもエラーとはなりませんが、混乱の原因となりますので可能な限り異なる文字列を指定してください。 |
arg.引数名 | いいえ |
フローの引数を指定します。 パラメーター名は「arg.引数名」とし、パラメーターの値として引数の値を指定します。 例えば、「フロー引数1」という引数に「引数の値1」という値を設定したい場合は「arg.フロー引数1=引数の値1」というような指定になります。 |
POST /api/flow/execute HTTP/1.1 X-Fs-SessionId: F15B47BC1F004DB489BAF1E4CDD0100D Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Content-Length: 132 project=Project1&flow=Flow1&arg.%E3%83%95%E3%83%AD%E3%83%BC%E5%BC%95%E6%95%B0%EF%BC%91=%E5%BC%95%E6%95%B0%E3%81%AE%E5%80%A4%EF%BC%91
上記のリクエスト例では、引数として「arg.フロー引数1=引数の値1」を指定しています。
APIの実行が成功した場合、HTTPステータスコードは200
が返ります。
実行に成功するとフローを実行した結果の情報が返ります。
フローを実行した結果の情報としては次の情報が取得できます。
また、HTTPレスポンスのヘッダーに、次の情報が付加されます。
次の例は、FileGetコンポーネントでCSVファイルを読み込み、EndResponseにつなげただけのフローを実行した結果です。
<result> <status>success</status> <data> <streamType>Records</streamType> <stream> <record> <field> <name>field1</name> <type>Integer</type> <value>1</value> </field> <field> <name>field2</name> <type>Integer</type> <value>2</value> </field> <field> <name>field3</name> <type>Integer</type> <value>3</value> </field> </record> <record> <field> <name>field1</name> <type>String</type> <value>てすと</value> </field> <field> <name>field2</name> <type>String</type> <value>b</value> </field> <field> <name>field3</name> <type>String</type> <value>c</value> </field> </record> </stream> <variables> <variable> <name>FilePath</name> <value>C:\asteriahome\flow\home\guest\test.csv</value> </variable> <variable> <name>FileDate</name> <value>2012-08-30T15:05:07.478 JST</value> </variable> <variable> <name>FileSize</name> <value>19</value> </variable> </variables> </data> </result>
下記以外のエラーについては、共通エラーコードを参照してください。
エラーコード | HTTPステータスコード | 説明 |
---|---|---|
2000 | 400 Bad Request | projectまたはflowパラメーターが存在しなかった場合 |
2001 | 403 Forbidden | ログインしていなかった場合 |
2002 | 404 Not Found | 指定したプロジェクトまたはフローが存在しなかった場合 |
9000 | 500 Internal Server Error | フローが異常終了した場合 |
9001 | 503 Service Unavailable | フローの実行リクエストが破棄された場合 |
9002 | 504 Gateway Timeout | フローの実行がタイムアウトした場合 |
入力ストリームを渡して指定のフローを実行します。
フローの実行が終了するのを待ちますので、フローの戻り値と結果ストリームを取得することができます。
HTTPメソッド | リクエストURL |
---|---|
POST | http://{Hostname}:{Port}/api/flow/executeWithStream |
パラメーター | 必須 | 説明 |
---|---|---|
project | はい | 実行するフローのプロジェクト名を指定します。 |
flow | はい | 実行するフローのフロー名を指定します。 |
mode | いいえ |
実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
|
sessionId | はい | フローの実行時に使用するセッションIDを指定します。 |
arg.引数名 | いいえ |
フローの引数を指定します。 パラメーター名は「arg.引数名」とし、パラメーターの値として引数の値を指定します。 |
filedata | いいえ | 入力ストリームファイルを指定します。 |
streamType | いいえ | 入力ストリームのタイプを指定します。
|
POST /api/flow/executeWithStream HTTP/1.1 Content-Type: multipart/form-data; boundary=---------------------------120912416424652; charset=UTF-8 X-Fs-SessionId: 76B7EDBB1F14443FA538E62E05C5EEA4 Content-Length: 33405 -----------------------------120912416424652 Content-Disposition: form-data; name="project" Project1 -----------------------------120912416424652 Content-Disposition: form-data; name="flow" Flow1 -----------------------------120912416424652 Content-Disposition: form-data; name="sessionId" sessionId1 -----------------------------120912416424652 Content-Disposition: form-data; name="arg.param1" value1 -----------------------------120912416424652 Content-Disposition: form-data; name="streamType" CSV -----------------------------120912416424652 Content-Disposition: form-data; name="filedata"; filename="test.csv" Content-Type: application/csv [リクエストのデータとしてファイルがバイナリ形式で付加されます] -----------------------------120912416424652--
APIの実行が成功した場合、HTTPステータスコードは200
が返ります。
実行に成功するとフローを実行した結果の情報が返ります。
フローを実行した結果の情報としては次の情報が取得できます。
また、HTTPレスポンスのヘッダーに、次の情報が付加されます。
次の例は、FileGetコンポーネントでCSVファイルを読み込み、EndResponseにつなげただけのフローを実行した結果です。
<result> <status>success</status> <data> <streamType>Records</streamType> <stream> <record> <field> <name>field1</name> <type>Integer</type> <value>1</value> </field> <field> <name>field2</name> <type>Integer</type> <value>2</value> </field> <field> <name>field3</name> <type>Integer</type> <value>3</value> </field> </record> <record> <field> <name>field1</name> <type>String</type> <value>てすと</value> </field> <field> <name>field2</name> <type>String</type> <value>b</value> </field> <field> <name>field3</name> <type>String</type> <value>c</value> </field> </record> </stream> <variables> <variable> <name>FilePath</name> <value>C:\asteriahome\flow\home\guest\test.csv</value> </variable> <variable> <name>FileDate</name> <value>2012-08-30T15:05:07.478 JST</value> </variable> <variable> <name>FileSize</name> <value>19</value> </variable> </variables> </data> </result>
下記以外のエラーについては、共通エラーコードを参照してください。
エラーコード | HTTPステータスコード | 説明 |
---|---|---|
2000 | 400 Bad Request | projectまたはflowパラメーターが存在しなかった場合 ストリームデータが不正だった場合 |
2001 | 403 Forbidden | ログインしていなかった場合 |
2002 | 404 Not Found | 指定したプロジェクトまたはフローが存在しなかった場合 |
9000 | 500 Internal Server Error | フローが異常終了した場合 |
9001 | 503 Service Unavailable | フローの実行リクエストが破棄された場合 |
9002 | 504 Gateway Timeout | フローの実行がタイムアウトした場合 |
指定のフローを実行します。
execute APIと異なり、フローの実行を開始すると、その終了を待たずに直ちにAPIの実行が完了します。
実行するフローに入力ストリームを渡すことはできません。
また、フローの実行終了時に結果ストリームが存在しても、それを取得することはできません。
HTTPメソッド | リクエストURL |
---|---|
POST | http://{Hostname}:{Port}/api/flow/post |
パラメーター | 必須 | 説明 |
---|---|---|
project | はい | 実行するフローのプロジェクト名を指定します。 |
flow | はい | 実行するフローのフロー名を指定します。 |
mode | いいえ |
実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
|
sessionId | いいえ | フローの実行時に使用するセッションIDを指定します。 省略した場合はフローを実行するごとに毎回セッションIDが生成されます。 APIを実行する複数のクライアントから同一のセッションIDを指定してフローを実行してもエラーとはなりませんが、混乱の原因となりますので可能な限り異なる文字列を指定してください。 |
arg.引数名 | いいえ |
フローの引数を指定します。 パラメーター名は「arg.引数名」とし、パラメーターの値として引数の値を指定します。 例えば、「フロー引数1」という引数に「引数の値1」という値を設定したい場合は「arg.フロー引数1=引数の値1」というような指定になります。 |
POST /api/flow/post HTTP/1.1 X-Fs-SessionId: F15B47BC1F004DB489BAF1E4CDD0100D Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Content-Length: 132 project=Project1&flow=Flow1&arg.%E3%83%95%E3%83%AD%E3%83%BC%E5%BC%95%E6%95%B0%EF%BC%91=%E5%BC%95%E6%95%B0%E3%81%AE%E5%80%A4%EF%BC%91
上記のリクエスト例では、引数として「arg.フロー引数1=引数の値1」を指定しています。
APIの実行が成功した場合、HTTPステータスコードは200
が返ります。
実行に成功すると実行したリクエストの情報が返ります。
リクエストの情報としては次の情報が取得できます。
<result> <status>success</status> <data> <requestId>eea0b9d5-eda4-4413-9f58-90490bad9ff0</requestId> <sessionId>6d22dfb0-c342-48d5-86ce-9598ffe5ad63</sessionId> </data> </result>
下記以外のエラーについては、共通エラーコードを参照してください。
エラーコード | HTTPステータスコード | 説明 |
---|---|---|
2000 | 400 Bad Request | projectまたはflowパラメーターが存在しなかった場合 |
2001 | 403 Forbidden | ログインしていなかった場合 |
2002 | 404 Not Found | 指定したプロジェクトまたはフローが存在しなかった場合 |