본문 바로가기

AWS 인프라/Lambda

AWS SAM으로 배포할 때 AWS Lambda 이름 설정하기

반응형

SAM CLI를 통해서 deploy할 때, 함수 이름을 설정하지 않으면 다음과 같은 형식으로 자동생성된다.

CloudFormation stack + Lambda function + Some Id

 

그래서 AWS Lambda Console을 볼 때 마음 한 켠이 영 찝찝하다.

 

해결책은 deploy할 때 사용하는 template.yaml 파일에 FunctionName 인자를 주면 된다.

Resources:
  HelloWorldFunction:
    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: 내가-하고싶은-이름
      CodeUri: hello-world
      Handler: app.handler
      Runtime: nodejs10.x
      Events:
        HelloWorld:
          Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
          Properties:
            Path: /hello
            Method: get

하위 위치도 중요하다. HelloWorldFunction 바로 아래 넣거나, Type 하위에 넣거나 하면 적용되지 않는다. Properties의 인자로 넣어 주어야 올바르게 배포가 된다.

😃

반응형