承上篇介紹了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 的運作了