AWS SAM 函数 AutoPublishAlias "Invalid function version"

AWS SAM Function AutoPublishAlias "Invalid function version"

我正在使用 AWS SAM 部署 Lambda 函数。我在部署函数时使用 AutoPublishAlias 属性 自动发布新版本,但出现以下错误:Invalid function version 9. Function version 9 is already included in routing configuration. (Service: AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: 56b59a6b-6c57-434e-a505-ce7aa27c99b6)。每次我删除和创建堆栈时,函数都会成功创建,但是当我尝试更新堆栈时,我会收到错误消息。我也想知道为什么删除Lambda后版本号不是从1开始的?

Lambda 定义:

ApiLambda:
Type: AWS::Serverless::Function
Properties:
  FunctionName: !Sub '${TagApplication}-${TagEnvironment}-api-lambda'
  CodeUri: ../build
  Handler: lambda.handler
  MemorySize: 256
  Role: !GetAtt LambdaExecutionRole.Arn
  Runtime: nodejs10.x
  Timeout: 30
  AutoPublishAlias: 'live'
  ProvisionedConcurrencyConfig:
    ProvisionedConcurrentExecutions: '1'

AWS Lambda 控制台别名菜单的屏幕截图:

看起来您还需要配置 DeploymentPreference 属性 - 请参阅此 link - https://github.com/awslabs/serverless-application-model/issues/1296 and https://github.com/jcts3/sam-pc-experiment/blob/master/template.yaml#L22