我想每小时向外部API(https://example.com/api/jobs/test)发送一个帖子请求。
我使用的Lambda函数如下:
Handler: index.lambda_handler
python: 3.6
index.py
import requests
def lambda_handler(event, context):
url="https://example.com/api/jobs/test"
response = requests.post(url)
print(response.text) #TEXT/HTML
print(response.status_code, response.reason) #HTTP
测试事件:
{
"url": "https://example.com/api/jobs/test"
}
错误:
START RequestId: 370eecb5-bfda-11e7-a2ed-373c1a03c17d Version: $LATEST
Unable to import module 'index': No module named 'requests'
END RequestId: 370eecb5-bfda-11e7-a2ed-373c1a03c17d
REPORT RequestId: 370eecb5-bfda-11e7-a2ed-373c1a03c17d Duration: 0.65 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 21 MB
任何帮助都将不胜感激。
答案 0 :(得分:6)
您需要将requests
模块安装到项目目录并创建lambda部署包。有关详细信息,请参阅this链接。
简而言之,您需要在开发系统(PC或Mac)上创建index.py文件,安装Python&点到那个系统;他们按照文档中的步骤操作。要创建lambda,请选择“上传zip”选项,而不是“编辑内联”一个
答案 1 :(得分:2)
您可能可以利用requests
库中的boto
模块,而不必安装或打包功能。
考虑此导入:
import botocore.vendored.requests as requests