0

错误:检测到 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 创建上面的错误来了。

谢谢

4

0 回答 0