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

uzu*_*zul 9 azure azure-table-storage

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

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

Gau*_*tri 8

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


San*_*tia 5

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

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