【问题标题】:Simple AWS Lambda Terraform plan fails with ValidationException Error 400简单的 AWS Lambda Terraform 计划失败并出现 ValidationException 错误 400
【发布时间】:2021-07-29 11:59:13
【问题描述】:

我正在尝试应用下面提到的 terraform 计划,但它失败并出现验证错误。

我写了一个存在于目录lambda_function/sns_to_slack.py 中的python 函数,我将它通过terraform 压缩并上传到AWS。

我收到此错误:

error creating Lambda Function (1): ValidationException: status code: 400

文件: aws_lambda.tf

data "archive_file" "lambda_zip" {
    type          = "zip"
    source_file   = "lambda_functions/sns_to_slack.py"
    output_path   = "lambda_functions/zips/sns_to_slack.zip"
}

resource "aws_lambda_function" "sns_to_slack" {
  filename         = "lambda_functions/zips/sns_to_slack.zip"
  function_name    = "sns_to_slack"
  role             = aws_iam_role.iam_for_lambda_tf.arn
  source_code_hash = data.archive_file.lambda_zip.output_base64sha256
  runtime          = "python3.8"
}

resource "aws_iam_role" "iam_for_lambda_tf" {
  name = "iam_for_lambda_tf"
  assume_role_policy = <<POLICY
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": ""
    }
  ]
}
POLICY
}

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda terraform terraform-provider-aws


    【解决方案1】:

    您没有指定您的处理程序,因为您使用的是非默认文件名 (sns_to_slack.py):

    resource "aws_lambda_function" "sns_to_slack" {
      filename         = "lambda_functions/zips/sns_to_slack.zip"
      function_name    = "sns_to_slack"
      
      handler          = "sns_to_slack.lambda_handler"
      
      role             = aws_iam_role.iam_for_lambda_tf.arn
      source_code_hash = data.archive_file.lambda_zip.output_base64sha256
      runtime          = "python3.8"
    }
    

    "sns_to_slack.lambda_handler" 中的lambda_handler 必须更改为您实际使用的内容。

    【讨论】:

    • 谢谢!仅针对上下文:默认处理程序名称是什么?
    • @Dimitris 是lambda_function.lambda_handler
    猜你喜欢
    • 2020-07-01
    • 2021-07-06
    • 2017-01-28
    • 2020-12-28
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 2023-03-26
    • 2018-10-15
    相关资源
    最近更新 更多