obniz-app-sdkを使用したときの設定値について
obniz-app-sdkを使用している中で、インストール時に設定したinstall.configsを参照している処理があるのですが、この値はどのタイミングで更新されるのでしょうか?
1. 変更があったら即座に変更が反映される
2. obnizが再起動したら変更が反映される
3. その他のタイミング
以上お手数をおかけしますがよろしくお願いいたします。
-
install.configsですが、obniz-app-sdkとobniz cloud間通信が行われれ、インストール時設定が変更が確認された際に、workerが破棄・新規作成されることで適用されます。
obniz-app-sdkとobniz cloud間通信は下記の2パターンにて更新を試みます。
①定期的(1分毎)に更新を試みます
デバイス数が多く、1回の更新に時間がかかる場合は頻度が低下します。②app.webhook関数が呼ばれた際にも更新を試みます
デフォルトではexpressサーバーが立ち上がり、/webhookがGETもしくはPOSTでアクセスされるとapp.webhook関数が呼ばれます。
開発者コンソール内のアプリ設定のwebhook欄と合わせてご活用ください
①のみの場合は、数分にて変更が反映されたworkerインスタンスが立ち上がります。
②も合わせて設定済みの場合は、変更検知後(おそらく〜数秒程度で)即座に反映されます。
なお、obnizが再起動することによる反映はございません。0 -
回答ありがとうございます。
すみません、私の方で2のobniz-app-sdkにexpressが含まれている部分まではコードで確認できたのですが、どのような使用例があるのか具体的に教えていただけると幸いです。
0 -
②について詳しく記載いたします。
obniz-app-sdkのexpressは、開発者コンソールにおけるアプリ設定の「外部アプリケーション設定」と一緒に使うことを想定しております。
アプリがデバイスにインストールされた / 設定が更新された
→obnizCloudからアプリにwebhookが飛ぶ(外部アプリケーション設定)
→webhookを受けて、obniz-app-sdkのworkerを更新するという流れになります。
外部アプリケーション設定について
アプリの設定に、「外部アプリケーション設定」→「webhook」がありますので、こちらでapp-sdkのwebhookURLを記入ください
app-sdkのwebhookについて
webhookを受け、app.expressWebhook(req,res)を呼び出してください。
こちらは独自でexpressサーバーを立てていただいても問題ありませんが、
デフォルトではapp.start()の際に、expressサーバーを立ち上げてます。デフォルトでは`GET /webhook` / `POST /webhook` のリクエストがきたら`app.expressWebhook(req,res)`へ渡しております。変更したい場合はapp.start()のオプションをご利用ください
https://github.com/obniz/obniz-app-sdk/blob/943aef10bccc66900c9f0024d80c95221badec60/src/Manager.ts#L33
【具体例】
たとえば、こちらの場合は
https://github.com/obniz/obniz-app-sdk/blob/master/examples/single-instance/basic.js#L52
自動で3000ポートでサーバーが立ち上がりますので、`https://xxxxxxx/webhook`(xxxxxxxはサーバー設定に応じる)を外部アプリケーション設定に設定いただければ、workerの即時反映が可能となります0
サインインしてコメントを残してください。
コメント
3件のコメント