Azure 表格儲存體踩坑實錄

阿蘇卡
2 min readMay 6, 2020

--

使用 Azure 佇列儲存體時,常搭配表格儲存體使用,紀錄佇列工作處理時間、狀態...等。

要新增表格紀錄,自訂的資料格式必須要繼承 TableEntity

TableEntity 包含以下 4 個欄位:
1. RowKey:群組概念,區分不同性質資料
2. PartitionKey:PK 概念,區分每筆資料
3. Timestamp:紀錄資料上次被建立、異動的時間
4. ETag:目標與來源資料是否一致的判斷依據,避免當要更新儲存體資料時,資料與儲存體中版本不同,導致資料錯誤

問題:DateTime 無法顯示

以下是我的紀錄 Model:

本機測試時很完美,但發布到站台上結果就會遭經(台語):

前兩筆 StartTime 有紀錄時間的是從本機送出的紀錄,後面為 null 值的都是站台執行結果。

百思不得其解

直到看到了文件上這句話:

難道~~MS 預期時間類型應該是 DateTimeOffset ?

DateTimeOffset 作為預設的日期與時間類型

比對 TableEntity 中 TimeStamp 屬性,類型的確為 DateTimeOffset

Reference from MSDN

修正後~資料可正確顯示了!!!!

心得:寫程式時眼觀四面(複製貼上)很重要

--

--

阿蘇卡
阿蘇卡

Written by 阿蘇卡

後端工程師。記錄下自己開發路上踩過的坑、研究過後的心得,希望對自己好,對其他工程師也好~

No responses yet