[英]What is causing Serverless deploy error: Unable to validate the following destination configurations, S3 InvalidArgument?
[英]Unable to validate the following destination configurations((Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument)
我正在为 s3 存储桶添加主题配置并收到以下异常:
无法验证以下目标配置(服务:Amazon S3;状态代码:400;错误代码:InvalidArgument
我已经向 s3 授予了 lambda 权限,但仍然收到异常。 请找到以下代码。
"Resources": {
"s3Mock":{
"DependsOn": "LambdaInvokePermission",
"Type": "AWS::S3::Bucket",
"Properties": {
"NotificationConfiguration": {
"LambdaConfigurations": [{
"Event": "s3:ObjectCreated:Put",
"Filter": {
"S3Key": {
"Rules": [
{
"Value": ".zip",
"Name": "suffix"
}
]
}
},
"Function": {
"Fn::GetAtt": [
"LambdaMock",
"Arn"
]
}
}
]
}
}
},
"LambdaMock": {
"DependsOn": "IAMPolicy",
"Type": "AWS::Lambda::Function",
"Properties": {
"FunctionName": {
"Ref": "Lambda"
},
"Description": "A Lambda function which will persist the data into RDS",
"Code": {
"S3Bucket" :{"Fn::ImportValue" : {"Fn::Sub" : "${s3StackParameter}-BucketName"}},
"S3Key" :"abc/adi-cpm-analytics-mock-lambda.zip"
},
"Handler": "adi-cpm-analytics-mock-lambda.lambda_handler",
"Role": {
"Fn::GetAtt": [
"IAMRole",
"Arn"
]
},
"Runtime": "python3.7",
"Timeout": 300
}
},
"LambdaInvokePermission": {
"DependsOn": "LambdaMock",
"Type": "AWS::Lambda::Permission",
"Properties": {
"FunctionName": {
"Fn::GetAtt": [
"LambdaMock",
"Arn"
]
},
"Action": "lambda:InvokeFunction",
"Principal": "s3.amazonaws.com",
"SourceAccount": {
"Ref": "AWS::AccountId"
},
"SourceArn": {"Fn::ImportValue" : {"Fn::Sub" : "${s3StackParameter}-BucketArn"}}
}
},
请让我知道我在解决问题的代码中缺少什么。
这里有几个问题:
s3StackParameter
参数未定义。Lambda
和Role
资源。有关创建向 Lambda 发送通知的 S3 存储桶的正确示例,请参阅此帖子: https : //aws.amazon.com/premiumsupport/knowledge-center/unable-validate-circular-dependency-cloudformation/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.