我正在嘗試對觸發的消息(隊列)進行一些日志記錄,這樣,如果消息失敗并且下次它被網絡作業拾取,我會記錄一些信息,這樣我就不會重做成功路徑(例如發送stage1) 之后向客戶端發送的消息。因此,我計劃使用 azure blob 存儲綁定來配置為輸入和輸出流。但為了做到這一點,我需要為該斑點起一個唯一的名稱。我的消息中有一個 guid,我計劃使用該 guid 從 blob 存儲中讀取/寫入。如何從隊列消息內的 guid 字段動態配置此 blob 存儲名稱綁定。(我的消息非常大,我不想使用整個消息作為 Blob 存儲名稱)。public static void ProcessQueueMessage([QueueTrigger("%testQueue%")],TestMessageModel testMessage,[Blob("testStorage/{queueTrigger}", FileAccess.ReadWrite)] Stream logstream){}正如您所看到的,官方文檔僅使用queueTrigger,它使用消息內的字符串作為blob名稱。但我的消息看起來像這樣public class TestMessageModel{ public Guid Id {get; set;} public int FromOrg {get; set;} public DateTime BatchDate {get; set;} public Payments[] payments {get; set;} // this array is big (many items)}我不想使用一些可笑的東西作為 blob 名稱。如何使用testMessage中的Id?
2 回答

動漫人物
TA貢獻1815條經驗 獲得超10個贊
添加與存儲 Blob 的輸出集成。并將路徑值設置為容器名稱。
在函數代碼中,您可以直接使用容器,并創建具有特定名稱的 blob(可以從隊列消息中獲?。?/p>
最后,您將能夠在目標容器中看到具有特定名稱的 blob。

小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
這很有幫助。但對于 webjob,我之前需要使用 Blob 才能正確綁定它。
public static void ProcessQueueMessage([QueueTrigger("%testQueue%")],
TestMessageModel testMessage,
[Blob("testStorage")] CloudBlobContainer blobContainer)
{
CloudBlockBlob blockBlob = blobContainer.GetBlockBlobReference(testmessage.id+".txt");
}
- 2 回答
- 0 關注
- 141 瀏覽
添加回答
舉報
0/150
提交
取消