1

저는 serverless 프레임 워크에 익숙하지 않습니다. 적어도 CloudFormation에 크게 의존하는 최신 버전까지.Serverless Framework : CloudFormation을 사용하여 배포하는 방법?

npm install -g serverless 

은 그때 사용하여 서비스 생성 :

내가 사용하여 내 컴퓨터에 전 세계적으로 프레임 워크를 설치 마지막

serverless create --template aws-nodejs --path myService 

를, 내가 달릴 :

serverless deploy 

모든 것 정상적으로 배포하면 터미널에 오류가 표시되지 않습니다. 새로 생성 된 전용 S3 버킷에서 CloudFormation 파일을 볼 수 있습니다.

그러나 AWS 람다 콘솔에서 hello 람다 함수를 찾을 수 없습니다.

무엇이 누락 되었습니까? CloudFormation 파일은 배포시 람다 함수를 생성하지 않아야합니까?

I did not properly set the AWS region 

그래서, 내가 잘못 지역에서 람다 함수를 찾고 있었다 : 그것을 찾을 수 없습니다 물론

답변

2

이유는 당신의 람다 함수 때문에 기본 영역 (us-east-1)에 업로드되었고 람다 콘솔은 다른 영역의 기능을 표시했습니다.

기능에 맞는 올바른 영역을 설정하려면 serverless.yml 파일의 영역 필드를 사용할 수 있습니다.

지역 속성이 공급자 섹션 바로 아래에 있는지 확인하십시오. 2/4 공백 들여 쓰기. 이처럼 : 또는

provider: 
    region: eu-west-1 

, 당신과 같이 배치시 지역을 지정할 수 있습니다 : 당신이 사용하는 서버를 사용하지 않는 어떤 버전의

sls deploy --region eu-west-1 
+1

4 칸을 사용할 필요는 없습니다. 나는 2 칸 만 사용하고 잘 작동한다. YAML 명세가 요구하는 것은 일관성이다. – Zanon

+1

또한 공급자 바로 아래에 영역을 배치 할 필요는 없습니다. 다른 속성을 설정할 수 있습니다. – Zanon

+1

@ Zanon과 직접적인 관련성이 있음. 어딘가에. 공급자 범위 외부에 배치하기 쉽습니다. 그리고 4 칸을 가지고 다시 한 번 지역이 제공자 영역에서 들여 쓰기되어 있는지 의심 스럽습니다. – doorstuck

0

뜨아, 나는 슈퍼 바보 같은 실수를했다!

배포하기 전에, 하나는 제공함으로써

UPDATE 그럼 실제로, 나는 serverless.yml에서 지역을 설정 한 올바른 영역을 설정할 수 있는지 확인해야합니다 :

region: eu-west-1 

을하지만, 어떤 이유로 기본 영역을 덮어 쓰지 않았고 함수가 잘못된 영역에 배포되었습니다. 이상 하네.

어쨌든,이 문제를 해결 한 쉬운 방법은 배치시에이 지역을 제공하는 것입니다 : 기본 hello 람다 기능은 AWS 람다 콘솔에 표시되지 않습니다

sls deploy --region eu-west-1 
+0

? serverless에서 어디에.yml 파일에 지역을 넣으셨습니까? 그것은 serverless.yml에있는 지역에서 나와 함께 작동합니다. – doorstuck

+0

@doorstuck : serverless 버전은 1.5.0입니다. serverless.yml의 region 필드의 주석 처리를 제거했습니다. '# 여기에서 기본값을 덮어 쓸 수 있습니다.' – Manube

+0

좋습니다. 공급자 섹션 바로 아래에 있는지 확인하십시오. 4 칸 들여 쓰기. 그렇다면 그것이 효과가있을 것이라 확신합니다. – doorstuck

관련 문제