Articles of amazon web services

AWS Lambda TooManyRequestsException:速率超出

尝试执行Amazon Web Services(AWS)Lambda函数( 多次 )时,我们发现错误: AWS Lambda TooManyRequestsException: Rate Exceeded 我们如何解决这个问题?

Node.js获取高内存使用率的通知

我在Amazon EC2的Ubuntu 14上运行了一个Node.js应用程序。 如果内存使用量达到特定的大小,我想发送电子邮件。 我知道,PM2公开了一个API,它允许在达到一定的内存使用量时重新启动应用程序。 现在我不想在这个时候重新启动应用程序,只是为了得到一个关于它的通知,并用它来做任何我想要的(在我的情况下,发送一封电子邮件)。 我怎样才能使用PM2或任何其他免费工具?

在context.fail之后,AWS Lambda函数会继续执行一些操作

我有一个简单的AWS Lambda函数,可以对保存到S3存储桶的映像进行一些validation。 我使用async.waterfall来下载图像并进行处理,但是在我进入第一个瀑布函数之前,我对从S3 PutObject触发器获得的事件数据做了一些基本的validation,特别是大小信息( event.Records[0].s3.object.size )。 如果事件引用的图像大于MAX_SIZE,则使用context.fail(new Error("Validation error: the file is too big."))来结束执行。 这一切都工作正常,但我注意到在我的日志中logging错误后,function继续运行一点之前退出。 例如,我的async.waterfall调用中的第一个函数被调用(即来自该函数的消息显示在日志中)。 我甚至尝试在context.done(errorMessage)之后立即添加一个context.done(errorMessage) ,并且它会被执行(即我传入的消息被logging下来)以及几行代码。 这是预期的行为? 在文档中我找不到任何提及的内容。 该函数是否需要一点时间才能退出,或者我误解了在async.waterfall之前的处理函数中的代码的同步性质? 以下是我的一些代码。 在context.fail之后显示的所有console.log消息都会打印到日志中,我不希望发生这种情况。 exports.handler = function(event, context) { console.log('Received event:', JSON.stringify(event, null, 2)); if (event.Records[0].s3.object.size > MAX_FILE_SIZE) { var error = new Error("Validation error: the file is too big.") context.fail(error); } console.log('Event validation complete.') var […]

如何在AWS中部署node.js应用程序

当我尝试在AWS中部署新的node.js应用程序时,iam收到错误 Failed to find package.json. Node.js may have issues starting. Verify package.json is valid or place code in a file named server.js or app.js. 我已经validation了我的package.json,它显示为true。 我的package.json文件如下: { "name": "sgcp", "private": true, "version": "0.0.0", "description": "a Sails application", "dependencies": { "sails": "0.9.7", "nodemailer": "~0.6.1", "grunt": "0.4.1", "sails-disk": "~0.9.0", "ejs": "0.8.4", "optimist": "0.3.4", "sails-mongo": "~0.9.7" }, "scripts": […]

如何使用AWS设置AngularJS应用程序?

我是否会使用EC2实例并在其上安装Web服务器(如Node.js),然后按照惯例执行所有操作,或者是否必须使用AWS SDK for JavaScript? (这不是一个静态的AngularJS应用程序,将与应用程序服务器交互)

允许用户将内容上传到s3

我有一个在BUCKET_REGION区域名为BUCKET的S3存储桶。 我试图让我的网站和移动应用程序的用户上传图像文件到这些桶,只要他们满足一定的限制基于Content-Type和Content-Length (即,我想只允许jpegs小于3mbs是上传)。 一旦上传,文件应公开访问。 基于对AWS文档进行的相当广泛的挖掘,我假定在我的前端应用程序中该过程应该看起来像这样: const a = await axios.post('my-api.com/get_s3_id'); const b = await axios.put(`https://{BUCKET}.amazonaws.com/{a.id}`, { // ?? headersForAuth: a.headersFromAuth, file: myFileFromSomewhere // ie HTML5 File() object }); // now can do things like <img src={`https://{BUCKET}.amazonaws.com/{a.id}`} /> // UNLESS the file is over 3mb or not an image/jpeg, in which case I want it to […]

如何使用ReactJS / NodeJS一起部署到Amazon Web Services(AWS)上?

我目前在一个项目下有ReactJS + NodeJS / ExpressJS + Webpack到EC2,amazon web services(AWS),并希望在一个项目中一次部署它。 有什么build议如何去做呢? 完成研究,我只看到了关于如何部署一个教程的教程,无论是ReactJS还是仅仅是NodeJS。 任何见解或潜在客户将不胜感激。 将接受/ upvote答案。 先谢谢你

redis getaddrinfo ENOTFOUND – node.js,redis连接

嗨即时尝试连接到redis从node.js这是成功的,现在我托pipe我的node.js服务器应用程序上的亚马逊ec2实例和redis上的亚马逊弹性caching实例的连接到redis是成功的,但一旦我得到下面提到的错误。 var pub = redis.createClient(6379,'quizredis.qnsdtp.0001.apse1.cache.amazonaws.com'); events.js:72 throw er; // Unhandled 'error' event ^ Error: Redis connection to quizredis.qnsdtp.0001.apse1.cache.amazonaws.com:6379 failed – getaddrinfo ENOTFOUND at RedisClient.on_error (/home/ec2-user/roomChat-7/node_modules/redis/index.js:196:24) at Socket.<anonymous> (/home/ec2-user/roomChat-7/node_modules/redis/index.js:106:14) at Socket.EventEmitter.emit (events.js:95:17) at net.js:813:16 我使用redis-npm模块;

AWS Lambda图像已损坏

我遇到了AWS Lambda问题,每隔几次上传,我的resize的图像就会被损坏。 我写了一个脚本,从S3中取出,并将其大小调整为另一个存储桶中的3种大小,主要是使用文件stream。 这里是代码: https://github.com/handonam/AWS-Resizer/blob/493ff10c317e7150d1ac040f54065083963a9c67/createThumbnails.js 您可以看到较大的512px放大文件(resize)以及原始(200px) 另一个resize为120px 我的lambda消费看起来大部分完全正常。 它设置在768mb内存和20s超时的同一地区。 这些脚本使用90 / 768mb的小图像(如500px宽)执行大约2秒,或者在更大的图像(如2000px宽)上执行14秒@ 648 / 768mb。 但即使是一个小图像,resize也会影响到我。 如果我放弃文件stream,只是写入缓冲区(就像aws示例一样 ),那么image processing将以缓冲区结束,而lambda将耗尽太多的资源。 任何指导表示赞赏!

ngCordova FileTransfer直接上传到AWS S3 WebKitFormBoundary问题

我正尝试使用ngCordova FileTransfer插件在AWS-S3上使用预先签名的url上载文件。 我成功地将file upload到AWS-S3,但文件的内容包含在内 ——WebKitFormBoundarylCFgJXqqECF1rJ2m Content-Disposition: form-data; name="file"; filename="75cae09191bd92a16c3ff05baeb88b9b.jpg" Content-Type: image/jpeg 由此导致图像文件无法打开。 我如何摆脱我的文件中的这个头。 我有一个想法,如果我把一个二进制数据,而不是forms的数据,它会摆脱这一点,因为我已经在POSTMANtesting它,但无法find任何方式来做cordova文件传输。 $cordovaFileTransfer.upload(s3SignedUrl, imagePathOnPhone, { fileKey: "file", fileName: localFileName, httpMethod: "PUT", mimeType: 'image/jpeg' }) .then(function (result) { console.log(result); }, function (error) { console.log(error); }, function (progress) { console.log(progress); }); 我的桶在法兰克福地区和API v4。 我在服务器上使用nodejs。