AWS Newbie在这里
我必须通过gitlab CI作为lambda托管我的python脚本,并通过AWS上的cloudwatch触发它。
我正在关注以下教程:
从第一个教程中,我仅获取.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连接时,每1分钟触发一次lambda时,我在日志中收到以下错误:
我也有一个requirements.txt
文件
numpy==1.18.2
有人可以帮我这个忙,并向我解释我在做的错误以及如何纠正该错误吗?
编辑1
我已经serverless.yml
按照makozaki的说明编辑了该文件,现在当我将其推送到存储库中时,CI文件失败,出现以下错误:
原因之一可能是您在中使用了docker image。gitlab-ci.yml
文件。但是,您想使用某些模块部署python lambda。尝试使用同时具有配置python和节点的映像,如该映像:
nikolaik/python-nodejs
或者,如果您需要某些特定版本,则也可以执行以下操作:
nikolaik/python-nodejs:python3.7-nodejs13
出现错误后,我尝试将其复制到我的帐户中。因此,现在我在serverless.yml以及.gitlab-ci.yml文件中进行了一些更改。
这是测试结果:此处为Null,因为函数未返回任何值,但它打印了数组。
希望这些更改之后,您将能够使它正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句