2017-08-16 75 views
1

我正在玩Azure函數,並想了解如何獲取更詳細的錯誤消息。Azure函數失敗,出現StorageException

函數從隊列獲取輸入,這意味着將有多個並行運行的函數實例。該功能做了一些處理,並通過使用ICollector<>

功能相當頻繁要輸出到表存儲失敗例外

Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while executing function: Functions.LoadActivityDetail 
    ---> System.InvalidOperationException : Error while handling parameter outputTable after function returned: 
    ---> Microsoft.WindowsAzure.Storage.StorageException : Element 0 in the batch returned an unexpected response code. 

我可以從日誌此異常,但我想獲得更多一些細節如上所述「Unexpected Response Code for Operation: 0」 when executing Azure Table Storage batch delete

問題是我無法捕捉代碼中的異常,因爲綁定是在azure函數運行時完成的。

有沒有辦法如何啓用一些更詳細的日誌記錄?

+0

通常表存儲提供調試足夠的信息,你只需要看看異常的附加字段,則不需要「啓用」任何額外的日誌。據我所知,異常中有Response屬性,其中包含更多信息。 – cassandrad

+0

確實如此,例外情況會有細節。但如果使用表存儲綁定,則情況會有所不同。函數代碼不直接插入到表存儲中,它只是準備數據,而Azure函數運行時將嘗試插入並失敗。 – mybrave

回答

3

您能否啓用Application Insights?這會給你更多有關這些故障的詳細信息。

有關如何爲功能應用程序啓用應用程序見解的信息,請參閱here

另外,查看您的存儲帳戶日誌可能會提供有關可能導致故障的有用信息。

我也在創造這個問題跟蹤的增強:https://github.com/Azure/azure-webjobs-sdk/issues/1300

+0

感謝您的建議 - 我將啓用應用程序見解並再次檢查 – mybrave

+0

Application Insights似乎顯示與日誌中顯示的信息相同的信息,至少出現應用程序錯誤。感謝您提出github上的問題,獲取更多詳細信息將非常有用。順便說一句。我已經意識到這個問題是什麼,但如果日誌提供了更多的細節,可以更快地發現它。在我的情況下問題是數據的大小超過表中允許的64 KB列。 – mybrave

+1

是的。打開這個問題,以確保簡單的事情是清楚的。如果你有這個信息開始,這將是一個快速修復:)。很高興聽到您找到根本原因。奇怪的是,你在哪裏找到這些信息?存儲日誌? –

相關問題