amazon-web-services - 避免覆盖的 AWS S3 结帐策略
问题描述
我正在尝试利用存储在 S3 中的集合来维护 ID 列表。但是,我有一个小问题。每当创建新帖子时,都应该通过 lambda 函数使用新 ID 更新该集合,但我担心如果同时发布两个帖子会被覆盖。这将导致从 S3 中提取 2 个单独的集合实例,其中一个用户将覆盖另一个用户的数据,其中一个 ID 将“丢失”。有没有办法实现某种队列,以便只有在 lambda 函数已经从先前的拉取更新对象之后才会拉取对象?
解决方案
我自己还没有实现它,但是为什么不尝试为您的 S3 存储桶打开版本控制。然后您不能意外覆盖,因为每次将某些内容写入文件时,它总会有一个版本。您只需要增强您的 Lambda 代码即可使用所编写文件对象的文件版本。如果您可以访问 DynanoDb,那么也许宁愿使用它来为您的 ID 进行“条件更新”。这样,您就有了一个轻量级的机制来保证您不会在不知道的情况下覆盖它。
推荐阅读
- swift - (Swift) 关于通知触发器的问题
- python - aws s3 sync --exlude 选项在子进程内运行时无法识别
- python - StringIO 和实际文件大小之间的文件大小差异
- hla - POLINK:警告:/SECTION:.bss 被忽略;部分缺失
- php - 有什么办法可以防止在特定页面上的 php/Wordpress 中加载文件
- mysql - Spring Boot-键'PRIMARY'的重复条目
- python - 为什么选择自制 SDK 时,intellij 会为 python 选择 miniconda 路径?
- google-cloud-platform - 将大量文件从 Box 直接移动到 Google 存储桶?
- android - 获取滚动视图的更新大小
- nginx - Lua拆分和组合字符串