我遵循本教程是为了使用 python 设置无服务器 AWS lambda。
我想使用无服务器 lambda 运行这个简单的 httprequest 函数(位于 httprequest.py 中):
import requests
def handler(event, context):
r = requests.get("https://news.ycombinator.com/news")
return {"content": r.text}
Run Code Online (Sandbox Code Playgroud)
以下是我的serveless.yaml:
service: serverlessProj
frameworkVersion: '2'
provider:
name: aws
runtime: python3.8
functions:
hello:
handler: hello.handler
httprequest:
handler: httprequest.handler
plugins:
- serverless-python-requirements
custom:
pythonRequirements:
dockerizePip: true
Run Code Online (Sandbox Code Playgroud)
现在,如您所见,自定义部分告诉 serverless-python-requirements 插件在 Docker 容器中编译 Python 包。它应该安装requirements.txt 中的插件。这是requirements.txt的内容:
requests
Run Code Online (Sandbox Code Playgroud)
运行时sls deploy,这是控制台输出:
Serverless: Generated requirements from /Users/user/Desktop/ShoeSwiper/Serverless/requirements.txt in /Users/user/Desktop/ShoeSwiper/Serverless/.serverless/requirements.txt...
Serverless: Installing requirements from /Users/user/Library/Caches/serverless-python-requirements/007/requirements.txt ...
Serverless: Docker Image: lambci/lambda:build-python3.8
Serverless: …Run Code Online (Sandbox Code Playgroud)