从浏览器使用DynamoDB的最简单方法是什么?

4
我正在构建一个作为静态JS应用程序提供的概念验证UI(只是在Netlify上免费提供静态托管),我希望能够读写NoSQL数据库中的数据。
由于这是一个PoC,所以我需要保持100%免费。请求速率将非常低,只有少数人会看到它。DynamoDB似乎是尺寸和成本($0)上不错的选择。
那么从浏览器客户端读/写DynamoDB数据的最简单方法是什么?很难确定绝对必要的内容。理想情况下,我想直接连接到数据库(没有API网关,没有lambda),同时保持某种基线安全性。
2个回答

5
您可以使用AWS浏览器SDK从浏览器查询DynamoDB,需要谨慎创建有限访问权限的IAM用户(例如:无updateTable权限等)。
请注意,任何人都可以劫持您的访问密钥并增加吞吐量、产生成本(如果他们拥有updateTable权限),或者在您的网站之外查询您的表并消耗所有可用容量。
我仍然建议使用API网关/lambda。

谢谢!使用API GW和/或Lambda会增加或改进什么? - T3db0t
API网关作为您的过滤层。它会增加调用的延迟(因为您的应用程序必须命中网关,然后将请求转发到DynamoDB),但可以编程实现限制来自单个客户端的请求速率或强制调用源自您的网站(以免被过滤掉)。这将保护您免受未经网关保护的“使用”攻击所导致的不必要的费用。 - zelusp

1

对于简单的DynamoDB请求,不需要使用API网关/lambda。我建议使用AWS CognitoAWS Amplify Auth Library来访问DynamoDB。然后使用像Dynamo-Easy这样的客户端,它具有一些很好的抽象,因此您可以在不学习来自AWS的DynamoDB JS客户端的底层知识的情况下快速启动开发。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接