Articles of amazon web services

npm全局安装在弹性豆茎上

我正在遇到一个安装PM2的问题,在aws elastic beanstalk上全局安装。 我创build了以下用于安装pm2的脚本: option_settings: – option_name: NODE_ENV value: production container_commands: 01_enable_rootaccess: command: echo Defaults:root \!requiretty >> /etc/sudoers 02_install_imagemagic: command: yum install -y ImageMagick 03_download_new_relic: command: rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm ignoreErrors: true 04_install_new_relic: command: yum install -y newrelic-sysmond ignoreErrors: true 05_add_license_key: command: /usr/sbin/nrsysmond-config –set license_key=xxxxxxx ignoreErrors: true 06_start_new_relic: command: /etc/init.d/newrelic-sysmond start ignoreErrors: true 07_install_pm2: command: sudo […]

AWS Lambda可以与外部Internet服务通话吗?

借助AWS的革命性全面pipe理function编程支持, AWS lambda可以与外部互联网/系统进行外部通信。 这个想法/动机是,如果AWS Lambda使用NodeJS SDK来提供服务PubNub,Pusher – 那么卸载实时通信的处理器方面会很好。

将AWS Lambda连接到Redshift – 在60秒后超时

我创build了一个AWS Lambda函数: 通过JDBC URLlogin到Redshift 运行一个查询 在本地,使用Node,我可以通过JDBC成功连接到Redshift实例,并执行查询。 var conString = "postgresql://USER_NAME:PASSWORD@JDBC_URL”; var client = new pg.Client(conString); client.connect(function(err) { if(err) { console.log('could not connect to redshift', err); } // omitted due to above error 但是,当我在AWS Lambda上执行该function(包装在asynchronous#瀑布块中)时,AWS Cloudwatch日志告诉我,AWS Lambdafunction在60秒后超时。 任何想法,为什么我的function无法连接?

用于创buildEMR集群的Lambda不会激发集群创build

我试图运行一个创build一个集群的λ代码,但没有任何反应,也许我误解了Node上的用法(因为我不太熟悉它)。 function如下简单: //configurationAWS Dependecies var AWS = require('aws-sdk'); exports.handler = function(event, context) { // EMR Client var emr = new AWS.EMR({apiVersion:'2009-03-31', region:'us-east-1'}); var params = {… dozens of params describing jobs …}; var AWSRequest = emr.runJobFlow(params); AWSRequest .on('success', function(response){ console.log("success => " + response)}) .on('error', function(response){ console.log("error => " + response)}) .on('complete', function(response){ console.log("complete => […]

Lambda调用callback后调出

我使用Javascript的4.3运行时使用两个lambda函数。 我运行第一个,它同步调用第二个(同步是意图)。 问题是第二次(60秒),但实际上只有22秒后才能成功完成。 以下是两个Lambda函数之间的stream程: Lamda函数我不再获取CloudWatch日志,但真正的问题(我认为)是无意中超时的函数B. 以下是一些CloudWatch日志来说明这一点: 下面包含了functionB末尾的代码 – 包括上图中的“成功”日志语句。 最初我只有callback(null, 'successful …')行,而不是nodejs 0.10.x方式,你从上下文调用succeed() 。 无奈之下,我加了两个,但结果是一样的。 任何人有一个想法是怎么回事? 我可以debugging的任何方式? 如果A和B之间的调用逻辑在B开始的状态中有所不同,则这里是调用:

dynamodb节点aws-sdk简单getItem()调用

Folks,Javascript to new …试图从节点做简单的发电机查询: var AWS = require('aws-sdk'); AWS.config.update({region: 'us-east-1'}); var db = new AWS.DynamoDB(); var params = { "TableName" : 'admins', "Key" : [ { "username" : { "S" : "foo" } }, ], } db.getItem(params, function(err, data) { console.log('error: '+ err); console.log(data); return next(); res.send(data); }); } 输出: error: UnexpectedParameter: Unexpected key 'username' […]

EC2与socket.io

我已经为我的节点应用程序设置了一个aws微型实例。 我也使用socket.io 。 我收到以下错误: GET http://localhost:3000/socket.io/1/?t=1393065240268 net::ERR_CONNECTION_REFUSED 在应该创build套接字连接的时候在控制台中。 除此之外,节点应用程序的作品。 我怀疑GET不应该是对localhost而是对服务器的地址。 请注意,在服务器端的节点日志中,它服务于socket.io : debug – served static content /socket.io.js 这里是我的服务器的安全组的图片: 。 Socket.io设置: env = process.env.NODE_ENV || 'development', packageJson = require('../package.json'), http = require('http'), express = require('express'), RedisStore = require('connect-redis')(express), SessionSockets = require('session.socket.io'), path = require('path'), settings = require('./settings'), expose = require('express-expose') //Configure server for io and […]

特拉维斯CI。 NetworkingError:Node.js和AWS S3存储桶之间的CERT_UNTRUSTED错误

设置。 我在使用aws-sdk npm模块的Node.js上。 我在S3上有一个AWS存储桶和相关的访问和密钥。 钥匙在我的.travis.yml文件中。 我试图testing从我的Node.js应用程序保存图像到我的S3桶。 有趣的是…它一直在Travis上工作很长时间,然后几天前它停止了这个错误的工作: message: 'CERT_UNTRUSTED', code: 'NetworkingError', region: 'us-east-1', hostname: 'chyld-evernode-test.s3.amazonaws.com', retryable: true, time: Sat Dec 20 2014 18:35:45 GMT+0000 (UTC) 现在,它仍然可以在我的本地机器上正常工作,并且在部署到HEROKU后仍然可以工作。 我的猜测是特拉维斯刚刚发生的事情,导致我的testing失败。 想法?

在AWS上停止node.js应用程序的问题

我有一个node.js应用程序,它会ping一个url,然后发送消息给Slack,如果它得到一个错误代码。 它工作正常两天,但它只是停止工作。 我正在使用屏幕保持运行,但似乎仍然停止。 任何帮助将不胜感激。 代码如下: var request = require("request") var Hapi = require('hapi'); var Slack = require('slack-node'); var h = 0; var s = 0; var e = 0; function onlineBooking(){ request({ url: "http://example.com", json: true }, function (error, response, body) { if (!error && response.statusCode === 200) { // 'if/else' checks that it receives […]

amazon s3 deleteObjects nodejs – 无法让它工作

我正在使用nodejs并试图一次删除多个对象。 但由于某种原因,尽pipe没有返回任何错误,操作不能按预期工作(文件不被删除)。 这里是代码: s3.deleteObjects({ Bucket: 'myprivatebucket/some/subfolders', Delete: { Objects: [ { Key: 'nameofthefile1.extension' }, { Key: 'nameofthefile2.extension' }, { Key: 'nameofthefile3.extension' } ] } }, function(err, data) { if (err) return console.log(err); console.log('success'); }); 如果我尝试遍历这些文件,并使用s3.deleteObject方法,那么它工作得很好。 我也试图指定没有其子文件夹(如“myprivatebucket”),但我没有得到任何结果。 任何想法如何使这个事情工作? 我使用节点版本:0.10.32和aws应该是2.0.17。