Azure Functionsからobnizを動かすメモ

Azure Functionsからobnizを動かすメモです。

Azure Functionsを作る

image

まず、AzureでAzure Functions作ります。

image

リソースグループ作ってNode.js対応のAzure Functionsを作成。

image

出来上がったらポータル内を選択。

image

タイマーを選択して標準の5分実行のやつにします。

コンソールでobnizライブラリインストール

image

無事立ち上がりました。コンソールでコマンドを実行しましょう。

npm init -y

image

まず、npmプロジェクトの準備。

npm i obniz

obnizライブラリをインストール。

image

このようなエラーぽい赤文字は出ますが package-lock の話なので大丈夫。無事入っています。

ソースコード

image

ソースコードは以下のとおりです。

module.exports = async function (context, myTimer) {
    var timeStamp = new Date().toISOString();
    
    if (myTimer.IsPastDue)
    {
        context.log('JavaScript is running late!');
    }
    context.log('JavaScript timer trigger function ran!', timeStamp);

    var Obniz = require("obniz");

    var obniz = new Obniz("Obniz_ID");
    obniz.onconnect = async function () {
        obniz.display.clear();
        obniz.display.print("Hello Azure Functions");
    }
};

デフォルトのソースコードに obniz のおなじみのコードを加えているだけです。Obniz_IDのところを自分のobniz IDにしましょう。

image

保存して実行します。

image

20秒くらい?しばらく待っていると実行されます。

image

このように無事反応します!

標準で使えるサーバレスイベントもいいけど、もう少し自由度高く更新頻度を高めたかったりAzure 内で連携したかったりするときに使えそうです。