Lambda 找不到文件 test_lambda.js。确保您的处理程序支持以下格式:file-name.method
Lambda can't find the file test_lambda.js. Make sure that your handler upholds the format: file-name.method
我的 AWS Lambda 触发器功能出现问题,控制台显示 Lambda can't find the file test_lambda.js. Make sure that your handler upholds the format: file-name.method.
这是我的相关代码。这是 lambda 函数本身 -
resource "aws_lambda_function" "development_lambda" {
function_name = "test_lambda"
role = "${aws_iam_role.iam_for_lambda.arn}"
handler = "test_lambda"
runtime = "nodejs10.x"
filename = "test_lambda.js.zip"
source_code_hash = "${filebase64sha256("test_lambda.js.zip")}"
timeout = 10
vpc_config {
subnet_ids = flatten(["${private_subnet_ids}"])
security_group_ids = flatten(["${security_group_id}"])
}
environment {
variables = {
env = "localhost"
}
}
}
这里是事件源映射代码-
resource "aws_lambda_event_source_mapping" "event_source_mapping" {
event_source_arn = "${aws_sqs_queue.development-queue.arn}"
enabled = true
function_name = "${aws_lambda_function.development_lambda.arn}"
batch_size = 10
}
这是文件 test_lambda.js
中的 lambda 处理程序
exports.handler = (event, context, callback) => {
console.log("Lambda test");
callback(null, 'In Lambda');
};
我在同一路径中也有一个test_lambda.js.zip。
这里有什么问题吗?
您的处理人应该是 test_lambda.handler
。
您可以在基本设置信息下看到。在 AWS Lambda 控制台上,处理程序应定义为:file-name.method like file-name.handler
如果Python,文件名是index.py,Code里面的定义体是
def lambda_handler(事件,上下文):
index.lambda_handler
如果Node.js,文件名是lambda_function.js定义体定义为
exports.handler = 异步(事件)=>
lambda_function.handler
我的 AWS Lambda 触发器功能出现问题,控制台显示 Lambda can't find the file test_lambda.js. Make sure that your handler upholds the format: file-name.method.
这是我的相关代码。这是 lambda 函数本身 -
resource "aws_lambda_function" "development_lambda" {
function_name = "test_lambda"
role = "${aws_iam_role.iam_for_lambda.arn}"
handler = "test_lambda"
runtime = "nodejs10.x"
filename = "test_lambda.js.zip"
source_code_hash = "${filebase64sha256("test_lambda.js.zip")}"
timeout = 10
vpc_config {
subnet_ids = flatten(["${private_subnet_ids}"])
security_group_ids = flatten(["${security_group_id}"])
}
environment {
variables = {
env = "localhost"
}
}
}
这里是事件源映射代码-
resource "aws_lambda_event_source_mapping" "event_source_mapping" {
event_source_arn = "${aws_sqs_queue.development-queue.arn}"
enabled = true
function_name = "${aws_lambda_function.development_lambda.arn}"
batch_size = 10
}
这是文件 test_lambda.js
exports.handler = (event, context, callback) => {
console.log("Lambda test");
callback(null, 'In Lambda');
};
我在同一路径中也有一个test_lambda.js.zip。
这里有什么问题吗?
您的处理人应该是 test_lambda.handler
。
您可以在基本设置信息下看到。在 AWS Lambda 控制台上,处理程序应定义为:file-name.method like file-name.handler
如果Python,文件名是index.py,Code里面的定义体是
def lambda_handler(事件,上下文):
index.lambda_handler
如果Node.js,文件名是lambda_function.js定义体定义为
exports.handler = 异步(事件)=>
lambda_function.handler