這篇主要是用來使用 Azure Service Bus 以幫助我們儲存所需的資訊
首先需要先在 azure 上面建立起所需的資源,如果找不到可以直接搜尋 Service Bus
建立完 Service bus 後,需要建立要用的佇列,可依你所需要的用途建立
比方 Finance 使用的就建一個,Employee用的就建另一個,兩個資料並不互相打架
在這邊可以設定資料保留多久後不取用會自動轉為無效資料 (這邊設定為 7 天)
甚至也可以看個人需要是否要讓 service bus 幫你偵測重複資料
在設定\共用性原則 可以看到金鑰與連接字串的東西可以設定到你的應用程式上
在寫程式之前,可以先把 azure service queue sdk 的元件先用 nuget 裝起來,可參考官方文件
這邊使用的是 Message,當然你也可以使用 BrokerMessage 的型別,相關資訊可以看這裡
public async Task<string> WriteServiceBusQueue(string name, string value)
{
var queueClient= new QueueClient(_ServiceBusConnectionString, _QueueBusName);
var message = new Message(Encoding.UTF8.GetBytes($"{name}:{value}"));
await queueClient.SendAsync(message);
}
取出資料的部份亦可以參考微軟官網的做法(非同步),或是使用 ServiceBus Queue trigger Azure Function 的做法自動消化
這邊另外介紹一項工具可以讓我們測試 Service Bus
裝好之後設定完剛剛在 azure 設定完的 connection string 即可進行測試
於 file => connect 新增你的連線即可
進行測試送出訊息至 佇列
送出後直接到 azure service bus 佇列上看即會發現已有一筆資料寫入了
再回到工具按右鍵可以使用 receive message 的功能
這邊使用的是 Peek(偷看): 看了訊息並不會不見,除非是使用的是 receive and delete (一般程式面使用的模式)
即可看到非常細節的資料,比方說 MessageId, Enqeueued Time...)
下一篇將會介紹如何使用 Service Bus Trigger 的方式來觸發 azure function
參考文件
https://github.com/paolosalvatori/ServiceBusExplorer