【发布时间】:2017-06-11 01:32:52
【问题描述】:
我的系统架构如下:-
SNS -> AWS Lambda -> Dynamo Db
因此,SNS 发布消息,AWS Lambda 函数是订阅者,然后 AWS Lambda 将数据推送到 Dynamo Db。在此,我正在对 AWS Lambda 中的消息进行一些转换。对于转换,我必须从某个地方获取一些规则。这些规则基本上是原始消息的字段到转换消息的字段之间的映射。
Eg.
Say, Original Message looks like below:-
{"id": 1,
"name":"dsadas",
"house":"dsads dsadsa",
"speciality":"asjdsa"
}
and my mapping is something like:-
{"id":"id",
"house":"home",
"speciality":"area"
}
所以,基本上我是说 id 应该映射到 id、house to home 等等。
所以,我想将此映射保留在 Dynamo Db 或某些配置服务等某些地方。我不想直接将它保存在 aws lambda 代码中,因为我可能不得不更改。但是我认为将它保存在 Dynamo Db 中的延迟会非常昂贵,因为我会在每个消息请求上进行调用。因此,任何人都可以建议任何可用于保存这些配置的 aws 资源,这些配置非常快并且通常用于保存配置。
【问题讨论】:
-
一个考虑:听起来你可能不完全理解 Lambda 频繁的容器重用的一个含义。声明一个全局变量(在处理程序之前,具体机制当然取决于语言)并且每次调用时,只有当变量未定义时,您才需要将配置加载到该变量中。如果变量已经有值,则不需要再次加载它,而且您经常会发现它已经填充,因为容器正在被重复使用。
标签: amazon-web-services amazon-dynamodb aws-lambda