AWS Cloudformation - 'content.s3Bucket' 处的值无法满足约束:成员必须满足正则表达式模式



我本来打算访问zip文件的s3存储桶
当我使用下面的代码时,它可以访问bucket,因为它使用bucket的根目录

"S3Bucket":{"参考文献":"HandlerCodeS3Bucket";},

当我想访问同一个bucket的layers文件夹时,我使用HandlerCodeS3BucketLayer参数
但下面显示错误

1 validation error detected: Value 'admin-sourcecode/layers' at 'content.s3Bucket' failed to satisfy constraint: Member must satisfy regular expression pattern: ^[0-9A-Za-z.-_]*(?<!.)$ (Service: AWSLambdaInternal; Status Code: 400; Error Code: ValidationException; Request ID: xxx)
{
"AWSTemplateFormatVersion": "2010-09-09",

"Parameters": {
"HandlerCodeS3Bucket": {
"Type": "String",
"Default": "admin-sourcecode"
},
"HandlerCodeS3BucketLayer": {
"Type": "String",
"Default": "admin-sourcecode/layers"
}
},
"Resources": {
"MyLayer": {
"Type": "AWS::Lambda::LayerVersion",
"Properties": {
"CompatibleRuntimes": [
"nodejs12.x"
],
"Content": {
"S3Bucket": {
"Ref": "HandlerCodeS3BucketLayer"
},
"S3Key": "imageUploadLayer.zip"
},
"Description": "My layer",
"LayerName": "imageLayer",
"LicenseInfo": "MIT"
}
}
}
}

Bucket名称不能包含斜杠:

admin-sourcecode/layers

也许在你的代码中应该是:

{
"AWSTemplateFormatVersion": "2010-09-09",

"Parameters": {
"HandlerCodeS3Bucket": {
"Type": "String",
"Default": "admin-sourcecode"
},
"HandlerCodeS3BucketLayer": {
"Type": "String",
"Default": "admin-sourcecode"
}
},
"Resources": {
"MyLayer": {
"Type": "AWS::Lambda::LayerVersion",
"Properties": {
"CompatibleRuntimes": [
"nodejs12.x"
],
"Content": {
"S3Bucket": {
"Ref": "HandlerCodeS3BucketLayer"
},
"S3Key": "layers/imageUploadLayer.zip"
},
"Description": "My layer",
"LayerName": "imageLayer",
"LicenseInfo": "MIT"
}
}
}
}

相关内容

最新更新