AWS SSM 参数存储并发更新给出 "TooManyUpdates" 错误
AWS SSM Parameter store concurrent updates gives "TooManyUpdates" error
我有一个 bash 脚本,它使用 AWS CLI 为 AWS Systems Manager Parameter Store 中的参数赋值。
bash 脚本在 EC2 实例上 运行 并且部署了多个实例。所以我无法控制 bash 脚本的并发性。如果存在并发更新并且来自脚本的更新被拒绝,我需要脚本重试。
我查看了 AWS 文档并在其他问题和论坛中搜索了有关此主题的文档。
我只能参考 "TooManyUpdates" 400 错误记录 here。
AWS Systems Manager Parameter Store 在并发更新时的行为是什么?
我建议使用 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/
我有一个 bash 脚本,它使用 AWS CLI 为 AWS Systems Manager Parameter Store 中的参数赋值。
bash 脚本在 EC2 实例上 运行 并且部署了多个实例。所以我无法控制 bash 脚本的并发性。如果存在并发更新并且来自脚本的更新被拒绝,我需要脚本重试。
我查看了 AWS 文档并在其他问题和论坛中搜索了有关此主题的文档。
我只能参考 "TooManyUpdates" 400 错误记录 here。
AWS Systems Manager Parameter Store 在并发更新时的行为是什么?
我建议使用 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/