10

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

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

2 回答 2

9

答案是 1 - 即使批处理中的一个操作失败,整个操作也会失败(或者换句话说,回滚)。这类似于在关系数据库中执行事务。有趣的是,当这种情况发生时,您会在响应中获得失败实体的索引。检查此线程以获取更多详细信息:Azure CloudTable.ExecuteBatch(TableBatchOperation) 引发存储异常。如何找到导致异常的操作?

于 2013-01-18T13:41:25.980 回答
5

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

TableBatchOperations 或实体组事务以原子方式执行,这意味着所有操作都将成功,或者如果单个操作之一导致错误,则整个批处理将失败。

于 2013-01-18T13:43:12.373 回答