在AWS Lambda中,函数执行完成后默认不会返回查询结果。如果需要返回查询结果,可以使用回调函数或者使用异步方式来获取结果。
下面是使用回调函数的示例代码:
import json
import boto3
def lambda_handler(event, context):
# 获取查询结果
result = query_database()
# 调用回调函数返回查询结果
return {
'statusCode': 200,
'body': json.dumps(result)
}
在上面的示例中,query_database()
是一个自定义的函数,用于执行数据库查询操作。查询结果被存储在 result
变量中。然后,通过返回一个包含查询结果的 JSON 响应体,将查询结果返回给调用方。
如果你的查询操作比较耗时,可以考虑使用异步方式来获取查询结果。在异步模式下,你可以将查询结果发送到消息队列或者存储到数据库中,然后使用其他方式获取结果。
以下是使用异步方式的示例代码:
import json
import boto3
def lambda_handler(event, context):
# 异步执行查询操作
async_operation_id = execute_query_async()
# 返回异步操作的 ID 给调用方
return {
'statusCode': 200,
'body': json.dumps({'async_operation_id': async_operation_id})
}
在上面的示例中,execute_query_async()
函数是一个自定义的函数,用于执行异步查询操作。它返回一个异步操作的 ID。然后,在响应体中,将异步操作的 ID 返回给调用方。调用方可以使用这个 ID 来获取查询结果。
请根据你的具体需求选择适合的解决方法。