1.创建一个文件夹
mkdir requests_layer
cd requests_layer
2. 创建 Lambda Layer 所需的目录结构
将 pythonX.Y 替换为你的 Lambda 函数将使用的 Python 版本 例如,对于 Python 3.11
mkdir -p python/lib/python3.11/site-packages
3. 使用 pip 将 requests 库安装到指定目录
注意: -t 参数指定了安装目标目录
pip install requests -t ./python/lib/python3.11/site-packages/
打包 Layer
将文件夹压缩成.zip文件
# 在requests_layer 目录下
zip -r requests_layer.zip python
效果是这样的
接下来是aws页面的操作
创建layer 这里你还只能与之前选定的python同一个版本 不然调用不到 当然 你可以在之前的包里多弄几个版本 这样这里就可以选多个版本了(我懒得验证 ORZ)
创建一个lambda
创建lambda后,进入到lambda页面,往下拉 添加layer
运行以下代码到lambda中
import json
import requests # 现在可以直接导入
def lambda_handler(event, context):
try:
response = requests.get('https://httpbin.org/get')
response.raise_for_status() # 检查请求是否成功
data = response.json()
print("这就是一个测试 ", data)
return {
'statusCode': 200,
'body': json.dumps(data)
}
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
return {
'statusCode': 500,
'body': json.dumps({'error': str(e)})
}
更新一下lambda的代码
测试一下(点一下就好,不用写测试用例)
看日志
没毛病 现在弄完了 可以用了