可能是由于未正确设置请求标头或请求体引起的问题。可以使用以下示例代码解决此问题:
import json
import boto3
def lambda_handler(event, context):
# 解析传入的JSON数据
requestBody = json.loads(event['body'])
userId = requestBody['userId']
# 设置正确的请求标头
headers = {
"Content-Type": "application/json"
}
# 创建一个Lambda客户端
lambdaClient = boto3.client('lambda')
# 构造事件对象
# 因为AWS Lambda在从Curl中调用时缺少参数,所以需要在这里添加事件
event = {
"userId": userId
}
# 调用另一个Lambda函数
response = lambdaClient.invoke(
FunctionName='myFunction',
Payload=json.dumps(event),
InvocationType='Event',
LogType='None'
)
# 从响应中获取结果
result = response['Payload'].read()
# 返回响应
return {
'statusCode': 200,
'body': json.dumps({'result': result})
}
在这个例子中,我们首先解析传入的JSON数据并提取所需的参数。然后,我们设置正确的请求标头并创建一个Lambda客户端。由于AWS Lambda在从Curl中调用时缺少参数,因此我们需要在这里添加事件。最后,我们调用另一个Lambda函数,并从响应中获取结果。最后,我们返回包含结果的JSON对象。