如果TableBatchOperation的一个操作失败会发生什么?

时间:2013-01-18 13:35:55

标签: azure azure-table-storage

执行批处理时,如果TableBatchOperation的其中一个操作失败:

  1. 批量中的每个操作都被取消
  2. 处理有效的所有其他操作
  3. 处理队列中的第一个有效操作,直到一个操作失败,并且不处理后续操作

2 个答案:

答案 0 :(得分:8)

答案是1 - 即使批次中的一个操作失败,整个操作也会失败(或换句话说回滚)。这类似于在关系数据库中执行事务。有趣的是,当发生这种情况时,您会在响应中获得失败实体的索引。请查看此主题以获取更多详细信息:Azure CloudTable.ExecuteBatch(TableBatchOperation) throws a storageexception. How can I find which operation(s) caused the exception?

答案 1 :(得分:4)

官方博文:http://blogs.msdn.com/b/windowsazurestorage/archive/2012/11/06/windows-azure-storage-client-library-2-0-tables-deep-dive.aspx

  

执行TableBatchOperations或实体组事务   原子意味着要么所有操作都会成功,要么就是这样   是一个单独的操作整个操作引起的错误   批次将失败。