【发布时间】:2020-07-08 04:21:25
【问题描述】:
这里是 AWS 新手
我必须通过 gitlab CI 将我的 python 脚本作为 lambda 托管,并通过 AWS 上的 cloudwatch 触发它。
我正在学习以下教程:
- https://docs.gitlab.com/ee/user/project/clusters/serverless/aws.html
- https://serverless.com/blog/serverless-python-packaging/
从第一个教程开始,我只使用 .gitlab-ci.yml 文件并将其添加到第二个教程中显示的教程中(但我选择 3.7 作为运行时,而不是 python 3.6)
我有以下serverless.yml 文件
service: numpy-test
provider:
name: aws
runtime: python3.7
functions:
numpy:
handler: handler.main
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: non-linux
package:
exclude:
- venv/**
以及以下.gitlab-ci.yml 文件:
image: node:latest
stages:
- deploy
production:
stage: deploy
before_script:
- npm config set prefix /usr/local
- npm install -g serverless
- npm install --save serverless-python-requirements
script:
- serverless deploy
environment: production
当我推送.gitlab-ci.yml 文件时,它运行时没有任何错误。
我可以看到在我的 AWS lambda 中创建的 lambda 函数。当我将此 lambda 与 Cloudwatch 连接以使 lambda 每 1 分钟触发一次时,我在日志中收到以下错误:
我还有一个requirements.txt 文件,它有
numpy==1.18.2
有人可以帮我解决这个问题并解释我正在做的错误以及如何纠正它吗?
编辑 1
我编辑了 makozaki 指出的 serverless.yml 文件,现在当我将它推送到 repo 时,CI 文件失败并出现以下错误:
【问题讨论】:
标签: python amazon-web-services gitlab serverless-framework serverless