Amazon Lambda'yı anlamak için çalışıyorum. Bu, yüklenen dosyanın içerik türünü görüntülemek için s3 şablonundan sadece biraz değiştirilir.AWS Lambda s3 nesne veri şablonunu çalıştırmıyor
Alınan olay günlüğüm, ve paramlar günlüğünün her ikisi de bulut saatinde görünmesine rağmen s3.getObject() gibi hiçbir zaman yürütülemiyor, çünkü günlük günlüğündeki hata günlüğü hiç gösterilmiyor ve günlüğe kaydediliyor zaman aşımı süresinden sonra zaman aşımına uğradı.
var aws = require('aws-sdk');
var s3 = new aws.S3({apiVersion: 'latest'});
exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
// Get the object from the event and show its content type
var bucket = event.Records[0].s3.bucket.name;
var key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' '));
var params = {
Bucket: bucket,
Key: key
};
console.log(params);
s3.getObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
/*
if (err) {
var message = "Error getting object " + key + " from bucket " + bucket +
". Make sure they exist and your bucket is in the same region as this function.";
console.log(message);
context.fail(message);
} else {
console.log('CONTENT TYPE:', data.ContentType);
context.succeed(data.ContentType);
}
*/
});
};
Geçerli IM rolünün bazı değişiklikler yapması gerekiyor mu?
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DetachNetworkInterface",
"ec2:DeleteNetworkInterface"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:PutObject"],
"Resource": "arn:aws:s3:::*"
},
{
"Action": "lambda:*",
"Effect": "Allow",
"Resource": "arn:aws:lambda:*"
}]
}
Lambda işleviniz için VPC erişimini etkinleştirdiniz mi? –