boto3:原子地执行 2 个动作?
boto3: perform 2 actions atomically?
我有 2 个 api 调用要发送到 AWS:
- 将项目放入 s3
- 向 DynamoDB 写入一行
我希望两者都发生,或者如果有错误,两者都不会发生。
是否可以使用 boto3
来实现?
这不可能自动完成。没有工具可以将 Boto3 中的多个操作标记为原子操作。您将需要编写代码来检查响应代码,并从这两个操作中捕获异常,然后跳过或 roll-back 另一个操作。
例如,如果您已经成功将对象 PUT 到 S3,但 DynamoDB 插入失败,则您必须捕获该失败,然后 运行 S3 删除操作。
我有 2 个 api 调用要发送到 AWS:
- 将项目放入 s3
- 向 DynamoDB 写入一行
我希望两者都发生,或者如果有错误,两者都不会发生。
是否可以使用 boto3
来实现?
这不可能自动完成。没有工具可以将 Boto3 中的多个操作标记为原子操作。您将需要编写代码来检查响应代码,并从这两个操作中捕获异常,然后跳过或 roll-back 另一个操作。
例如,如果您已经成功将对象 PUT 到 S3,但 DynamoDB 插入失败,则您必须捕获该失败,然后 运行 S3 删除操作。