スクリプト:スクリプト実行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>