大佬教程收集整理的这篇文章主要介绍了在私有子网中部署 lambda。创建 Lambda 函数时出错 (1):ValidationException 状态代码:400,请求 id,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用 terraform 将 nodeJs lambda zip 文件部署到私有子网自定义 vpc。
地形计划工作正常。但是在应用更改时会引发错误。角色已创建,但 terraform lambda 未部署并在一分钟内出错。错误是:
“创建 Lambda 函数时出错 (1):ValIDationException:状态代码:400,请求 ID...”
此 lambda 将由 cloud watch-event 调用。
是否与 VPC 角色有关?
//calling module
module "lambda" {
provIDers = {
aws.programR_538_11845@atic = aws.programR_538_11845@atic
}
source = "../modules/lambda"
description = var.description
filename = "${path.modulE}/filename.zip}"
@R_696_1899@ = "rfcsyncfunc"
handler = "index.handler"
memory_size = 512
publish = false
reserved_concurrent_EXECUTIONS = 20
runtime = "nodeJs14.x"
source_code_hash = filebase64sha256(var.fileName)
timeout = 90
vpc_config = {
security_group_IDs = ["sg-123456789"]
subnet_IDs = ["xx.xx.xxx.xxx/27","xx.xx.xx.xx/27"] //["subnet-1","subnet-2"]
}
environment = {
variables = {
TEST1API_URL = "https://example.com/test.asmx"
TEST2API_URL = "https://example.com/test/staging/test2.asmx"
}
}
}
//lambda module
provIDer aws {
alias = "progrAMMatic"
}
resource "aws_lambda_function" "lambda" {
description = var.description
dynamic "environment" {
for_each = length(var.environment) < 1 ? [] : [var.environment]
content {
variables = environment.value.variables
}
}
filename = var.s3_bucket == "" ? var.filename : null
@R_696_1899@ = var.@R_696_1899@
handler = var.handler
memory_size = var.memory_size
publish = var.publish
reserved_concurrent_EXECUTIONS = var.reserved_concurrent_EXECUTIONS
role = aws_iam_role.lambda.arn
runtime = var.runtime
source_code_hash = var.source_code_hash
Tags = var.Tags
timeout = var.timeout
dynamic "vpc_config" {
for_each = length(var.vpc_config) < 1 ? [] : [var.vpc_config]
content {
security_group_IDs = vpc_config.value.security_group_IDs
subnet_IDs = vpc_config.value.subnet_IDs
}
}
}
data "aws_iam_policy_document" "assume_role_policy" {
statement {
actions = ["sts:AssumeRole"]
principals {
type = "service"
IDentifIErs = ["lambda.amazonaws.com"]
}
}
}
resource "aws_iam_role" "lambda" {
name = "${var.@R_696_1899@}-lambdarole"
assume_role_policy = data.aws_iam_policy_document.assume_role_policy.Json
permissions_boundary = var.permissions_boundary
}
resource "aws_iam_role_policy_attachment" "clouDWatch_logs" {
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
}
resource "aws_iam_role_policy_attachment" "vpc_eniattachment" {
count = length(var.vpc_config) < 1 ? 0 : 1
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaENIManagementAccess"
}
/*
resource "aws_iam_role_policy_attachment" "vpc_attachment" {
count = length(var.vpc_config) < 1 ? 0 : 1
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole"
}
*/
module/clouwatchevent
resource "aws_lambda_permission" "clouDWatch" {
count = var.enable ? 1 : 0
statement_ID = "AllowExecutionFromClouDWatch"
action = "lambda:InvokeFunction"
@R_696_1899@ = var.lambda_function_arn
principal = "events.amazonaws.com"
source_arn = aws_clouDWatch_event_rule.lambda[count.index].arn
}
resource "aws_clouDWatch_event_rule" "lambda" {
count = var.enable ? 1 : 0
description = var.description
event_pattern = var.event_pattern
is_enabled = var.is_enabled
name = var.name
name_prefix = var.name_prefix
schedule_Expression = var.schedule_Expression
}
resource "aws_clouDWatch_event_target" "lambda" {
count = var.enable ? 1 : 0
rule = aws_clouDWatch_event_rule.lambda[count.index].name
arn = var.lambda_function_arn
}
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的在私有子网中部署 lambda。创建 Lambda 函数时出错 (1):ValidationException 状态代码:400,请求 id全部内容,希望文章能够帮你解决在私有子网中部署 lambda。创建 Lambda 函数时出错 (1):ValidationException 状态代码:400,请求 id所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。