【问题标题】:CloudFormation - not able to create Lambda FunctionCloudFormation - 无法创建 Lambda 函数
【发布时间】:2020-03-27 02:45:12
【问题描述】:

我正在尝试创建 Lambda 函数和 Lambda TriggeronSQS。以下是我的云形成模板 -

模板

{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
    "myfunction": {
        "Type": "AWS::Lambda::Function",
        "Properties": {
            "Runtime": "java8",
            "Role": "arn:aws:iam::219560220147:role/test@123",
            "Code": {
                "S3Bucket": "lambdacode1234",
                "S3Key": "code.jar"
            },
            "MemorySize": 256,
            "Handler": "com.test.MyHandler",
            "Timeout": 25
        },
        "Metadata": {
            "AWS::CloudFormation::Designer": {
                "id": "63dae6c8-ebdb-459b-88db-02ad5dae294a"
            }
        }
    },
    "LESM34AJN": {
        "Type": "AWS::Lambda::EventSourceMapping",
        "Properties": {
            "EventSourceArn":"  arn:aws:sqs:ap-south-1:219560220147:testlambda",
            "FunctionName": {
        "Fn::GetAtt": [
            "myfunction",
            "Arn"
        ]
    },
            "BatchSize" : 1,
            "Enabled" : "TRUE"
        },
        "Metadata": {
            "AWS::CloudFormation::Designer": {
                "id": "26a65289-5f1e-41db-b94d-812d2340c945"
            }
        }
    }
},
"Mappings": {
    "RegionCodeMapping": {
        "us-east-1": {
            "regionCode": "US"
        },
        "us-west-2": {
            "regionCode": "FE"
        },
        "eu-west-1": {
            "regionCode": "EU"
        }
    }
},
"Parameters": {
    "teamname": {
        "Description": "Enter Name TeamName",
        "Type": "String",
        "AllowedPattern": "^[a-z0-9-]*$"
    },
    "env": {
        "Description": "Enter Envirment type e.g. dev,test,prod",
        "Type": "String",
        "AllowedValues": [
            "devo",
            "test",
            "prod"
        ]
    },
    "sqsARNtoTriggerLambda": {
        "Type": "String"
    },
    "codeFile": {
        "Type": "String"
    }
},
"Outputs": {
    "LambdaFunctionARN": {
        "Description": "ARN of Lambda Function",
        "Value": {
            "Fn::GetAtt": [
                "myfunction",
                "Arn"
            ]
        }
    }
}

}

错误

我尝试通过 AWS 控制台创建堆栈,但在创建 SQS 策略时收到以下错误

检测到 1 个验证错误:“eventSourceArn”处的值“arn:aws:sqs:ap-south-1:219560220147:testlambda”未能满足约束:成员必须满足正则表达式模式:arn:(aws[a-zA -Z0-9-]):([a-zA-Z0-9-])+:([az]{2}((-gov)|(-iso(b?)))?-[ az]+-\d{1})?:(\d{12})?:(.) (服务:AWSLambda;状态代码:400;错误代码:ValidationException;请求 ID:9a86cb1e-49e4- 490d-9e48-fd93aa8d81dd)

CloudFormation Console Error

我已经提交了documentation ,但不知道问题出在哪里?有什么想法吗?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudformation amazon-sqs


    【解决方案1】:

    EventSourceArn 中删除空格。

    改变

    "LESM34AJN": {
        "Type": "AWS::Lambda::EventSourceMapping",
        "Properties": {
            "EventSourceArn":"  arn:aws:sqs:ap-south-1:219560220147:testlambda",
            "FunctionName": {
        "Fn::GetAtt": [
            "myfunction",
            "Arn"
        ]
    },
    

    "LESM34AJN": {
        "Type": "AWS::Lambda::EventSourceMapping",
        "Properties": {
            "EventSourceArn":"arn:aws:sqs:ap-south-1:219560220147:testlambda",
            "FunctionName": {
        "Fn::GetAtt": [
            "myfunction",
            "Arn"
        ]
    },
    

    From here

    【讨论】:

      猜你喜欢
      • 2015-12-04
      • 2020-01-08
      • 2017-05-18
      • 2016-07-17
      • 2017-05-07
      • 2021-05-11
      • 2021-09-16
      • 1970-01-01
      • 2019-07-26
      相关资源
      最近更新 更多