Articles of amazon web services

NodeJS:如何处理并行运行的可变数量的callback,并将它们的响应映射到请求?

作为一个自学更多的关于node js的练习,我开始使用aws-sdk为SimpleDB(sdb)创build一个基本的CRUD REST服务器。 一切都运行顺利,直到我得到一个读取域的function。 aws-sdk有两个function: listDomains和domainMetadata 。 listDomains返回一个sdb域名的数组。 domainMetadata将返回有关域的其他统计信息,但一次只返回一个域的统计信息。 它不包含结果中的域名。 我的脚本运行listDomains并在JSON响应中返回一个数组就好了。 我想让我的api readDomains函数更加雄心勃勃,并让它在同一个API调用中返回所有域的元数据。 毕竟,同时运行一些domainMetadata调用是节点的asynchronousio应该发光的地方。 问题是我无法弄清楚如何运行可变数量的调用,使用相同的callback所有这些,将每个domainMetadata调用的结果匹配到它的domainName(因为它是asynchronous的,他们不保证返回请求的顺序),并告诉所有的元数据请求何时完成,以便我可以发送我的最终答复。 把代码放在我的问题领域是: domain.receiveDomainList = function(err, data){ var domainList = []; for(var i=0; i<data.DomainNames.length; i++){ sdb.domainMetaData({"DomainName":data.DomainNames[i]},domain.receiveMetadata); // alternatively: domainList.push({"DomainName":data.DomainNames[i]}); } // alternatively: // async.map(domainList, sdb.domainMetadata, domain.receiveMetadata) console.log(domainList); } domain.receiveMetadata = function (err, data){ // I figure I can stash the results one […]

基于Node.js的快速应用程序极其缓慢的EC2微型实例

这是设置: ec2微型实例 MySQL 5.6 Redis服务器 Node.js(基于快车的应用程序) Nginx作为反向前端代理。 这很慢。 非常慢。 我知道这是一个微型实例,你得到你所支付的(考虑到它是免费的)。 我甚至使用了MySQL的交换文件,而且它太慢了,以至于无法使用。 我应该旋转2个中等实例(1为db / redis和一个为应用程序服务器)? 保持一切,并将其升级到一个大的实例? 另外,我应该寻找什么? 更多的RAM为MySQL和更多的CPU的应用程序服务器? 任何input都会非常有用(尤其是那些过去曾经使用类似设置的input)。

更改aws beanstalk nodejs应用程序的process.env.RDS_PASSWORD

我部署了一个连接到RDS数据库的aws beanstalk应用程序(使用nodejs)。 由于某些原因,我不得不通过RDS实例选项更改此数据库的主密码。 现在我想用这个新密码更新我的process.env.RDS_PASSWORD(现在我必须把它“清除”在代码中)。 我没有find如何做到这一点,无论是在AWS文档或其他地方:/ 谢谢你的帮助 !

适用于node.js的AWS sdk

我正在通过弹性beamstalk CLI上传一个node.js文件。 我使用AWS提供的样本。 var http = require("http"); var AWS = require('aws-sdk'); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello Worlds"); response.end(); }).listen(process.env.PORT || 8888); 一切工作正常,直到我包括: var AWS = require('aws-sdk'); 然后我得到这个错误消息。 502 Bad Gateway nginx/1.4.7 我该如何解决? 我只上传一个文件,server.js豆浆。 谢谢

使用ExpressJS限制文件大小时将streamfile upload到S3

我想将用户的file upload到S3。 我有一个Web客户端/ NodeJS Express解决scheme。 到目前为止,在我的研究中,我发现使用分段上传,我可以做任何一个这样的: 1.)如果直接使用pipe道启用stream,那么我无法控制文件的大小 。 2.)如果需要控制大小,必须禁用pipe道/stream,并且必须将文件写入磁盘或内存缓冲区才能检查文件大小,然后将其传送到S3。 有什么办法可以让这两个? 我正在看以下中间件: 打杂 多党 multer 强大

AWS-SDK S3 deleteObjects返回MalformedXML?

使用aws-sdk(2.0.18)作为node.js,我试图用deleteObjects方法删除多个对象。 delete: function (objects, callback) { var s3delete = new AWS.S3(); var params = { Bucket: config.s3.bucket, Delete: { Objects: objects } }; s3delete.deleteObjects(params, function (err, deleted) { if (err) { console.log(err, err.stack); return callback(err); } return callback(null, deleted); }); } 我的params对象看起来像这样: { Bucket: 'bucketname', Delete: { Objects:[ {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"}, {"Key":"folder/file.extension"} […]

AWS ElasticBeanstalk NodeJS

我想使用预定义configuration“Node.js”和“64bit Amazon Linux 2014.09 v1.0.9”的ElasticBeanstalk。 问题是我的NodeJS应用程序使用需要GraphicsMagick的gm,但是GrpahicsMagick没有安装在预定义的configuration上! 是否有可能告诉Amazon AWS在引导后和部署NodeJS应用程序之前安装缺less的软件包? 我还有哪些其他的可能性?

SNS能发送encryption邮件吗?

我正在尝试使用node.js,logging lib winston和AWS的SNS设置exception报告机制。 基本的想法是,当node.js崩溃时,winston会发布堆栈跟踪到SNS,然后通过电子邮件地址发送给我。 我的问题是关于encryption:SNS是否清楚地发送电子邮件? 我想我的例外和堆栈跟踪从snoopers混淆,显而易见的原因。

一个关于Amazon Beanstalk的命令

我刚刚在亚马逊豆茎部署了我的第一个应用程序,并陷入了一个看似简单的问题。 我使用了node.js脚本,即:迁移数据库模式或使用生成的示例数据填充RDS。 对于Heroku的应用程序,我只是使用 heroku run <statement> 有没有相当于那个亚马逊豆茎? 这是一个好的工作stream程?

如何在AWS Elastic Beanstalk上安装Deployd

我正试图在AWS Elastic Beanstalk上安装deployd。 我创build了一个node.js环境。 本地,我做了: npm install depoyd -g 我也创build了一个.dpd文件夹, dpd keygen 这是我的package.json文件 { "name": "my-api", "version": "1.0.1", "description": "My description", "keywords": [], "homepage": "http://www.example.com", "author": "Me, Myslef and I", "contributors": [], "dependencies": { "deployd": ">= 0" }, "scripts": { "start": "node server" }, "engines": { "node": "0.10.x", "npm": "2.2.x" } } 这是我的server.js文件 // requires […]