Tag: amazon web services

使用AWS SDK加载凭据JSON导致错误

我正在尝试使用loadFromPath加载AWS的凭据,并得到一个意外的错误。 使用AWS.config.update硬编码相同的证书正常工作。 为了确保凭证文件的path和格式是正确的,我加载了与fs.readFile一样的文件,并且加载正确,所以似乎没有任何path/权限问题。 这似乎超级基本,但我已经拉我的头发试图解决。 谢谢你的帮助。 错误/输出: Here: /home/ec2-user/.ec2/credentials.json Got this through readFile: { access_id: 'XXXXXXX', private_key: 'XXXXXXX', keypair: 'praneethkey', 'key-pair-file': '/home/ec2-user/.ec2/praneethkey.pem', region: 'us-west-2' } /home/ec2-user/node_modules/aws-sdk/lib/config.js:221 if (err) throw err; ^ SyntaxError: Unexpected token < at Object.parse (native) at /home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:100:38 at IncomingMessage.<anonymous> (/home/ec2-user/node_modules/aws-sdk/lib/metadata_service.js:75:43) at IncomingMessage.EventEmitter.emit (events.js:117:20) at _stream_readable.js:910:16 at process._tickCallback (node.js:415:13) 代码: 'use strict'; var AWS […]

npm安装安装未在package.json中指定的额外软件包

