サーバーレスイベントセットアップ

(イベントの利用にはアカウントを持っていてが少なくとも1つのデバイスを登録している必要があります。)

まずは実行するプログラムの用意が必要です。 Webappをインストールするか、リポジトリ内にプログラムを作成します。

サーバーレスイベントでクラウド上で実行される場合、javascript内でイベント専用の2つのプロパティが利用できます。

  • done() 完了時に呼び出す関数
  • req Webhookがトリガーの場合にそのリクエストオブジェクト

done()

実行終了を示すdone()関数を呼べるようになります。処理が完了したら呼ぶようにして下さい。
プログラム画面から実行しても正常に動作するように以下のように呼ぶと便利です。

if(typeof done === "function") {
  done();
}

req

webhookで呼ばれた時のqueryとbodyをreqオブジェクトより取得することができます。

let request = {};
if (typeof req === "object") {
  request = req;
}
console.log(request.query);
console.log(request.body);

queryとbodyはパースされた文字列です.
たとえば,https://obniz.com/events/X/XXXXXX/run?a=1&b=stringdataにアクセスされた場合,
request.query{a:1, b:"stirngdata " } になります.

bodyの文字列が{"c":true, "d":100}の場合は{c:true, d:100}がbodyに入ります.
もしJson以外の文字列がきた場合,bodyはundefinedになります.

登録

プログラムの作成ができて動くことが確認できたらイベントに登録します。
開発者コンソールのEventsにある「Create New」から設定します。

名前や実行したいHTML。更にトリガータイプを選びます。

作成を押すことで作成されます。webhookであれば、作成後のページにwebhook用のurlが表示されます。

Test

トリガーを生成せず今すぐプログラムを実行させたい場合はイベントページのテスト実行ボタンを押すことで実行させることができます。