モジュール名: flow

機能名 説明
list フローの一覧を取得します
execute フローを実行します(フローの実行が終了するのを待ちます)
executeWithStream 入力ストリームを渡してフローを実行します(フローの実行が終了するのを待ちます)
post フローを実行します(フローの実行が終了するのを待ちません)

機能名: list

説明

指定のプロジェクトに含まれるフローの一覧を取得します。
プロジェクトがコンパイルされていない場合には、コンパイルが実行されます。

リクエスト
HTTPメソッド リクエストURL
GET http://{Hostname}:{Port}/api/flow/list
リクエストパラメーター
パラメーター 必須 説明
project はい フローの一覧を取得するプロジェクト名を指定します。
owner いいえ フローの一覧を取得するプロジェクトのオーナー名を指定します。
省略時はログインユーザーになります。
リクエスト例
GET /api/flow/list?project=Project1 HTTP/1.1
X-Fs-SessionId: F15B47BC1F004DB489BAF1E4CDD0100D
レスポンス
HTTPステータスコード

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 指定したプロジェクトが存在しなかった場合

▲ このページのトップへ

機能名: execute

説明

指定のフローを実行します。
フローの実行が終了するのを待ちますので、フローの戻り値と結果ストリームを取得することができます。
ただし、実行するフローに入力ストリームを渡すことはできません。入力ストリームを渡す場合はexecuteStreamを使ってください。

リクエスト
HTTPメソッド リクエストURL
POST http://{Hostname}:{Port}/api/flow/execute
リクエストパラメーター
パラメーター 必須 説明
project はい 実行するフローのプロジェクト名を指定します。
flow はい 実行するフローのフロー名を指定します。
mode いいえ 実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
  • normal - 通常モード
  • debug - デバッグモード
  • profile - プロファイルモード
  • high - 優先実行モード
省略時は「normal」となります。
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」を指定しています。

レスポンス
HTTPステータスコード

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 フローの実行がタイムアウトした場合

▲ このページのトップへ

機能名: executeWithStream

説明

入力ストリームを渡して指定のフローを実行します。
フローの実行が終了するのを待ちますので、フローの戻り値と結果ストリームを取得することができます。

リクエスト
HTTPメソッド リクエストURL
POST http://{Hostname}:{Port}/api/flow/executeWithStream
リクエストパラメーター
パラメーター 必須 説明
project はい 実行するフローのプロジェクト名を指定します。
flow はい 実行するフローのフロー名を指定します。
mode いいえ 実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
  • normal - 通常モード
  • debug - デバッグモード
  • profile - プロファイルモード
  • high - 優先実行モード
省略時は「normal」となります。
sessionId はい フローの実行時に使用するセッションIDを指定します。
arg.引数名 いいえ フローの引数を指定します。
パラメーター名は「arg.引数名」とし、パラメーターの値として引数の値を指定します。
filedata いいえ 入力ストリームファイルを指定します。
streamType いいえ 入力ストリームのタイプを指定します。
  • BINARY
  • TEXT
  • HTML
  • ParameterList
  • Record
  • Records
  • CSV
  • FixedString
  • FixedLength
  • MIME
  • XML
「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--
レスポンス
HTTPステータスコード

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 フローの実行がタイムアウトした場合

▲ このページのトップへ

機能名: post

説明

指定のフローを実行します。
execute APIと異なり、フローの実行を開始すると、その終了を待たずに直ちにAPIの実行が完了します。

実行するフローに入力ストリームを渡すことはできません。
また、フローの実行終了時に結果ストリームが存在しても、それを取得することはできません。

リクエスト
HTTPメソッド リクエストURL
POST http://{Hostname}:{Port}/api/flow/post
リクエストパラメーター
パラメーター 必須 説明
project はい 実行するフローのプロジェクト名を指定します。
flow はい 実行するフローのフロー名を指定します。
mode いいえ 実行モードを「normal」、「debug」、「profile」、「high」のいずれかで指定します。
  • normal - 通常モード
  • debug - デバッグモード
  • profile - プロファイルモード
  • high - 優先実行モード
省略時は「normal」となります。
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」を指定しています。

レスポンス
HTTPステータスコード

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 指定したプロジェクトまたはフローが存在しなかった場合

▲ このページのトップへ