スクリプト:スクリプト実行API
登録されているロジックを実行するAPIです。
スクリプトのStatusがstandbyの場合は実行されません。
リクエスト
ヘッダー
| ヘッダー名 | 説明 |
|---|---|
| X-Amz-Target | APIバージョン(2015-09-01)とアクション(ExecuteScript)を.(ドット)で連結した文字列 |
パラメーター
| パラメーター名 | 必須 | タイプ | デフォルト値 | 説明 |
|---|---|---|---|---|
| Action | ○ | String | - | “ExecuteScript” |
| ScriptIdentifier | ○ | String | - | 実行するスクリプト名(.jsまたは.rbで終わるファイル名) |
| Method | ○ | String | - | “GET” / “POST” / “PUT” / “DELETE” |
| Query | JSON | - | スクリプトに渡すクエリストリング | |
| Body | JSON | - | スクリプトに渡すリクエストボディ | |
| Header | JSON | - | スクリプトに渡すリクエストヘッダー |
レスポンス
- 各種、ロジックで実装した一般的な API コールで利用するような任意の文字列が返却されます。
- APIコールのエラーは、HTTP Responseのステータスが200以外になります。
- スクリプト内でのエラーはResponseStatusとResponseDataに文字列で返されます。
| パラメーター名 | タイプ | 説明 |
|---|---|---|
| ExecuteScriptResponse | - | ルート |
| ExecuteScriptResult | - | 結果 |
| Result | - | スクリプト実行結果 |
| ScriptIdentifier | String | スクリプト名 |
| RequestHeader | CDATA | リクエストヘッダー |
| RequestQuery | CDATA | リクエストクエリストリング |
| RequestBody | CDATA | リクエストボディ |
| ResponseStatus | Number | レスポンスステータス |
| ResponseHeader | CDATA | レスポンスヘッダー |
| ResponseData | CDATA | レスポンスデータ |
サンプル
リクエストサンプル
% curl -X POST "https://script.api.nifcloud.com/2015-09-01" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "X-Amz-Target: 2015-09-01.ExecuteScript" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=XXXXXXXXXXXXXX/20160726/jp-east-1/SCRIPT/aws4_request, SignedHeaders=x-amz-date;x-amz-target, Signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "X-Amz-Date:20160726T025611Z" \
-d "Method=POST"
-d "ScriptIdentifier=sample.js" \
-d "Query={\"name\": \"test\"}" \
-d "Body={\"foo\": \"bar\"}" \
-d "Header={\"X-Custom-Header\": \"headerValue\"}" \
レスポンスサンプル
<?xml version="1.0"?>
<ExecuteScriptResponse>
<ExecuteScriptResult>
<Result>
<ScriptIdentifier>sample.js</ScriptIdentifier>
<RequestHeader><![CDATA[{\"X-Custom-Header\":\"headerValue\"}]]></RequestHeader>
<RequestQuery><![CDATA[{\"name\":\"test\"}]></RequestQuery>
<RequestBody><![CDATA{\"foo\":\"bar\"}]]></RequestBody>
<ResponseStatus>200</ResponseStatus>
<ResponseHeader><![CDATA[{\"Content-Type\":\"application/html+xml\"}]]></ResponseHeader>
<ResponseData><![CDATA[hello]]></ResponseData>
</Result>
</ExecuteScriptResult>
</ExecuteScriptResponse>


