JavaScript からの実行
JavaScript SDK より Server Code を実行する例を以下に挙げます。
// Instantiate the endpoint.
var entry = Kii.serverCodeEntry("main");
// Set parameters.
var arg = {"username":"name_of_my_friend", "password":"password_for_my_friend"};
// Execute the server code.
entry.execute(arg,{
success: function(entry, argument, execResult) {
// Parse the result.
var returned = execResult.getReturnedValue();
var newUser = returned["returnedValue"];
// Get the number of the executed steps.
var steps = execResult.getExecutedSteps();
// Get the version of Node.js on which the server code was executed.
var environmentVersion = execResult.getEnvironmentVersion();
},
failure: function(entry, argument,execResult, anErrorString) {
// Handle the error.
}
}
);
ここでは以下の処理が行われています。
- 実行対象エンドポイント名(関数名)を指定して
serverCodeEntry()
メソッドを実行し、KiiServerCodeEntry
インスタンスを作成。environmentVersion
引数を指定して、Server Code の実行に使用する JavaScript エンジンを指定することもできます。 - 実行時パラメータ(今回の例ではユーザー名とパスワード)を JSON オブジェクトに準備します。この際、実行時パラメータのキーを Server Code 内のキーと一致させてください(今回の例では "username" と "password")。
- 実行時パラメータを指定して
execute()
メソッドを実行し、Server Code を実行。- ユーザーがログインしている場合、Kii Cloud はこのユーザーにより Server Code が実行されたものと見なします。
- ユーザーがログインしていない場合、Kii Cloud は匿名ユーザーにより Server Code が実行されたものと見なします。
getReturnedValue()
メソッドを実行して、実行結果を取得。- (必要に応じて)
getExecutedSteps()
メソッドを実行して、実行ステップ数を取得。 - (必要に応じて)
getEnvironmentVersion()
メソッドを実行して、Node.js のバージョンを取得。
getReturnedValue()
メソッドは、戻り値の型 で例示したような、Server Code を実行した結果が "returnedValue" フィールドに格納された JSON オブジェクトを返します。実際の結果を抽出するには、適切なメソッドを実行してください。
タイムアウト時に返却する値を設定した場合、同様に getReturnedValue()
メソッドを使って値を取得します。メソッドで取得可能な JSON オブジェクトは タイムアウト をご参照ください。
Server Code を手動実行して別の Server Code を呼び出すことはできません。実行すると、HTTP ステータス 409 で "OPERATION_NOT_ALLOWED" エラーになります。