Articles of amazon web services

如何在dynamodb中插入json

这是我的代码。 我想将asset_data json插入到asset_data列中。 我正在使用aws sdk。 它说aws sdk现在支持json。 http://aws.amazon.com/releasenotes/SDK/JavaScript/1691866671551861 var asset_data = { "name": "name" + i, "contentUrl": "http://www.hdwallpapersimages.com/nature-beauty-desktop-images/94892/", "size": 300, "headline": "headline", "description": "assetUrl reference for the creator", "encodingFormat": 'jpeg' }; var params = { TableName: 'xyz', Item: { // a map of attribute name to AttributeValue "asset_id": {S: "asset" + i}, "hit_id": {S: "0"}, […]

AWS DynamoDB问题:用户无权在资源上执行:dynamodb:PutItem

我试图从部署在AWS ElasticBeanStalk上的Node应用程序访问DynamoDB。 我收到一个错误“用户无权执行:dynamodb:PutItem资源” 它在本地完美地工作,只有当我部署到AWS停止执行。 任何人都知道修复? 提前致谢!

InvalidParameterValueException:为函数定义的angular色不能由Lambda承担

我正在使用适用于JavaScript的AWS开发工具包,并且在尝试创buildLambda函数时返回以下错误: InvalidParameterValueException:为函数定义的angular色不能由Lambda承担。 我仔细检查了我的angular色,这是完全有效的。 但是,我仍然无法创buildLambda函数。 我的angular色信任关系是: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "lambda.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }

使用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, […]