透過 Service Bus Queue trigger Azure Function

承上篇介紹了Service Bus Queue,這篇將會介紹如何讓 Queue 的資料塞進來後直接 trigger 我們要的程式,以達到即時性的效果,否則以往來說我們將會寫一個無窮止盡的 for while 來做這樣的事情

首先使用 IDE 工具新增 Azure Functions 的專案

 

接著選擇 Service Bus Queue trigger,直接選 .net core 的方式來開發,azure 上將會是大多只支援 .net core V2的版本

於 Azure 的計算類別上面建立 azure function

        [FunctionName("FunctionSB")]
        public static void Run([ServiceBusTrigger("finace", Connection = "sbConnection")]string myQueueMsg, ILogger log)
        {
            var person = JsonConvert.DeserializeObject<Person>(myQueueMsg);

            string message = person == null ? "empty" : $"Name:{person.Name}, Age:{person.Age}";

            log.LogInformation($"C# ServiceBus queue trigger function processed message: {message}");
        }


    public class Person
    {
        public string Name { set; get; }
        public int Age { set; get; }
    }

在資源建立成功後,可以先從 azure function中先把發佈檔先下載下來後再匯入程式以便發行

再到 azure function 上設定應用程式的連線字串 值 sbConnection

接著就可以使用工具來測試將 message 送至 service bus 是否可以接著 trigger  azure function 的運作了