AWS Lambda 函数在调用外部 API 时出现问题 - 没有名为"请求"的模块



我需要调用外部API并将输出作为JSON打印。我使用AWS Lambda函数在无服务器环境中执行此代码样例。下面是代码及其返回错误

错误消息errorMessage": "无法导入模块'lambda_function':没有名为'requests'的模块"errorType"Runtime.ImportModuleError"requestId"399 d0ea2 - 6713 - 4714 - 90 - ee - 1 - b8e9924af13","stackTrace" []

代码示例

import json
import boto3
import requests
from botocore.vendored import requests

BASE_URL = 'https://fakestoreapi.com'
query_params = {
    "limit": 1
}
response = requests.get(f"{BASE_URL}/products", params=query_params)
print(response.json())

一些帖子建议使用Python 3.7。我用的是3.9。这个"请求"模块在Python 3.9中不可用吗?如何在Python 3.9中使用它?一些帖子建议"pip3 install -t python requests"。我在AWS内部使用Lambda函数。如果需要,如何执行此命令?

您可以在https://aws.amazon.com/blogs/compute/upcoming-changes-to-the-python-sdk-in-aws-lambda/上查看几个选项。

使用Lambda层这将是你最好的选择。

最新更新