可能是因为AWS Lambda函数缺少特定的Python包或模块。可以在AWS Lambda函数包含Python包的根目录中添加"requirements.txt"文件,并在其中列出所需的Python包及其版本号。AWS Lambda会在创建函数代码包时自动安装这些包。下面是一个示例代码:
import json
import requests
def lambda_handler(event, context):
url = 'https://jsonplaceholder.typicode.com/posts'
headers = {'Content-Type': 'application/json'}
payload = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post(url, headers=headers, data=json.dumps(payload))
if response.status_code == 201:
return {'statusCode': 200, 'body': 'Success'}
else:
return {'statusCode': response.status_code, 'body': 'Failed'}
在这个示例中,使用了requests和json两个Python包。如果这些包没有被包括在AWS Lambda函数中,在执行时就会出现"Error in sending Python API request from AWS Lambda python function"这个错误。因此,在上传代码包之前,要确保这些Python包被正确地列在requirements.txt文件中。