Tag: amazon web services

为什么当我永远使用我的节点应用程序进程不断停止?

在免费层的Amazon EC2实例上,我设置了一个运行在express上的简单的node.js Hello World应用程序。 如果我运行npm start ,我的应用程序运行良好,我可以从我的浏览器中打开,我看到以下输出: > myappname@0.0.0 start /home/ec2-user/app > node ./bin/www 我已经在全球安装了永久工具。 当我forever start app.js运行forever start app.js ,我看到: warn: –minUptime not set. Defaulting to: 1000ms warn: –spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms info: Forever processing file: app/app.js 但是,当我检查forever list ,我看到过程已经停止: info: […]

如何在客户端将可查看file upload到Amazon S3?

让我开始说,我通常很不愿意发表这个问题,因为我总觉得互联网上的所有东西都有答案。 花了无数小时寻找这个问题的答案后,我终于放弃了这个声明。 假设 这工作: s3.getSignedUrl('putObject', params); 我想做什么? 使用getSignedUrl方法通过PUT(从客户端)将file upload到Amazon S3 允许任何人查看上传到S3的文件 注意:如果有更简单的方法允许客户端(iPhone)通过预先签名的URL上传到Amazon S3(并且不需要公开证书客户端) 主要问题* 查看AWSpipe理控制台时,上传的文件具有空白的权限和元数据集。 查看上传的文件时(例如,通过双击AWSpipe理控制台中的文件),我得到一个AccessDenied错误。 我试过了什么? 尝试#1:我的原始代码 在NodeJS中,我生成一个预先签名的URL,如下所示: var params = {Bucket: mybucket, Key: "test.jpg", Expires: 600}; s3.getSignedUrl('putObject', params, function (err, url){ console.log(url); // this is the pre-signed URL }); 预先签名的URL看起来像这样: https://mybucket.s3.amazonaws.com/test.jpg?AWSAccessKeyId=AABFBIAWAEAUKAYGAFAA&Expires=1391069292&Signature=u%2BrqUtt3t6BfKHAlbXcZcTJIOWQ%3D 现在我通过PUT上传文件 curl -v -T myimage.jpg https://mybucket.s3.amazonaws.com/test.jpg?AWSAccessKeyId=AABFBIAWAEAUKAYGAFAA&Expires=1391069292&Signature=u%2BrqUtt3t6BfKHAlbXcZcTJIOWQ%3D 问题 我得到上面列出的*主要问题 尝试#2:在PUT上添加内容types和ACL 我也尝试在代码中添加Content-Type和x-amz-acl,像这样replace参数: var params […]

将项目放在使用适用于Node.js的AWS开发工具包的DynamoDB表上

