我将 API GATEWAY 与 Lambda 用于我的应用程序。在我的一个函数中,我突然收到 502 并出现此错误:
{ "Message": "Lambda 在使用 Lambda 执行角色设置 Lambda 函数时受到限制。", "Type": "User" }
我在网上查了一下,没有发现与该错误相关的任何内容。
我检查了我的 ConcurrentExecutions 并没有超过限制。
我的 lambda 在每个 lambda 中都使用 VPC,也许有连接?
会很高兴得到任何帮助。谢谢
我正在尝试将多部分/表单数据表单发送到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) 我知道有很多关于映射请求数据的问题,但是没有人帮助过我.所以,我想要实现的是一个映射到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) 我希望有人能提供帮助,我已经让AWS Lambda在context.succeed或context.fail中返回了一些XML,除了一小部分外,一切都很好.我回应了XML,但因为标题仍然存在Content-Type: application/json而我正在谈论的Twilio服务器正在查看并拒绝它,即使正文实际上是有效的XML.
有没有办法覆盖标题?
非常感谢.
出于某种原因,我在完成请求错误之前退出了进程.
这是我的代码:
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) 我的团队正在尝试使用Redshift合并来自多个不同数据库的信息。在我们首次尝试实现此解决方案的过程中,我们使用Kinesis Firehose将POST的记录写入到S3的API中,然后发出COPY命令将要插入的数据写入Redshift中的正确表中。但是,这仅允许我们插入新数据,而不允许我们转换数据,更改后更新行或删除行。
在不使用批处理转换的情况下,在Redshift中维护更新的数据仓库的最佳方法是什么?理想情况下,只要本地数据库中的数据发生更改,我们都希望更新能够“自动”(<5分钟)进行。
amazon-s3 amazon-web-services aws-sdk aws-lambda amazon-kinesis-firehose
我编写了一个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文件?
我已经设置了这样的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
我正在使用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
我有一个python代码,使用Twitter Streaming API实时发送推文.我已经将输出存储到json文件中,当新的推文到达时,它继续动态更新.但是,我想将这个json保存到亚马逊s3,我可以使用亚马逊lambda服务来触发事件.有人建议我一个方法解决这个问题?