我剛開始使用Azure Webjobs發送有關使用我開發的工具完成的成功檢查的電子郵件通知。 Webjob由控制器發送的CloudQueueMessage觸發。基本上一切工作都很好。Azure Webjobs:重播成功函數行爲
但是現在我想知道如何處理Webjobs儀表板中的'Replay Function'按鈕:我試圖用這個按鈕來重播一個成功的CloudQueueMessage(並因此重新發送郵件)。
消息被添加到隊列中,並且我的Webjob被觸發,但是如果檢查CloudQueueMessage,則某些以前設置的屬性(如Id和PopReceipt)爲空。什麼導致這種行爲?
我需要Id,因爲在我的Webjob中,我使用'UpdateMessage()'來設置消息的處理狀態。
謝謝!這種行爲是否記錄在某處? 在我的webjob中,我首先發送一封電子郵件,然後創建一個數據庫條目。我更新消息以避免在數據庫更新期間出現錯誤時重新發送電子郵件。 CloudQueueMessage.Id對此是必需的。 我認爲如果重播消息只在內存中,那麼webjob將不會被第二次觸發。所以一切都應該沒問題。 我將在更新消息之前檢查Id和PopReceipt是否爲空(表示這是內存中的消息)。 >>'你可以修改郵件正文。' 我想這樣設置MessageId是不可能的,是嗎? – krombi
我不確定是否有關於此的具體細節,但是有Dashboard文檔頁面鏈接到此主頁面:https://azure.microsoft.com/en-us/documentation/articles/websites-webjobs-resources/ – mathewc
此外,通過「修改郵件正文」,我指的是重播UI中字符串中的任何數據。如果你綁定了一個POCO,你可以設置JSON屬性等,並且你的函數會得到它們。 – mathewc