[Lambda]로컬 os.environ의 변수를 사용할 수 있도록 serverless.yml 설정
2020. 2. 10. 15:52ㆍ프로그래밍/프로그래밍 이것저것
Problem
direnv를 사용할 때 .envrc 파일에 환경변수를 추가하면
로컬에서는 os.environ이 출력되고 파이썬 파일에서도 os.environ.get으로 변수를 사용할 수 있지만,
람다로 배포(sls deploy) 해서 사용해야 할 때는 os.environ를 프린트 해봐도 변수가 추가되어 있지 않고,
그래서 당연히 os.environ.get으로 변수값을 사용하지 못한다.
Solution
serverless.yml
environment:
NS_HOSTNAME: ${env:NS_HOSTNAME}
NS_KEYNAME: ${env:NS_KEYNAME}
NS_CPCODE: ${env:NS_CPCODE}
NS_KEY: ${env:NS_KEY}
다음과 같이 serverless.yml 파일에 environment를 설정하면, 람다 배포 후 람다의 os.environ에 변수가 추가된 것을 볼 수 있다.
file.py
NS_HOSTNAME = os.environ.get('NS_HOSTNAME', None)
NS_KEYNAME = os.environ.get('NS_KEYNAME', None)
NS_CPCODE = os.environ.get('NS_CPCODE', None)
NS_KEY = os.environ.get('NS_KEY', None)
설정한 값은 이렇게 쓰면 된다.
'프로그래밍 > 프로그래밍 이것저것' 카테고리의 다른 글
협정 세계시 UTC, 그리니치 평균시 GMT (0) | 2020.02.19 |
---|---|
[Visualstudio] 마크다운 -> PPT 변환 툴 'Marp for VS Code' (0) | 2020.02.14 |
파이썬 direnv .envrc 이용해서 설정값 관리하는법os.environ.get('KEY', None) (0) | 2020.02.10 |
유용한 VS Code 에디터 확장 프로그램 (0) | 2020.01.23 |
개발 공부 링크 모음 (0) | 2020.01.02 |