Articles of amazon web services

密码保护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(甚至不支持)

与JS / Node SDK的AWS S3同步

Amazon Web Services(AWS)命令行界面(CLI)具有同步命令 。 不幸的是,AWS CLI的同步方法有点麻烦。 我想使用gulp构build过程和Amazon的javascript / node SDK同步到S3。 不幸的是,SDK似乎没有同步方法 – 或者它? 将节点中的整个目录与AWS S3同步的最佳方法是什么?

无法将请求正文parsing为json:意外字符(\' – \'(code 45))AWS Lambda + API + Postman

我一直在尝试几天,以获取从AWS的API网关发送到Lambda函数的参数,我没有成功。 我决定从头开始,所以我跟着他们的演练( http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started.html#getting-started-new- lambda ) 我已经检查过这个演练两次,我已经按照这封信的步骤。 问题 当我从Postman或SwifttestingAPI时,出现错误: {“message”:“无法将请求正文parsing为json:数字值中的意外字符(\' – \'(code 45)):期望的数字(0-9)跟随减号,对于有效的数字值\ n at [来源:[B @ c036d15; line:1,column:3]“} 在邮递员,当我看到结果为JSON我刚刚得到 坏string Lambda函数 该function是演练的基本示例: console.log('Loading event'); exports.handler = function(event, context) { var name = (event.name === undefined ? 'No-Name' : event.name); console.log('"Hello":"' + name + '"'); context.done(null, {"Hello":name}); // SUCCESS with message }; 从Lambda控制台和testing数据进行testing时,我得到结果: { "Hello": "TestUser123" […]

使用Lambda节点从S3上的文件创buildS3上的zip文件

我需要创build一个Zip文件,其中包含位于我的s3存储桶中的一系列文件(video和图像)。 目前使用我的代码下面的问题是,我很快达到了Lambda的内存限制。 async.eachLimit(files, 10, function(file, next) { var params = { Bucket: bucket, // bucket name Key: file.key }; s3.getObject(params, function(err, data) { if (err) { console.log('file', file.key); console.log('get image files err',err, err.stack); // an error occurred } else { console.log('file', file.key); zip.file(file.key, data.Body); next(); } }); }, function(err) { if (err) { console.log('err', err); […]

Streaming-s3不能正常升级文件

我正在使用nodejs将file upload到aws服务器。 并发现文件大小不正确。 我得到2.1KB。 这是我的代码 var uploadFile = function (fileReadStream, awsHeader, cb) { //set options for the streaming module var options = { concurrentParts: 2, waitTime: 20000, retries: 2, maxPartSize: 10 * 1024 * 1024 }; //call stream function to upload the file to s3 var uploader = new streamingS3(fileReadStream, config.aws.accessKey, config.aws.secretKey, awsHeader, options); //start […]

我应该在哪里存储我的Node.js应用程序的密钥?

我真的很困难,我应该如何隐藏我的钥匙。 我需要隐藏的两个密钥是secrets.crypto和secrets.jwt …我打算使用Elastic Beanstalk在AWS上托pipe我的应用程序。 此外,我不知道在哪里我会把我的钥匙,以访问像我的Dynamodb和我的S3桶。 exports.generateToken = (type, user) => { if (!_.isString(type)) { return undefined; } try { //Turn the json object of the current user's id and the type of token into a string var stringData = JSON.stringify({ _id: user._id, type: type }); //Take the json string and encrypt it with a secret […]