728x90
반응형
node.js 의 serverless를 사용
init
$ sudo npm install -g serverless
create service
$ serverless create --template aws-python3 --name <service_name> --path <directory>
set yml serverless for lambda
# serverless.yml
service: service_name
provider:
name: aws
runtime: python3.6
region: us-east-1
timeout: 60
memorySize: 128
environment:
HOME: /var/task
functions:
app:
handler: handler.main
s3 trigger
events:
> - s3:
부터가 s3 trigger 설정이다
bucket/source/ 디렉토리에 파일이 생성되면 람다를 트리거한다
# serverless.yml
...
functions:
app:
handler: handler.main
events:
- s3:
bucket: bucket.name
event: s3:ObjectCreated:*
rules:
- prefix: source/
existing: true
tab(indent)는 꼭 지켜야한다, - s3:
하위는 탭2번이다
이미 존재하는 s3버킷이라면 마지막라인 existing: true
꼭 넣어야한다
iam - s3 접근권한
provider:
하위에 iamManagedPolicies
추가
# severless.yml
...
provider:
iamManagedPolicies:
- { "Fn::Join": [":", ["arn:aws:iam::aws:policy/AmazonS3FullAccess"]]}
...
requirement docker
serverless-python-requirements
python의 pip 라이브러리를 패키지로 람다에 넣는 대신 사용
$ npm init # 패키지에 대한 정보와 버전에 대한 정보가 있는 package.json 파일 생성
$ npm install --save serverless-python-requirements
# serverless.yml
...
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: true
dockerSsh: true
dockerFile: Dockerfile
...
deploy
serverless.yml directory에서
$ serverless deploy
$ sls deploy
728x90
728x90
BIG
'Programming > Python' 카테고리의 다른 글
파이썬 정규식(regular expression:regex) 사용 - 일부만 추출 (0) | 2020.06.15 |
---|---|
python code reformatter black + pycharm (0) | 2020.06.13 |
패키지, 모듈, import 에러 (0) | 2020.06.12 |
path - python, pathlib (0) | 2020.06.11 |
python virtualenv 가상환경 셋팅 (0) | 2020.06.05 |
댓글