Server Code の手動実行

Server Code はクライアントよりいつでも手動で実行できます。実行の際には、クライアント側より Server Code に実行時パラメータを渡すことができます。

Server Code を実行する方法を見ていきましょう。以下の Server Code が Kii Cloud に設置されていると仮定します。

function main(params, context, done) {
  var user = KiiUser.userWithUsername(params.username,
                                      params.password);
  user.register({
    success: function(user) {
      done(user.getUsername());
    },
    failure: function(user, errorString) {
      done(errorString);
    }
  });
}

このサンプルコードは こちらで例示したもの と同じものです。クライアントより実行時パラメータとして渡されたユーザーネームとパスワードを用いてユーザー登録処理を行います(友人の代わりに新規アカウント作成を代行するケースなどを想定したサンプル)。

なお、Server Code 内の success と failure は、クライアントでの成功と失敗に対応しない点にご注意ください。このサンプルコードの場合、Server Code 内の処理が failure で失敗しても、クライアントではエラー文字列を正常に受け取れるため、呼び出しは成功となります。クライアントのエラーは、Server Code の呼び出しそのものができなかった場合です。Server Code 内のエラーを返したい場合は、戻り値に成功/失敗のステータスを含めるように実装します。

実行結果の確認

手動実行によって Server Code の実行が完了すると、以下のように servercode.invoke を含む行が開発者ログが出力されます。

2017-10-04T11:31:35.000+09:00 [DEBUG] servercode.invoke description:Invoked Server Code versionID:gulsdf6ful8jvf8uq6fe7vjy6 args:{"username":"name_of_my_friend","password":"password_for_my_friend"} endpoint:main auth-header: response-type:application/json response-step:7 environmentVersion:6

出力される項目のうち、特に重要なものを以下に示します。

項目名 内容
description メッセージの本体です。Server Code の実行時には固定の文字列が出力されます。
versionID 実行された Server Code の バージョン を表すコードです。
args 手動実行の際に指定された引数の JSON 文字列です。
endpoint 実行された Server Code のエンドポイント名です。
response-step 実行された ステップ数 です。
environmentVersion Server Code を実行した JavaScript エンジン のバージョンを表す数値です。