标签: aws-lambda

在使用 Lambda 执行角色设置 Lambda 函数时,Lambda 受到限制

我将 API GATEWAY 与 Lambda 用于我的应用程序。在我的一个函数中,我突然收到 502 并出现此错误:

{ "Message": "Lambda 在使用 Lambda 执行角色设置 Lambda 函数时受到限制。", "Type": "User" }

我在网上查了一下,没有发现与该错误相关的任何内容。

我检查了我的 ConcurrentExecutions 并没有超过限制。

我的 lambda 在每个 lambda 中都使用 VPC,也许有连接?

会很高兴得到任何帮助。谢谢

amazon-web-services aws-lambda aws-api-gateway

2
推荐指数
1
解决办法
3318
查看次数

如何在 aws lambda 处理程序中使用 multer-s3 作为中间件

我正在尝试将多部分/表单数据表单发送到AWS-Lambda方法。我需要能够将文件发送到S3,并使用传入的字符串参数,我需要将元数据记录到 RDS。

现在,我可以使用express和multer-s3来做到这一点,如下所示;

var express = require('express');
var AWS = require('aws-sdk');
var multer = require('multer')
var multerS3 = require('multer-s3')

var s3 = new AWS.S3();
const app = express();

var upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'my-bucket-name',
    metadata: function (req, file, cb) {
      cb(null, Object.assign({}, req.body));
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString() + '.fileExtension')
    }
  })
})

