Articles of services

使用Cloudformation来部署Lamba,包括函数将有权访问的参数

我们有一个API用于使用Cloud Formation在AWS中提供某些资源。 这包括一个将事件发送到S3的Lambda函数,并且可以configuration该存储桶。 事情是,当我们提供lambda时,我们会知道bucket名称,而不是lambda代码本身。 据我所知,在configuration时无法在Cloud Formation模板本身中注入S3存储桶名称。 真的吗? 我可以看到的唯一解决scheme是即时生成function代码,并将其embedded到Cloud Formation模板中。 这将使我们无法使用任何NPM依赖关系以及function代码。 有更好的select吗?

Amazon AWS错误:缺lessconfig node.js中的凭据

我刚刚开始使用AWS,我试图在这里使用他们的示例代码。 我正在使用dotenv来存储我的密钥作为环境variables。 使用咖啡脚本我的代码如下所示: require('dotenv').config() express = require 'express' router = express.Router() AWS = require('aws-sdk') AWS.config.region = 'us-west-2' s3bucket = new (AWS.S3)(params: Bucket: 'new-bucket-name') s3bucket.createBucket -> params = Key: process.env.AWS_ACCESS_KEY_ID Body: 'Hello!' s3bucket.upload params, (err, data) -> if err console.log 'Error uploading data: ', err else console.log 'Successfully uploaded data to myBucket/myKey' return return 但我不断收到以下错误: message: […]

简单的WebApp – 通过HTML / AWS Javascript SDK将file upload到S3

我只是开始我的开发过程,需要一些build议,如何处理我正在工作的一个简单的应用程序。 我对现代Web开发没有很好的理解。 我期望实现的是通过浏览器表单/ html表单将video或图像上传到Amazon S3。 理想情况下,我想利用AWS node.js SDK,但保持我的前端尽可能基本(即引导页面+ html更改)我承认我可以做一个直接的http操作,但仍然想利用现在的SDK。 我有我的HTML,窗体和CSS创build(使用引导),但不明白如何将表单连接到一个node.js脚本授权/ PUT? 我甚至可以从表单中去,并将文件传递给脚本上传? 感谢您的任何意见! :d

AWS Lambda – 奇怪的堆栈跟踪

我们正在用node.js 4.3编写AWS lambda函数,但是我们遇到了抛出错误的奇怪behaviour 。 第一: 'use strict'; exports.handler = function(event, context, callback) { throw new Error(); }; 这是像预期的抛出: at exports.handler (/var/task/TestCode.js:4:11) 但是,如果我们添加一个函数(即使是未调用的),它调用一个不同的类/ obj的函数,其中包含一个带有obj的lambdaexpression式,我们得到一个神秘的投掷信息。 为了让事情更容易理解,下面是一些代码: 'use strict'; function aRandomFunction() { something.foo((obj) => {}); } exports.handler = function(event, context, callback) { throw new Error(); }; 现在我们得到一个日志,我们不明白为什么: at something.foo.exports.handler (/var/task/TestCode.js:8:11) 有人可以解释我为什么会发生? 这似乎是一些JS魔法,我不明白:) 谢谢

AWS Lambda导出类不工作

我正在使用NodeJs 6.10.2。 我正在使用2个文件 index.js var operation = require('./Handler/opHandler').opHandler; var lambdaHandler = function () { var o = new operation(); o.deleteMessage(); } exports.lambdaHandler = function(event, context, callback) { handleSQSMessages(context, callback); }; opHandler.js opHandler = function() { this.db = ''; } opHandler.prototype.deleteMessage = function (receiptHandle, callback) { // My code here // this.db = 'new val'; } […]

找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么?

我的Node.js Express应用程序在AWS Beanstalk中运行。 我为我的应用程序创build了三个Beanstalk环境,分别是: DEV(开发) UAT(用户验收testing) 产品(生产) 依赖于我的应用程序正在运行的环境我想连接到不同的数据库,并使用不同的级联样式表。 找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么? 我得到的印象我应该使用Beanstalk环境标签,但我一直无法弄清楚如何通过我的Node.js应用程序访问它们。

使用NodeJS和S3FS /多方将file upload到Amazon S3

我使用多方和S3FS上传文件到amazon s3,当写入一个文件streams3它创build临时文件path与桶path,例如: var S3FS = require('s3fs'); var s3fsImpl = new S3FS('my-bucket/files',{ accessKeyId: config.amazonS3.accessKeyId, secretAccessKey: config.amazonS3.secretAccessKey }); module.exports = function (app) { app.post('/upload', function (req, resp) { // get the file location var file = req.files.file; var stream = fs.createReadStream(file.path); return s3fsImpl.writeFile(fileName,stream).then(function(){ fs.unlink(file.path,function(err){ if(err) console.error(err); }); resp.send('done'); }).catch(function (err) { return resp.status(500).send({ message: errorHandler.getErrorMessage(err) }); }); […]

aws lambdaerror handling

我试图从外部node.js应用程序(即不在AWS上)调用lambda函数。 我使用AWS文档中的代码示例,对名义情况非常有用。 但是,在发生错误的情况下,我的调用函数永远无法正确处理它。 我的调用代码如下: //AWS.config before var pullParams = { FunctionName : 'myFunctionName', InvocationType : 'RequestResponse', LogType : 'None', Payload : JSON.stringify({ "myParam" : params }) } var lambda = new AWS.Lambda(); lambda.invoke(pullParams, function(invocationError, data) { console.log("error value: " + invocationError) if (invocationError) { console.log("Error invoking AWS " + invocationError); //process error } else { […]

在Elastic Beanstalk上使用mongoDB部署Node.Js应用程序时出现错误

我们正在尝试在Amazon AWS Elastic Beanstalk上使用Node.js部署mongoDB,但是它提供了一个完全脱离这个星球的错误。 请帮忙! [实例:i-28bfc6e4] 命令在实例上失败 。 返回码:127输出 :(截断)… riorities,update-motd,upgrade-helper软件包mongo-10gen-server-2.4.14-mongodb_1.x86_64 被mongodb-org-serve r-2.6.10-1已经安装的.x86_64什么都没有做/etc/init.d/mongos.sh:第1行:/ usr / bin / mongos: 没有这样的文件或目录 。 钩/opt/elasticbeanstalk/hooks/appdeploy/enact/98_newrelic_sysmond.sh失败。 有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。

在AWS上使用弹性beanstalk部署Nodejs REST API – 错误找不到自定义模块

我写了我的第一个nodejs应用程序。 它在我的MacBook上工作正常,但是当我尝试在AWS弹性beanstalk上部署它时,出现以下错误。 /var/log/nodejs/nodejs.log at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) module.js:338 throw err; ^ Error: Cannot find module '**./routes/userprofile**' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:278:25) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/var/app/current/main.js:7:18) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) 看来nodejs不能解决我的自定义模块userprofile位于Routes目录下的path。我已经尝试将userprofile.js移动到根,但它仍然不能解决这个问题。 这是加载所有模块的main.js中的代码 /加载我们的模块 var express = require('express'); […]