如何在不同的lambdas之间共享数据?

时间:2017-10-17 21:06:49

标签: amazon-web-services aws-lambda amazon-rds

所以我需要一些关于lambda的帮助。

我建立了5个lambdas处理我的产品与一些外部apis,如检查价格,获得更好的图像,等等。

现在每个lambda都有一个带有我所有Rds连接字符串的json文件。我正在移动其他进程的方式,我使用lambda和crda作业,但我担心我将最终复制和粘贴该数据,如果我再添加一个rds,我将需要编辑我所有的lambda。< / p>

分享这些信息的最佳方式是什么?

我想到了S3,但我认为让我的所有数据库都可以访问它是不安全的。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

亚马逊建议使用SSM参数存储来存储Lambda(和其他服务)的变量(替换环境变量)。 SSM参数存储支持加密/解密。非常适合将数据库凭据存储在一个可共享的位置(在同一区域内)。

以下是一些可以帮助您入门的链接:

SSM Parameter Store

The right way to store secrets

答案 1 :(得分:0)

我们使用DynamoDB来共享数据。关于DynamoDB的另一个好处是Lambda可以订阅DynamoDB流并在数据发生变化时更新数据。

如果你有5个不同的lambda,那么只要DynamoDB中的数据发生变化,你就可以订阅DynamoDB流并进行更新。

有关DynamoDB Streams和Lambda Trigggers的更多信息:

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html

希望它有所帮助。