app.post('/data', upload.array('file'), function(req, res, next) {
  // here using …
Run Code Online (Sandbox Code Playgroud)

multipartform-data amazon-s3 node.js aws-lambda multer-s3

2
推荐指数
1
解决办法
3578
查看次数

AWS ApiGateway请求路径映射+ lambda

我知道有很多关于映射请求数据的问题,但是没有人帮助过我.所以,我想要实现的是一个映射到lambda的API端点.当存储桶触发404时,将转发对该端点的请求,并通过请求路径将参数传递给lambda,例如:/ {image_name}/{width}/{height}.我的lambda代码只是调用context.succeed(event, context);

在方法请求配置中,自动创建请求路径的参数, 证明.

在集成请求中,我创建了三个映射模板:plain/text,plain/html,application/json,定义与bellow相同:

#set($inputRoot = $input.path('$'))
{
    "name": $input.params('name'),
    "width" : $input.params('width'),
    "height" : $input.params('height'),
    "params": $input.params(),
    "resourcePath": $context.resourcePath,
}
Run Code Online (Sandbox Code Playgroud)

当我打电话给一个chrome rest客户端时,我得到:

从控制台调用测试时,我得到以下响应:{"Type":"User","message":"Could not parse request body into json."} 当我调用curl或者只是在浏览器中打开URL时,得到的响应 相同.

但是在控制台测试调用的日志中我看到:

Execution log for request test-request
Tue Sep 08 09:10:20 UTC 2015 : Starting execution for request: test-invoke-request
Tue Sep 08 09:10:20 UTC 2015 : API Key: test-invoke-api-key
Tue Sep 08 09:10:20 UTC 2015 : Method request path: {name=name, width=100, height=100}
Tue Sep 08 …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-lambda aws-api-gateway

1
推荐指数
1
解决办法
2099
查看次数

AWS API网关更改内容类型

我希望有人能提供帮助,我已经让AWS Lambda在context.succeed或context.fail中返回了一些XML,除了一小部分外,一切都很好.我回应了XML,但因为标题仍然存在Content-Type: application/json而我正在谈论的Twilio服务器正在查看并拒绝它,即使正文实际上是有效的XML.

有没有办法覆盖标题?

非常感谢.

amazon-web-services twilio aws-lambda aws-api-gateway

1
推荐指数
1
解决办法
2372
查看次数

在完成请求之前退出流程(Lambda + DynamoDB)

出于某种原因,我在完成请求错误之前退出了进程.

这是我的代码:

var http = require('http');
var aws = require('aws-sdk');
var ddb = new aws.DynamoDB();

function getUser(userid) {
    var q = ddb.getItem({
        TableName: "clients",
        Key: {
            ClientID: { S: userid } }
        }, function(err, data) {
            if (err) {
                console.log(err);
                return err;
            }
            else {
                console.log(data);
            }
    });
    //console.log(q);
}


exports.handler = function(event, context) {
    getUser('user23');
    console.log("called DynamoDB");

};
Run Code Online (Sandbox Code Playgroud)

谷歌搜索后,有人建议将时间更改为更高的金额.我做了一分钟.

但是这个功能只采用了:

持续时间:2542.23毫秒

我还检查并仔细检查了表名和密钥名称等...

控制台日志有:

2016-03-21T04:09:46.390Z - 收到活动

2016-03-21T04:09:46.751Z - 名为DynamoDB

2016-03-21T04:09:47.012Z - {}

END RequestId:id123

任何人都可以看到为什么这不起作用?

编辑

根据下面的答案我试过:

    console.log('Loading event'); …
Run Code Online (Sandbox Code Playgroud)

json amazon-web-services amazon-dynamodb aws-lambda

1
推荐指数
1
解决办法
6779
查看次数

使用Kinesis Firehose在S3和Redshift之间进行ETL可能吗?

我的团队正在尝试使用Redshift合并来自多个不同数据库的信息。在我们首次尝试实现此解决方案的过程中,我们使用Kinesis Firehose将POST的记录写入到S3的API中,然后发出COPY命令将要插入的数据写入Redshift中的正确表中。但是,这仅允许我们插入新数据,而不允许我们转换数据,更改后更新行或删除行。

在不使用批处理转换的情况下,在Redshift中维护更新的数据仓库的最佳方法是什么?理想情况下,只要本地数据库中的数据发生更改,我们都希望更新能够“自动”(<5分钟)进行。

amazon-s3 amazon-web-services aws-sdk aws-lambda amazon-kinesis-firehose

1
推荐指数
1
解决办法
2269
查看次数

如何从用Java编写的AWS Lambda函数中读取S3文件?

我编写了一个AWS Lambda函数,它的目标是在调用时 - 它读取文件的内容,例如x.db,从中获取一个特定的值并返回给调用者.但是这个x.db文件不时地改变.所以我想将这个x.db文件上传到S3并从AWS Lambda函数读取它就像读取文件一样.

        File xFile = new File("S3 file in x.db");
Run Code Online (Sandbox Code Playgroud)

如何从用Java编写的AWS Lambda函数中读取这样的x.db S3文件?

java amazon-s3 amazon-web-services aws-lambda

1
推荐指数
1
解决办法
1万
查看次数

获取API网关传递的Lambda(Nodejs)中的url参数

我已经设置了这样的API网关端点:

GET文件/ {filename}

因此,我会这样称呼它:https:// mydomain/api/files/somefile

我还有一个带有Nodejs的lambda函数,它是空的:

exports.handler = function(event,context){

//在这里检索名为'filename'的param并用它做一些事情

};

如何在GET请求中传递参数?我检查了事件和上下文对象,但我找不到任何有用的东西.

谢谢!!

lambda amazon-web-services node.js aws-lambda aws-api-gateway

1
推荐指数
1
解决办法
4384
查看次数

AWS API网关返回400错误请求,但Postman正常工作

我正在使用SendGrid Parse API(https://sendgrid.com/blog/parse-webhook-tutorial/)将传入的电子邮件正文过帐到AWS API Gateway。

当我将webhook发送到requestb.in时,我得到的响应很好。

当我使用Postman伪造对服务器的请求时,我得到了正确的响应。

但是,当我告诉SendGrid将Webhook发送到我的服务器时,我收到来自SendGrid的400错误响应错误,并且我的服务器再也没有受到攻击(因此,我认为API网关抛出了该错误)。

有什么简单的我想念的吗?我尝试设置CORS,但不是(或者我设置错了)。

我很沮丧

谢谢!

javascript amazon-web-services sendgrid aws-lambda aws-api-gateway

1
推荐指数
1
解决办法
2320
查看次数

用于将Json文件实时存储到amazon S3的Python脚本

我有一个python代码,使用Twitter Streaming API实时发送推文.我已经将输出存储到json文件中,当新的推文到达时,它继续动态更新.但是,我想将这个json保存到亚马逊s3,我可以使用亚马逊lambda服务来触发事件.有人建议我一个方法解决这个问题?

python amazon-s3 amazon-web-services aws-lambda

1
推荐指数
1
解决办法
6887
查看次数