Articles of amazon web services

Amazon S3 POST API以及使用NodeJS签署策略

我试图build立一个允许用户从NodeJS支持的网站直接上传文件到我的Amazon S3存储桶的内置程序。 这里似乎只有教程,除了实际的亚马逊文件,这是非常过时的。 我一直在关注这个教程 ,获取基本的信息,但是它又是过时的。 它没有方法调用crypto正确,因为它试图传递一个原始的JavaScript对象的update方法,由于它不是一个string或缓冲区抛出一个错误。 我也一直在看knox npm包的源代码。 它没有内置的POST支持 – 我完全理解,因为它是浏览器一旦拥有正确的字段就进行POST。 诺克斯似乎有正确的代码来签署一个政策,我试图让我的代码基于这个工作…但再次无济于事。 这是我为了代码而想出来的。 它产生一个base64编码策略,它创build一个签名…但是当我尝试做一个file upload的时候,它是根据Amazon的错误签名。 var crypto = require("crypto"); var config = require("../../amazonConfig.json"); exports.createS3Policy = function(callback) { var date = new Date(); var s3Policy = { "expiration": "2014-12-01T12:00:00.000Z", "conditions": [ {"acl": "public-read"}, ["content-length-range", 0, 2147483648], {"bucket": "signalleaf"}, ["starts-with", "$Cache-Control", ""], ["starts-with", "$Content-Type", ""], ["starts-with", "$Content-Disposition", […]

AWS lambda函数在超时错误后停止工作

我有一个简单的lambda函数asynchronous进行API调用,然后返回数据。 99%的时间工作很好。 如果API耗时过长,那么lambdaconfiguration的超时就会按预期给出错误。 现在的问题是,当我做任何后续调用的lambda函数永久给我超时错误。 "errorMessage": "2016-05-14T22:52:07.247Z {session} Task timed out after 3.00 seconds" 为了testing这种情况,我将lambda超时设置为3秒,并有一种方法来在lambda中触发这两个函数。 使用Javascript function now() { return response.tell('success'); } function wait() { setTimeout(function() { return response.tell('success'); }, 4000); } 当我打电话给nowfunction没有问题。 当我调用wait函数,我得到超时错误,然后任何后续调用now给我同样的错误。 这是一个预期的行为? 我会认为任何后续的lambda函数调用应该工作。 我知道我总是可以增加configuration超时,但宁愿不。

AWS Lambda制作video缩略图

我想从上传到S3的video缩略图,我知道如何使用Node.js和ffmpeg。 根据这个论坛post,我可以添加库: ImageMagick是目前唯一默认提供的外部库,但您可以在创buildLambda函数时提供的zip文件中包含任何其他依赖项。 请注意,如果这是本机库或可执行文件,则需要确保它在Amazon Linux上运行。 但是我怎样才能把静态ffmpeg二进制文件放在aws lambda? 我怎样才能使用AWS Lambda从Node.js调用这个静态二进制文件(ffmpeg)? 我是亚马逊AWS和Linux的新手 谁能帮我?

是否有一个好的对象映射器可以在nodejs中使用的Amazons dynamodb(通过aws sdk)?

也许这个问题不适用于dynamoDB,因为它不是Relational Db。 然而,我正在寻找一个好的对象映射器,它可以在nodejs和aws sdk中使用,将现有的模型类映射到dynamoDB表。 有没有人有这个问题的经验,或者你有使用这样的模块/库?

AWS lambda api网关错误“格式错误的Lambda代理响应”

我正在尝试使用AWS lambda设置一个hello world示例,并通过api网关提供服务。 我点击了“创build一个Lambda函数”,它设置了api gatway并select了空白函数选项。 我添加了AWS网关入门指南中的lambda函数: exports.handler = function(event, context, callback) { callback(null, {"Hello":"World"}); // SUCCESS with message }; 问题是,当我向它发出GET请求时,它将返回一个502响应{ "message": "Internal server error" } 。 而日志说“执行失败,由于configuration错误:格式错误的Lambda代理响应”。

AWS Lambda函数返回“无法find模块索引”,但configuration中的处理程序设置为索引

正如我的标题解释我收到以下错误: { "errorMessage": "Cannot find module 'index'", "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)" ] } 我已经尝试了两个解决scheme提供的创build一个lambda函数在aws从zip文件和simple-node-js-example-in-aws-lambda 我的configuration目前看起来像: 和我的文件结构是: 和我的index.js处理函数如下所示: exports.handler = function(event, context) { 除上述两个答案中所述之外,还有什么可能导致这个问题呢? 我已经尝试了两种解决scheme,并且我还为这个函数分配了更多的内存,这就是为什么它不能运行。 编辑 – 为了尝试,我创build了一个更简单的版本,我的原始代码,它看起来像这样: var Q = require('q'); var AWS = require('aws-sdk'); var validate = require('lambduh-validate'); var Lambda = new AWS.Lambda(); var S3 = […]

Nodejs – 从另一个lambda函数中调用AWS.Lambda函数

我有以下函数,我用它来调用我的代码中的Lambda函数。 但是,当我尝试在Lambda函数内使用它时,出现以下错误: AWS lambda undefined 0.27s 3 retries] invoke({ FunctionName: 'my-function-name', InvocationType: 'RequestResponse', LogType: 'Tail', Payload: <Buffer > }) 我如何从Lambda函数中调用Lambda函数? 我的function: 'use strict'; var AWS = require("aws-sdk"); var lambda = new AWS.Lambda({ apiVersion: '2015-03-31', endpoint: 'https://lambda.' + process.env.DYNAMODB_REGION + '.amazonaws.com', logger: console }); var lambdaHandler = {}; // @var payload – type:string // @var functionName […]

远程debuggingAWS上托pipe的节点应用程序

我想从我的开发机器上连接到AWS上的节点服务器(节点–debug app.js)上以debugging模式运行,并且能够远程debugging我的应用程序。 两个问题: 我可以用节点检查器做到这一点吗? 我希望我能,但节点检查器无法安装在我的AWS实例。 任何替代scheme,将允许我这样做?

在AWS Lambda函数中通过AWS SES发送电子邮件

我在AWS Lambda上创build了一个非常基本的简单函数,用于接受表单提交。 部分function将是发送电子邮件给一个特定的人,非常简单。 我正在尝试使用AWS SES来执行此操作。 我已经设置了SES服务等,并validation了我想发送的账户,并且能够发送testing邮件。 所有的作品! 现在,当我在AWS Lambda中尝试并使用aws sdk时,它不会发送电子邮件。 我没有得到一个错误或任何东西。 以下是我用于AWS Lambda函数的代码。 有没有人有任何经验使用lambda和通过ses,通过lambda函数发送电子邮件? 甚至只是使用node.js aws sdk可能会有所帮助。 var aws = require('aws-sdk'); var ses = new aws.SES({ accessKeyId: 'myAccessKey', secretAccesskey: 'mySecretKey', region: 'eu-west-1' }); exports.handler = function(event, context) { console.log("Incoming: ", event); var output = querystring.parse(event); var eParams = { Destination: { ToAddresses: ["toAddress@email.com"] }, Message: […]

AWS尝试将消息发送给我的S3 Bucket(Node.js)

喜! 我从昨天开始就遇到这个问题,而且我很难find一个解决scheme。 我试图发送一些东西到我的S3桶,但是当我尝试时,这个消息出现在我的控制台: { [CredentialsError: Missing credentials in config] message: 'Missing credentials in config', code: 'CredentialsError', errno: 'Unknown system errno 64', syscall: 'connect', time: Thu Oct 09 2014 14:03:56 GMT-0300 (BRT), originalError: { message: 'Could not load credentials from any providers', code: 'CredentialsError', errno: 'Unknown system errno 64', syscall: 'connect', time: Thu Oct 09 2014 […]