[英]Accessing data on Amazon's DynamoDB via JavaScript
1)客户端访问:无论如何使用客户端JavaScript(REST / Ajax / jQuery)对DynamoDB执行CRUD操作?
我知道亚马逊支持.NET和Java。
2)服务器访问:有没有办法我们可以使用服务器端JavaScript(Node.js)访问DynamoDB而无需在服务器上安装Java / .NET?
更新2012-12-05
现在有一个适用于Node.js的官方AWS SDK ,请参阅AWS SDK for Node.js的介绍性文章- 现在可在预览表单中获取详细信息,以下是最初支持的服务:
SDK支持Amazon S3 , Amazon EC2 , Amazon DynamoDB和Amazon Simple Workflow Service ,并支持绘图板上的其他服务。 [强调我的]
更新2012-02-27
Wantworthy实施了Node.js的模块用于访问亚马逊DynamoDB一个星期推出日期之后,因此覆盖2)为好,见倍增 :
Dynode旨在成为使用Amazon DynamoDB服务的简单方便的方法。 亚马逊的http api很复杂,并且不明显如何与它进行交互。 该客户端旨在提供一种使用DynamoDB的简化更明显的方式,但不会妨碍您或限制您可以使用DynamoDB执行的操作。
更新2012-02-11
彭燮基本上实现了一个Node.js模块,用于在发布日期访问Amazon DynamoDB ,因此已经覆盖2),请参阅dynamoDB :
DynamoDB使用JSON进行通信。 [...]此模块包装请求并负责身份验证。 用户将负责制作请求并使用结果。
遗憾的是,截至目前,还没有适用于AWS的官方/完整JavaScript SDK(有关可用产品,请参阅AWS软件开发套件和boto [Python] )。
幸运的是,已经通过Node.js库aws-lib提供了JavaScript中几个AWS服务的良好覆盖,这将是相应添加DynamoDB的良好起点。 截至目前,尚未提交添加对DynamoDB支持的未解决功能请求。
此外,AWS论坛用户gmlvsk3最近为DynamoDB实现了专用的JavaScript接口 ,但据说您需要[a] Java运行时来运行它 ,因为它基于Mozilla Rhino JavaScript引擎 - 我还没有详细检查过代码(乍一看它虽然与aws-lib相比看起来有点不成熟,但可能无论如何都可以满足你的需求),所以你应该自己检查一下。
最后,您当然可以自己实现对Amazon DynamoDB的 JavaScript HTTP请求 (有关详细信息,请参阅Amazon DynamoDB的API参考 ):
如果您不使用其中一个AWS开发工具包,则可以使用POST请求方法通过HTTP执行Amazon DynamoDB操作。 POST方法要求您在请求的标头中指定操作,并在请求正文中以JSON格式提供操作的数据。
我创建了一个名为Dino的模块,以便更轻松地在Web应用程序中使用AWS SDK。 您可以使用Restify之类的东西通过REST接口将数据公开给jQuery。
假设您想要为用户显示博客帖子的页面。 使用Dino和Restify,您将执行以下操作:
server.get('/posts/:user_id', function(req, res, next){
Post.find({
match: {
user_id: req.params.user_id
},
skip: req.params.skip || 0,
take: req.params.take || 10
}, function(err, posts){
return res.send(posts.toJSON());
});
});
关于1),现在浏览器中的AWS SDK for JavaScript允许您访问包括DynamoDB在内的服务 。
2)自DDB发布日起,我们一直在努力。 它的一个关键特性是简单/性能以及与Amazon官方Java / PHP库的接近程度(重试行为等):
https://github.com/teleportd/node-dynamodb
它成功地用于各种地方的制作,有100多个写/秒(在传送时)。 此外,我们正在研究一个模拟版本,以便有效地测试库的客户端代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.