くうと徒然なるままに

ゆるふわ を志向している なごやかです。

Azure Functions With NodeJS で Storage Queue にアイテムを流す

今週末のアレのために作った知見

環境

  • Azure Functions with NodeJS
  • Http Trigger
  • Azure Storage Explorer

説明

Azure Functions と Azure Storage Queue との接続設定はポータルから設定できます。

新しい出力を選択

関数の 統合タブ より 新しい出力を選択します。

f:id:kuxumarin:20180219064738p:plain

Azure Storage Queue との接続の設定

Message Parameter は関数内から使うときの名前区別のため
StorageAccountConnection は 接続する Storage Account の接続設定の選択をします。既存の設定の中に接続したい Storage Account が存在しない場合は、GUIから設定できます。便利!
Queue Name はそのまま Storage Account のどの Queue を利用するのかを選択するかを書きます。

f:id:kuxumarin:20180219064842p:plain

コード

module.exports = function (context, req,outputQueueItem) {

    const json = JSON.stringify({ "message": "Hello World});
    context.bindings.outputQueueItem = json;


    if (req.query.name || (req.body && req.body.name)) {
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: "Hello World"
        };
    }
    else {
        context.res = {
            status: 400,
            body: "Please pass a name on the query string or in the request body"
        };
    }
    context.done();
};