问题描述
我正在创建一个应用程序,它应该只存储一些配置。我使用 AWS AppConfig 作为配置存储。
我希望能够通过代码更新这个配置数据。因此,当事件发生时,我想调用 SQS 来创建一条消息,其中包含要附加的新配置数据。 SQS 应该调用一个 lambda。 Lambda 应从 AppConfig 获取最新配置,附加新配置,然后部署到 AppConfig。
因此,我希望 AppConfig 具有旧配置,并附加新配置。
是否有一种简单的方法可以仅使用 AWS 服务来实现这一目标?
解决方法
我没有尝试过这些,也没有直接使用过 AppConfig,但从网络上拼凑信息对您来说应该不难。
- 创建 SQS 队列以保存更新。
- 创建 Lambda 以从 SQS 队列中读取数据。
- 为从队列接收消息的 Lambda 编写代码,提取 AppConfig 并使用新值进行更新。使用多种适用于您的首选语言的 AWS 开发工具包之一。
您应该注意的一件事是 Lambdas 可以一次运行多个,因此假设您的 AppConfig 如下所示:
{
"version": 1
}
然后两个更新同时推送到 SQS 队列:
{
"update1": "abc"
}
and
{
"update1": "xyz"
}
它们可以同时执行,并且可能会发生竞争条件,即两者都保存但一个覆盖另一个。
我在这里看不到 SQS 队列的好处,也不了解使用此设置的完整用例或原因,但我认为可能有更好的方法来实现您想要实现的目标。