我在AWS Lambda中有一个使用runtime的函数Node.js 6.10。Lambda可以很好地运行我的代码,但是即使代码已完成,也可以继续“执行”。我想发生的是Lambda在代码完成后停止。我在下面的日志中查看是否有人可以看到问题所在。注意我的回调函数结束返回success
{
"errorMessage": "2017-12-07T17:50:55.618Z e4a5bb77-db76-11e7-b2e6-514284a81613 Task timed out after 120.09 seconds"
}
START RequestId: e4a5bb77-db76-11e7-b2e6-514284a81613 Version: $LATEST
2017-12-07T17:48:55.527Z e4a5bb77-db76-11e7-b2e6-514284a81613 -L-llvVALjYpyUV0M6EG //gotten from code
2017-12-07T17:48:58.652Z e4a5bb77-db76-11e7-b2e6-514284a81613 http://www.loopnewsbarbados.com/content/bitcoin-worth-millions-stolen-days-us-exchange-opens-1 //gotten from code
2017-12-07T17:49:01.150Z e4a5bb77-db76-11e7-b2e6-514284a81613 crisis, //gotten from code
2017-12-07T17:49:01.232Z e4a5bb77-db76-11e7-b2e6-514284a81613 success //successful callback
END RequestId: e4a5bb77-db76-11e7-b2e6-514284a81613
REPORT RequestId: e4a5bb77-db76-11e7-b2e6-514284a81613 Duration: 120093.31 ms Billed Duration: 120000 ms Memory Size: 128 MB Max Memory Used: 34 MB
2017-12-07T17:50:55.618Z e4a5bb77-db76-11e7-b2e6-514284a81613 Task timed out after 120.09 seconds
我需要将AWS API网关自定义授权者添加到Lambda函数中。目前,我已经为每个端点添加了授权者。如下serverless.yml。
无服务器
service: test-service
provider:
name: aws
runtime: nodejs6.10
stage: dev
region: us-east-1
functions:
bff:
handler: app.handler
events:
- http:
path: /home
method: get
cors: true
authorizer :
arn: arn:aws:lambda:us-east-1:xxxxxx:function:token-verifier
resultTtlInSeconds: 0
identitySource: method.request.header.Authorization
identityValidationExpression: '.*'
Run Code Online (Sandbox Code Playgroud)
如何将自定义授权者添加到整个lambda函数,而不是分别添加到每个端点?
amazon-web-services aws-lambda aws-api-gateway serverless-framework
我想知道在为无服务器计算创建函数时是否可以使用docker?
如果是这样,它会是什么样子?
如何指定函数处理程序?
有关此主题的任何文章或教程?
您如何在AWS-Lambda上下文中应用这些问题?任何细节?
谢谢.
在AWS Lambda中建议使用执行程序服务吗?我看到AWS文档中的进程和线程有限制
Number of processes and threads (combined total) 1,024
这是否确定我的执行程序服务中的线程数?
关闭执行程序服务对AWS lambda是否像其他进程一样重要?
executorservice amazon-web-services executors threadpoolexecutor aws-lambda
我正在尝试通过AWS CLI从我的本地计算机更新我的lambda函数代码.aws lambda有命令更新zip文件的功能代码,但不能更新jar.我可以使用s3存储桶上传,但我需要从本地更新.
我知道以下是从S3存储桶和zip更新的方法:
我想问一下上传jar是否存在类似的命令?
我在API后面有一个Lambda,如果未提供正确的参数,则想响应一个错误。我可以使用回调发送消息,但是发送消息时是否可以停止执行?我附上示例代码:
dynamodb.putItem(add_params, function(err, data) {
if (err) callback(null,respond({Success:{BOOL:false},Error{S:JSON.stringify(err)}}));
if (data==null) callback(null,respond({Success:{BOOL:false},Error:{S:"No data in previous step"}}));
callback(null,respond(return_JSON));
});
Run Code Online (Sandbox Code Playgroud)
我本以为Lambda会在响应时终止,但是我收到了几个回调
我是新来的Amazon Web Services,我想知道,如果该平台还提供任何解决方案,媒体文件转换成不同的格式(MP4到MP3播放),或者我必须使用lambda函数与第三方库来实现这一目标.谢谢 !
transcoding amazon-web-services aws-lambda amazon-elastic-transcoder
我正在学习AWS Lambda,并且担心同步实时请求。lambda具有“冷启动”的事实,对于处理GET请求来说听起来并不好。
假设用户正在使用该应用程序并执行GET HTTP请求以获取产品或产品列表,如果lambda处于睡眠状态,则将需要10秒钟来响应,我认为这不是可接受的响应时间。使用AWS Lambda进行经典(同步响应)API Rest是好还是不好的做法?
我是Lambda(或AWS)的新手,我仍然需要围绕它建立知识和经验.
现在,我正在构建一个应用程序,其中需要从twitter Hashtag获取数据.
如果我说得对,Twitter会限制我们每分钟拨打的API调用次数(?)因此我们需要有一个后端并且需要进行oAuth2身份验证.
在一个简单的快速应用程序中,我会在全局范围内完成一个API调用以获取数据,并在每x分钟后使用setInterval命中该API,以便不超过限制数.
现在基于非常模糊的理解,我猜Lambda在需要时运行函数,因此假设我们不能将lambda用于此类用例是正确的吗?
我正在尝试编写一个lambda函数,该函数会在将新映像写入S3存储桶时触发。触发器已经使用正确的S3存储桶进行了设置,因此我知道这不是问题。
lambda函数本身具有s3:GetObject和dynamodb。*角色(对于DynamoDB写操作应具有完全访问权限)。
这里的目标是简单地写一个我已经创建的名为'art'的表,并插入一个我试图从中获取的主键值(imageTitle)var imageName。然后,我想为该键分配一个属性,即存储在中的该图像的url var url。
这只是我要尝试的简单练习,因此我可以继续进行更复杂的数据库写入。但是到目前为止,art即使我向S3存储桶中添加了触发触发器的新对象,也没有将任何内容写入表中。lambda函数是否可能未部署?我直接在Lambda Console的内联编辑器中编写了它并保存了它。
这是代码:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
const s3 = new AWS.S3();
exports.handler = async (event, context, callback) => {
//var sourceBucket = event.Records[0].s3.bucket.name;
var sourceKey = event.Records[0].s3.object.key;
var imageName = sourceKey.stringify;
//generate imageURL
var url = "https://s3.amazonaws.com/myapp-20181030214040-deployment/public/" + imageName;
var params = {
TableName : 'art',
Item: {
imageTitle: imageName,
imageURL: url
}
};
docClient.put(params, function(err, data) {
if (err) console.log(err);
else …Run Code Online (Sandbox Code Playgroud) aws-lambda ×10
node.js ×2
serverless ×2
amazon-s3 ×1
aws-cli ×1
aws-sdk ×1
docker ×1
executors ×1
transcoding ×1