【发布时间】: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