我不熟悉javascript和node.js,想知道是否有人可以帮助我找出通过node.js SDK将新项目放到AWS Dynamodb上现有表的语法。 这是我迄今为止。 有什么我想要做的例子吗? 如果有人能指出我的方向正确的话,我会非常感激。 var AWS = require('aws-sdk'); AWS.config.loadFromPath('./config.json'); AWS.config.update({region: 'us-east-1'}); var dynamodb = new AWS.DynamoDB(); var item = { // I need to put the an item with a the primary key of "id", and an attribute called "item" // I'm new to js and node.js, so if somebody could help me […]

如何通过Amazon API Gateway + Lambda(节点)获取用户的公共IP地址

我目前正在写一个Node.js的lambda函数,我想logging传入的请求者的公共IP地址。 我一整天都在浏览API网关和Lambda文档,但还没有find解决scheme。 lambda event对象是否包含可用于提取用户IP的请求元数据?

亚马逊S3服务器上的Concat MP3 /媒体audio文件

我想连接在Amazon S3服务器上上传的文件。 我怎样才能做到这一点。 本地机器上的串联我可以使用以下代码。 var fs = require('fs'), files = fs.readdirSync('./files'), clips = [], stream, currentfile, dhh = fs.createWriteStream('./concatfile.mp3'); files.forEach(function (file) { clips.push(file.substring(0, 6)); }); function main() { if (!clips.length) { dhh.end("Done"); return; } currentfile = './files/' + clips.shift() + '.mp3'; stream = fs.createReadStream(currentfile); stream.pipe(dhh, {end: false}); stream.on("end", function() { main(); }); } main();

我如何把对象的amazon s3使用presigned url?

我正在尝试使用签名的url将图片上传到s3存储桶。 以下是我的桶政策: { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::12345678:user/myuser", "arn:aws:iam::12345678:root" ] }, "Action": [ "s3:List*", "s3:Put*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::myBucket", "arn:aws:s3:::myBucket/*" ] } ] } 我正在从服务器生成签名的url,如下所示: var aws = require('aws-sdk'); aws.config = { accessKeyId: myAccessKeyId, secretAccessKey: mySecretAccessKey }; var s3 = new aws.s3(); s3.getSignedUrl('putObject', { Bucket: […]

如何将ReactJS + NodeJS Express应用程序部署到AWS?

我有一个ReactJS + NodeJS / ExpressJS + Webpack / Babel应用程序,并希望将其部署到AWS上。 我的问题是,我必须单独部署ReactJS和NodeJS / ExpressJS? 还是可以将它们一起部署? 另外,我的栈中提到的任何好的指南都提到了? 环顾四周,但似乎都是特定的,无论是只是NodeJS或ReactJS。 最近发现它https://www.youtube.com/watch?v=WxhFq64FQzA ,但我相信它只覆盖NodeJS / ExpressJS而不是ReactJS。 目前该应用程序在一个项目下,包括所有ReactJS + NodeJS / ExpressJS + Webpack / Babel。

Node.JS响应时间

在AWS实例上抛出Node.JS并testing了请求次数,得到了一些有趣的结果。 我使用了以下服务器: var http = require('http'); http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('Hello World'); res.end(); }).listen(8080); 我有一个平均90毫秒的延迟到这个服务器,但总的请求需要大约350毫秒。 很明显,在盒子上浪费了很多时间。 在testing之前,我确定DNS被caching了。 我在服务器上做了一个Apache平台,交换率为1000 – 它在4.3秒内完成了10,000个请求……这意味着平均4.3毫秒。 更新:只是为了咧嘴笑,我在同一台机器上安装了Apache + PHP,并做了一个简单的“Hello World”回声,平均得到了92ms的响应时间(ping两次)。 有没有一个设置我失踪的地方?

aws-lambda找不到模块

从zipfile upload代码时,我在aws-lambda控制台中不断收到这个错误。 我已经尝试上传其他zip文件,他们正常工作。 .js文件在zip文件中被命名为“CreateThumbnail.js”。 我相信处理程序也正确命名为“CreateThumbnail.handler”。 node_modules子目录也被设置。 任何人有任何想法? { "errorMessage": "Cannot find module 'CreateThumbnail'", "errorType": "Error", "stackTrace": [ "Function.Module._resolveFilename (module.js:338:15)", "Function.Module._load (module.js:280:25)", "Module.require (module.js:364:17)", "require (module.js:380:17)" ] }

我怎样才能用node.js在s3上删除文件夹?

是的我知道。 s3存储没有文件夹概念。 但我真的想要用node.js从s3中删除一个特定的文件夹。 我尝试了两个解决scheme,但都没有工作。 我的代码如下:解决scheme1:直接删除文件夹。 var key='level/folder1/folder2/'; var strReturn; var params = {Bucket: MyBucket}; var s3 = new AWS.S3(params); s3.client.listObjects({ Bucket: MyBucket, Key: key }, function (err, data) { if(err){ strReturn="{\"status\":\"1\"}"; }else{ strReturn=+"{\"status\":\"0\"}"; } res.send(returnJson); console.log('error:'+err+' data:'+JSON.stringify(data)); }); 实际上,我在folder2下有很多文件。 我可以从folder2中删除单个文件,如果我这样定义键:var key ='level / folder1 / folder2 / file1.txt',但是当我删除一个文件夹时(key ='level / folder1 / folder2 / “)。 […]