当前位置: 首页 > 知识库问答 >
问题:

错误创建lambda函数与terra从获得验证错误

殷承恩
2023-03-14

我使用teraform-aws-lambda模块和terraform-aws-iam模块,下面是这些例子,但是我得到了验证异常错误(输出如下)

https://github.com/terraform-aws-modules/terraform-aws-lambda/tree/master/examples/simplehttps://github.com/terraform-aws-modules/terraform-aws-iam/tree/master/examples/iam-assumable-role

resource "random_pet" "this" {
    length = 2
}

module "lambda_function" {
    source = "../../modules/terraform-aws-lambda"

    publish = true

    # function_name = "${random_pet.this.id}-copyAMI"
    function_name = "Test-copyAMI"
    handler       = "index.lambda_handler"
    runtime       = "python3.8"

    create_role = false
    lambda_role = module.iam_assumable_role_custom.iam_role_name

    attach_policy = true
    policy = module.iam_policy.arn

    timeout = 600
    

    source_path = [
        "${path.module}/../../src/copy_ami.py",
    ]
}
provider "aws" {
  region = "eu-west-1"
}


module "iam_assumable_role_custom" {
  source = "../../modules/iam-assumable-role"


  trusted_role_services = [
    "lambda.amazonaws.com"
  ]

  create_role = true

  role_name         = "LambdaFunction-1"
  role_requires_mfa = false

  custom_role_policy_arns = [
    module.iam_policy.arn
  ]

  role_permissions_boundary_arn = "arn:aws:iam::xxxxxxxxx:policy/BasePolicy"
}


module "iam_policy" {
  source = "../../modules/iam-policy"

  name        = "LambdaFunction-1"
  path        = "/"
  description = "AMI Copy IAM Policy"

  policy = <<EOF
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:ModifySnapshotAttribute",
                "sts:*",
                "ec2:CopyImage",
                "ec2:ModifyImageAttribute"
            ],
            "Resource": "*"
        }
    ]
}
EOF
}
module.lambda_function.aws_lambda_function.this[0]: Creating...
╷
│ Error: error creating Lambda Function (1): ValidationException: 
│   status code: 400, request id: ecf44929-bfa5-4058-89aa-f6ecdacf359e
│ 
│   with module.lambda_function.aws_lambda_function.this[0],
│   on ../../modules/terraform-aws-lambda/main.tf line 19, in resource "aws_lambda_function" "this":
│   19: resource "aws_lambda_function" "this" {
│ 

共有1个答案

罗昊空
2023-03-14

lambda_role是IAM角色ARN,而不是名称。所以应该是:

lambda_role = module.iam_assumable_role_custom.iam_role_arn
 类似资料:
  • 问题内容: 非常奇怪的错误。我使用的是http://developers.facebook.com/docs/authentication/。所以我创建了对fb的请求并传递redirect_uri。我在本地主机上使用测试站点。所以如果我通过 redirect_uri = http://localhost/test_blog/index.php 它工作正常,但如果我通过 redirect_uri =

  • 错误: TypeError:无法读取未定义的LoginForm c:/reactjs/hello-world/src/components/accountbox/LoginForm.js的属性“state”:23 2023 value={this.state.input.email}^24 onchange={this.handlechange}25 class=“form-control”26

  • 我有一个简单的登录模型类,几乎没有数据注释验证 View是一个部分View,如下所示: 我相信我已经做了验证消息显示所需的所有事情,但它没有,客户端验证也没有。在母版页的头部区域,我还包括了以下脚本 是什么导致了这个问题?解决办法是什么?

  • 我试着把一个简单的viewModel交给一个composable,每次出现这个错误,我都不知道这意味着什么: 我的分级: 我创建了一个文件 并将其设置在清单中。 我创建了文件: 然后在我的中设置并创建一个,如下所示: 在我的导航中的处调用: null

  • 问题内容: 我正在尝试安装和使用express-validator软件包。我已经安装了软件包版本(6.0.0),然后在server.js文件中,代码是: 然后往下几行,我输入了以下内容: 当服务器重新加载更改(使用nodemon)时,应用程序崩溃并显示: TypeError:expressValidator不是函数 我的server.js文件中还有其他代码段,但是我去除了大部分与我无关的代码。 e

  • 我试图使用来获得一个基本的示例。但这是我收到的错误: