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

云形成-无法创建Lambda函数

酆耀
2023-03-14

我试图创建一个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-]):([a-z]{2}((-gov)|(-iso(b))?-[a-z]-\d{1}:(\d{12}):()(服务:AWSLambda;状态代码:400;错误代码:ValidationException;请求ID:9a86cb1e-49e4-490d-9e48-fd93aa8d81dd)

云信息控制台错误

我已经参考了文档,但不知道问题出在哪里?你知道这里怎么了吗?

共有1个答案

屠泰平
2023-03-14

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"
    ]
},

从这里

 类似资料:
  • 我有一个向 SNS 主题发送通知的 AWS λ。 Lambda函数 我们使用云形成模板来部署 、 和 。如何访问通过云信息创建的主题的 ARN。 云形成模板

  • 我在nodeJS中有一个主要的谷歌云功能。在这个函数中,我希望通过编程在同一个项目中创建另一个云函数。这个新的云函数的代码可以存储在谷歌云存储的zip文件中。我试着跟着这里的导游走:https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions/create 我能够在测试模拟器中运行查询,

  • 我在这里遵循微云铸造快速入门指南:http://support.cloudfoundry.com/entries/20316811-micro-cloud-foundry-getting-startning-guide 我正在第10步:注册一个新用户,但我无法连接: 我的虚拟机处于NAT模式。我的虚拟机中的当前配置如下所示: 当前配置: 标识:lsmith.cloudfoundry.me(ok)

  • 问题内容: 我在使用XML创建简单的圆角矩形时遇到麻烦。每当我尝试将“ corners”元素添加到自定义形状时,都会得到: java.lang.UnsupportedOperationException(位于android.graphics.Path.addRoundRect(Path.java:514)(位于android.graphics.drawable.GradientDrawable.d

  • 我可以从AWS SDK创建lambda函数: 但是我如何指定这个函数应该在S3上传时触发呢?

  • 我需要使用aws客户端创建一个api网关。我使用web控制台成功地创建和集成了我的aws-lambda函数。但我对AWS-Client感到困惑。这些是我遵循的步骤。 创建api网关并使用web控制台与示例lambda函数集成。 使用AWS-CLI导出的json文件创建新的api网关。这样指挥。