2015-06-29 33 views
0

我開始使用表存儲。我有模擬器(v4.0.0.0)工作,並可以通過代碼成功創建表(我認爲我使用的是客戶端庫的v2.6)。但我似乎無法插入實體。無法使用仿真器v4.0.0.0將實體插入新表

根據這篇文章從2010年(Azure Table Storage, what a pain in the ass)我第一次使用表時需要插入一個虛擬實體(僅適用於模擬器)。

我還需要爲存儲模擬器v4.0.0.0做這個嗎?文章中提供的代碼也使用已折舊的成員,因此如果可能,我寧願不使用它們。

更新 - 我無法成功調用results = table.ExecuteBatch(b);它未能在第一實體,其中爲result = table.Execute(b[0]);似乎工作。看起來我需要做更多的挖掘。

更新 - 這是我穿過的異常收到錯誤信息:

錯誤消息: 「操作意外的響應代碼:0」

  • RequestInformation.HttpStatusCode:400
  • RequestInformation.ExtendedErrorInformation.ErrorCode:「InvalidInput」
  • RequestInformation.ExtendedErrorInformation.ErrorMessage「0:其中一個請求輸入無效。 RequestId:6d740e0e-f013-4d29-a712-2942115e8e4d \ n時間:2015-06-29T20:28:05.5784120Z「
  • Stacktrace(剪切):」at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T (RESTCommand 1 cmd, IRetryPolicy policy, OperationContext operationContext)\r\n at Microsoft.WindowsAzure.Storage.Table.TableBatchOperation.Execute(CloudTableClient client, CloudTable table, TableRequestOptions requestOptions, OperationContext operationContext)\r\n at Microsoft.WindowsAzure.Storage.Table.CloudTable.ExecuteBatch(TableBatchOperation batch, TableRequestOptions requestOptions, OperationContext operationContext)\r\n at Morphological.FinanceTracker.AzureDataProvider.AzureStorageDataProvider.SaveTransactionsToAzure(List 1表)在C:\ ... \ AzureStorageDataProvider.cs:61" 行
+0

當您致電執行時出現什麼錯誤批量? –

+0

Hi @ SerdarOzler-Microsoft - 問題已更新以包含該問題。 –

+0

你可以檢查一下'b'中有多少操作? –

回答

3

由於也記錄在我們的Performing Entity Group Transactions文章,實體組事務(批)不能包含超過100個實體錯誤信息應該一定更清楚,所以我會將它作爲一個錯誤進行存檔,但是將實體數量減少到< = 100應該可以防止您看到的錯誤。

+0

謝謝你做到了。是的,「InvalidInput」是正確的,但沒有那麼有用;並且我發現「操作的意外響應代碼:0」有點讓人誤解,因爲我預計第一個項目會出現問題。仍然很高興得到它的解決,感謝您的幫助 - 我特別高興爲貢獻更好的錯誤信息。 –