【问题标题】:migration AWS Lambda to graviton - property Architectures not defined将 AWS Lambda 迁移到 graviton - 未定义属性架构
【发布时间】:2021-10-20 22:06:45
【问题描述】:

我想在我的 AWS Lambda (Python) 中使用 graviton。于是我阅读了AWS官方文档:https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html

Type: AWS::Serverless::Function
Properties:
  Architectures: List

我的 AWS Lambda 包含一个层,所以我阅读了 AWS 官方文档:https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html

Type: AWS::Serverless::LayerVersion
Properties:
  CompatibleArchitectures: List

我的 cloudFormation:

MyBulkUploadFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      FunctionName: !Sub ${Project}-my-bulk-upload-${Environment}
      Role: !Sub ${RoleLambda}
      CodeUri: lambdas/bulk_upload/
      Handler: app.lambda_handler
      Layers:
        - !Ref MyDataLayer
      Runtime: python3.9
      Architectures:
        - arm64
      VpcConfig: # For accessing RDS instance
        SecurityGroupIds:
          - !Ref LambdaSecurityGroup
        SubnetIds:
          - !Ref privateLambdaSubnet1
          - !Ref privateLambdaSubnet2
      Environment:
        Variables:
          RDS_HOST: !GetAtt DatabasePrimaryInstance.Endpoint.Address
          RDS_USERNAME: AWS::NoValue
          RDS_PASSWORD: AWS::NoValue
          RDS_SECRET_NAME: !Ref DatabasePrimaryInstanceSecret
          RDS_DB_NAME: !Ref RDSName
          BULK_UPLOAD_S3_BUCKET: !Sub ${Project}-my-bulk-upload-${Environment}
      Events:
        UploadFile:
          Type: S3
          Properties:
            Bucket: !Ref MyBulkUploadS3
            Events: s3:ObjectCreated:*


  MyDataLayer:
    Type: AWS::Serverless::LayerVersion
    Properties:
      LayerName: !Sub ${Project}-my-data-layer-${Environment}
      Description: Common
      ContentUri: lambdas/my_common/
      CompatibleRuntimes:
        - python3.9
      CompatibleArchitectures:
        - arm64
      RetentionPolicy: Retain
    Metadata:
      BuildMethod: makefile

错误控制台输出:

samcli.commands.validate.lib.exceptions.InvalidSamDocumentException: [InvalidResourceException('MyBulkUploadFunction', 'property Architectures not defined for resource of type AWS::Serverless::Function'), InvalidResourceException('MyDataLayer', 'property CompatibleArchitectures not defined for resource of type AWS::Serverless::LayerVersion')] ('MyBulkUploadFunction', 'property Architectures not defined for resource of type AWS::Serverless::Function') ('MyDataLayer', 'property CompatibleArchitectures not defined for resource of type AWS::Serverless::LayerVersion')

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

    AWS Lambda on graviton 需要 AWS SAM CLI 版本大于或等于 1.33.0

    sam --version
    SAM CLI, version 1.33.0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-16
      • 2020-02-12
      • 2021-01-06
      • 1970-01-01
      • 2019-07-11
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      相关资源
      最近更新 更多