设置使用 sam local 部署的 lambda 的静态名称

set static name of lambda deployed with sam local

我正在关注 sam 本地存储库中的 helloworld 示例:

aws-sam-local\samples\hello-world\python

但这是我的 template.yaml:

AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Description: An AWS Serverless Specification template describing your function
Resources:
  MyLambda:
    Type: 'AWS::Serverless::Function'
    Properties:
      Handler: lambda_function.lambda_handler
      Runtime: python3.6
      CodeUri: .
      Description: ''
      MemorySize: 128
      Timeout: 3
      Role: 'arn:aws:iam::123345:role/myrole'

我打包了:

sam package --template-file template.yaml --s3-bucket BUCKET --output-template-file packaged-template.yaml

并部署!

sam deploy --template-file packaged-template.yaml --stack-name test-sam-local --capabilities CAPABILITY_IAM --region REGION

它有效,太棒了,但这是它创建的 lambda 的名称:

test-sam-local-MyLambda-SOME_GUID

我可以控制那个名字吗?我希望函数的名称在重新部署时被静态定义和破坏(到具有相同名称的函数)。

使用: FunctionName: MyLambda 在属性下。参考 (Here)