python – 无法在AWS Lambda上使用Requests-Module
作者:互联网
我需要在python脚本中进行休息调用,每天运行一次.
我无法使用AWS Lambdas将“requests”包打包到我的python-package中.我收到错误:“无法导入模块’lambda_function’:没有名为lambda_function的模块”
我把它分解为hello_world预定义脚本.我可以把它打包成拉链并上传.一切正常.一旦我将“导入请求”放入文件中,我就会收到此错误.
这是我已经做过的事情:
> zip和项目文件夹(包括子文件夹)的权限设置为`chmod 777`.所以权限应该不是问题.
>脚本本身位于根文件夹中.当您打开zip文件时,您可以直接看到它.
>我使用`sudo pip install requests -t PATH_TO_ROOT_FOLDER’将请求包安装到项目的根文件夹中
一切的命名如下:
> zip-file:lambda_function.zip
> py-file:lambda_function.py
>处理程序方法:lambda_handler(事件,上下文)
>“webconfig:lambda_function.lambda_handler”中的handler-definition
我想在最后运行的文件如下所示:
import requests
import json
def lambda_handler(event, context):
url = 'xxx.elasticbeanstalk.com/users/login'
headers = {"content-type": "application/json", "Authorization": "Basic Zxxxxxxxxx3NjxxZxxxxzcw==" }
response = requests.put(url, headers=headers, verify=False)
return 'hello lambda_handler'
我很高兴能得到任何帮助.我已经在这个问题上使用了多个小时.
解决方法:
要使用请求模块,您只需从botocore.vendored导入请求即可.例如:
from botocore.vendored import requests
def lambda_handler(event, context):
response = requests.get("https://example.com/")
print response.json()
您可以看到this gist以了解可以直接在AWS lambda中导入的更多模块
标签:python,python-2-7,amazon-web-services,aws-lambda 来源: https://codeday.me/bug/20191004/1851514.html