当前位置: 首页 > 知识库问答 >
问题:

boto3 Dynamodbbatch_writer如何执行回滚

马寒
2023-03-14

我正在使用boto3访问AWS Dynamodb表并批量写入它,下面是示例代码:

with table.batch_writer() as batch:
    try:
        for i in range(10):
            id = uuid.uuid4().hex

            # A function which perform a job and finish with write to the table
            # If the job fails, the function will raise an exception
            write_to_table(batch, id)
    except:
        # Perform a rollback
        print("{} failed".format(id))

是否可以使用BatchWriteItem对整个批执行回滚?(例如,在块中除外)。

谢谢

共有1个答案

司业
2023-03-14

我找到了一个解决方案,但我不确定这是不是一个好的解决方案:

batch = table.batch_writer()
try:
    for i in range(10):
        id = uuid.uuid4().hex
        write_to_table(batch, id)

    batch._flush()
except:
    print("passive rollback")
 类似资料:
  • 问题内容: 以下是我用来设置状态的代码。 即使成功创建了数据库,也无法调用,因为它始终是未定义的。 我试过了: 但是它仍然失败,尝试使用和使用,仍然没有运气。 我该如何解决? 问题答案: 您需要将正确的(类上下文)与回调方法绑定在一起,然后只有您才能访问类的属性和方法。 可能的解决方案: 1- 使用 箭头功能 ,如下所示: 2- 或与一起使用,如下所示: 您使用的方式也将起作用,保存方法内部的引用

  • 问题内容: 我使用$ .ajax()每5秒轮询一次操作方法,如下所示: 和ActionResult动作: 为了使用RedirectToAction,我不得不将操作返回类型更改为ActionResult(最初是JsonResult,而我正在返回),但是从$ .ajax()成功回调中重定向和呈现新的View看起来很麻烦。我需要从此轮询ajax回发中重定向到“ AnotherAction”。Firebu

  • 问题内容: 我想从函数中获取价值。功能上有一个障碍。当块执行时,该功能已返回该值。我尝试了许多不同的方法,但它们并没有帮助我。我用和调度。该函数始终返回值,直到执行块为止。 问题答案: 您不能简单地返回此处,因为reverseGeocodeLocation函数正在异步运行,因此您将需要使用自己的完成块:

  • 使用Version4.0.3,我现在有一个IN和OUT序列参与一个JMS到HTTP代理,该代理由一个错误处理程序定义,如果出现异常,该处理程序将成功回滚JMS本地事务,但是在响应中返回SOAPFault(只有来自ClientHandler的警告消息)的情况下不会引发错误,因此我丢失了原始JMS消息(它已提交)。我应该注意,如果我在OUT序列中解析响应并在那里发现错误,那么在那里执行回滚没有任何效果

  • 我正在从C#转向java,这是我第一次尝试实际编写一些东西,我正在尝试设置我的数据层,但我想我错过了一些东西,比如LINQ中的DataContext到.NET中的SQL 我正在尝试使用Hibernate查询数据库,但似乎我缺少了什么,我下载了Hibernate4和QueryDSL来进行类型安全查询。 接下来,我连接到我的postgreSQL数据库,并使用Dali生成DAO对象(我想?在菜单中,我从

  • 在上面的代码中,我不确定val插入到程序集字符串的哪个位置。val是否替换字符串中的%c? 如果可能的话,有人可以澄清什么也是做什么的?