从S3获取数据在html表示,AWS Lambda从DynamoDB加载内容,以S3格式显示在HTML中(示例代码)...

我正在从S3加载一个HTML页面,它将包含来自数据库的动态信息。我已经找到了关于如何解决这个问题的一些信息,并且想知道这是否最好用lambda模板化或将页面拉入lambda函数并动态更新HTML。我一直在lambda函数中使用python。先感谢您!

答案

为此,在Lambda中使用模板机制(使用Lambda捆绑和部署)更有效,除非您需要更频繁地更改模板(可以从S3加载模板)。

这样,它将减少Lambda执行的时间,从而降低成本,您只需要执行DynamoDB查询即可获取数据。

通常,对于NodeJS,我使用Lodash templates。您应该能够找到一个简单的Python模板引擎,它允许您分离HTML模板,您可以在其中绑定从DynanmoDB检索的数据。

另一答案

这应该指向正确的方向:

import boto3

s3 = boto3.resource('s3')

obj = s3.Object(bucket, key)

html = obj.get()['Body']

import boto3

dynamodb = boto3.resource('dynamodb')

table = dynamodb.Table('name')

... query() or get_item(), etc

然后将更改写入s3对象:

obj.put(Body=html)

最后,什么会触发lambda函数?对我来说,对dynamoDB进行更改会触发lambda是有意义的,lambda可以在aws控制台中配置。

免责声明:我没有对此进行任何测试,代码片段中可能存在错误,遗漏等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值