Я пытаюсь развернуть функцию AWS Lambda без сервера на gitlab. Поскольку мне нужны некоторые внешние и локальные модули, я использую плагин serverless-python-requirements
. Мой gitlab-ci.yml похож на это
image: nikolaik/python-nodejs:python3.7-nodejs11
cache:
paths:
- node_modules/
stages:
- deploy
before_script:
- npm config set prefix /usr/local
- npm install -g serverless
- npm install
deploy:
stage: deploy
script:
- serverless deploy --stage dev --verbose
мой serverless.yml
:
service: my-function
plugins:
- serverless-python-requirements
package:
exclude:
- ./node_modules/**
- node_modules/**
- .gitignore
- .gitlab-ci.yml
- package-lock.json
- package.json
custom:
pythonRequirements:
dockerizePip: false
provider:
name: aws
runtime: python3.7
stage: dev
region: us-east-1
functions:
hello:
handler: handler.handle
events:
- http:
path: hello
method: post
и мой простой handler.py
def hello(event, context):
return {"statusCode": 200}
Теперь, когда явыполнить функцию, я получаю эту ошибку:
Runtime.ImportModuleError: Unable to import module 'handler': attempted relative import with no known parent package
Это похоже на шаблон по умолчанию, но я не могу его запустить