我有一个bash脚本,该脚本使用AWS CLI将值放入AWS Systems Manager参数存储中的参数。
bash脚本在EC2实例上运行,并且部署了多个实例。因此,我无法控制bash脚本的并发性。如果存在并发更新,并且脚本的更新被拒绝,我需要重试该脚本。
我已经检查了AWS文档,并在其他问题和论坛中搜索了有关此主题的文档。
我所能指的是记录在here中的“ TooManyUpdates” 400错误。
AWS Systems Manager参数存储在并发更新上的行为是什么?
答案 0 :(得分:2)
我建议使用DynamoDB Lock Client来维护SSM参数的读写锁定。
Amazon DynamoDB Lock Client是为DynamoDB构建的通用分布式锁定库。 DynamoDB Lock Client支持细粒度和粗粒度锁定,因为锁定键可以是任意字符串,最大长度为一定。 DynamoDB Lock Client是一个开源项目,将得到社区的支持。如有疑问,请在GitHub存储库中创建问题。
参考:https://aws.amazon.com/blogs/database/building-distributed-locks-with-the-dynamodb-lock-client/