我在AWS ec2实例上有一个相当典型的package.json 。 我正在运行npm install ,而不是安装 { "name": "angular-app-server", "description": "Back end server to support our angular app", "version": "0.0.1", "private": true, "dependencies": { "assert": "^1.3.0", "async": "^0.9.0", "bcrypt-nodejs": "0.0.3", "body-parser": "^1.13.1", "connect-multiparty": "^1.2.5", "express": "~3.0", "express-namespace": "~0.1.1", "express-session": "^1.11.1", "forever": "^0.14.2", "mongodb": "^2.0.36", "multiparty": "^4.1.2", "nodemailer": "^1.3.4", "open": "0.0.3", "passport": "~0.1.12", "passport-local": "~0.1.6", "request": […]

无法在AWS Lambdas中使用任何第三方模块

我正在使用一个lambda使用模块(asynchronous,请求等) Unable to import module 'index': Error at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/var/task/index.js:1:63) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 示例代码: var AWS = require('aws-sdk'), util = require('util'), request = require('request'); exports.handler = function(event, context) { console.log('test'); context.done(); […]

AWS Lambda函数从不调用callback

我创build了一个节点lambda函数,可以简单地调用Aurora数据库。 当我在控制台中testing函数时,查询返回,我可以在日志中看到结果,但callback似乎永远不会被调用,所以我的lambda函数超时。 我找不出什么问题。 希望这里有人能指点我这个问题。 var mysql = require("mysql"); module.exports.handler = function(event, context, cb) { console.log('start\n'); var con = mysql.createConnection({ … }); console.log('call data\n'); con.query('SELECT * FROM Tags', function(err, rows) { console.log('Data received from Db:\n'); console.log(rows); console.log('calling callback'); cb(null, 'Success'); console.log('callback called'); }); console.log('data called\n'); }; 由此产生的Cloudwatch日志如下所示… 2016-07-25T14:20:05.343Z daf5cd6b-5272-11e6-9036-e73ad17006df start 2016-07-25T14:20:05.398Z daf5cd6b-5272-11e6-9036-e73ad17006df call data 2016-07-25T14:20:05.405Z daf5cd6b-5272-11e6-9036-e73ad17006df […]

无法使用Git部署到AWS Elastic Beanstalk

我正在关注Elastic Beanstalk文档( http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html ),但是我无法部署node.js或PHP应用程序饭桶。 $ eb push Error: Failed to create the AWS Elastic Beanstalk application version Cannot run aws.push for local repository HEAD: 如果我尝试从git中推送,也会发生同样的情况 $ git aws.push Updating the AWS Elastic Beanstalk environment phpapp-env… Error: Failed to create the AWS Elastic Beanstalk application version 当您调用eb init时,AWS工具会设置一些git快捷方式。 正在失败的电话是… $.git/AWSDevTools/aws.elasticbeanstalk.createapplicationversion Error: Failed to create the AWS […]

密码保护AWS Node EB应用程序

我已经启动了一个Node Elastic Beanstalk应用程序(尽pipeELB)。 现在它只是服务器上的AWS示例节点应用程序。 由于这是一个开发服务器,所以在我将实际的代码推到服务器之前,我需要密码保护整个事情(这是用于客户端审查等)。 我有很多麻烦试图找出如何做到这一点。 看起来应用程序代码被放在/var/app/并且在/var/www/html/ (没有隐藏的文件)中没有任何东西,我通常会设置一个htaccess文件。 这是使用nginx代理,我从来没有使用过,我不确定如何提供文件。 locking这个服务器的最好方法是什么? 安全组? htaccess的? 别的东西?

DynamoDB:SET list_append无法使用aws sdk

我需要添加一个string到一个使用相应的键在dynamodb表中设置的string。 这是我用来做updateItem的更新expression式: var params = { "TableName" : tableName, "Key": { "ID": { S: "20000" } }, "UpdateExpression" : "SET #attrName = list_append(#attrName, :attrValue)", "ExpressionAttributeNames" : { "#attrName" : "entries" }, "ExpressionAttributeValues" : { ":attrValue" : {"SS":["000989"]} } }; 当我使用aws cli执行updateItem()时,这是有效的。 但是,当在nodejs中使用aws-sdk时,出现以下错误: Invalid UpdateExpression: Incorrect operand type for operator or function; operator or function: list_append, […]

在node.js / Java中编写的AWS Lambda函数是否存在任何性能/function差异

我打算将AWS Lambda用于应用程序的后端。 Java与Node.js相比更加舒适,但是我发现Node.js中的Lambda函数比Java更受欢迎。 基于Java的和基于nodej的lambda函数之间是否存在性能差异?

存储在AWS EB环境variables中的JSON将不带引号地进行检索

我正在运行一个node.js EB容器,并试图将JSON存储在一个环境variables中。 JSON存储正确,但是通过process.env.MYVARIABLE检索时,将返回所有双引号删除。 例如MYVARIABLE看起来像这样: { "prop": "value" } 当我通过process.env.MYVARIABLE检索它的值是actualy { prop: value}这是无效的JSON。 我尝试用'\'(例如{\“prop \”:\“value \”}来避免引号,只是在string回到{\ \"prop\\":\ \"value\\" } 。 我也尝试用单引号把整个东西包装起来,例如'{ "prop": "value" }' ,但是它似乎也把它们去掉了。 任何人都知道如何将JSON存储在环境variables中? 编辑:一些更多的信息,当你设置一个环境variables时,会出现某些字符被双重转义。 例如,如果我用单引号包装对象。 当我使用sdk获取它的值变成: \'{ "prop": "value"}\' 另外,如果我把引号留下来,反斜杠会被转义,所以如果对象看起来像{"url": "http://…"}那么当我通过sdk查询的结果是{"url": "http:\\/\\/…"} 这不仅会损坏文本,还会重新排列JSON属性,所以属性的显示顺序与我设置的顺序不同。 UPDATE 所以我想说这似乎是AWS中的一个错误,因为它似乎正在损坏提交的值。 无论我使用node.js sdk还是Web控制台,都会发生这种情况。 作为一个解决方法,我已经采取在部署过程中用json对象上的单引号replace双引号,然后再在应用程序中。

DynamoDB更新对象数组(Nodejs)

我注意到,DynamoDB可以添加和删除数组中的项目,但是如果要特别更新该项目,如何search对象中的特定项目? 例如:在MongoDB中,您可以searchsomeitem。$。subitem并更新该特定项目。 有没有办法如何与DynamoDB做到这一点? Item: { someitem: [ { subitem: "id", somevalue: "something" } ] } 我会说这是基本function,但似乎不容易find(甚至不支持)