错误:检测到 1 个验证错误:'code.s3Bucket' 处的值 'BATS::SAM::CodeS3Bucket' 未能满足约束:成员必须满足正则表达式模式:^[0-9A-Za-z.-_]*( ?
BATS::SAM::CodeS3Bucket的作用是什么
Conditions:
HasBucketKey:
Fn::Not:
- Fn::Equals:
- {Ref: BucketKey}
- ''
HasBucketName:
Fn::Not:
- Fn::Equals:
- {Ref: BucketName}
- ''
Parameters:
BucketKey: {Default: '', Type: String}
BucketName: {Default: '', Type: String}
Resources:
OriginAccessLambdaRole:
Properties:
AssumeRolePolicyDocument:
Statement:
- Action: ['sts:AssumeRole']
Effect: Allow
Principal:
Service: [lambda.amazonaws.com]
Version: '2012-10-17'
Policies:
- PolicyDocument:
Statement:
- Action: ['logs:CreateLogStream', 'logs:PutLogEvents', 'logs:CreateLogGroup']
Effect: Allow
Resource: '*'
- Action: ['cloudfront:*']
Effect: Allow
Resource: '*'
PolicyName: CloudFrontOAIPolicy
Type: AWS::IAM::Role
OriginAccessLambda:
DependsOn: [OriginAccessLambdaRole]
Properties:
Code:
S3Bucket:
Fn::If:
- HasBucketName
- {Ref: BucketName}
- BATS::SAM::CodeS3Bucket
S3Key:
Fn::If:
- HasBucketKey
- {Ref: BucketKey}
- BATS::SAM::CodeS3Key
Description: Creates an origin access identity
Handler: handlers.oai
MemorySize: 2048
Role:
Fn::GetAtt: [OriginAccessLambdaRole, Arn]
Runtime: python3.6
Timeout: 120
Type: AWS::Lambda::Function
Transform: AWS::Serverless-2016-10-31**
这是我的 cloudFormation 模板
IAM 角色创建成功,但 lambda 创建上面的错误来了。
谢谢