AWS Lambda函数可以使用AWS SDK来获取并行函数的结果。以下是一个示例代码,展示了如何使用AWS SDK中的boto3库来获取并行函数的结果:
import boto3
def lambda_handler(event, context):
# 创建AWS SDK的Lambda客户端
client = boto3.client('lambda')
# 定义要调用的并行函数的名称和输入数据
functions = [
{
'name': 'function1',
'input': {
'key1': 'value1'
}
},
{
'name': 'function2',
'input': {
'key2': 'value2'
}
},
{
'name': 'function3',
'input': {
'key3': 'value3'
}
}
]
# 用于存储每个并行函数的结果
results = []
# 调用每个并行函数,并存储结果
for function in functions:
response = client.invoke(
FunctionName=function['name'],
Payload=json.dumps(function['input'])
)
result = json.loads(response['Payload'].read().decode())
results.append(result)
# 处理并行函数的结果
for result in results:
# 在这里处理每个并行函数的结果
print(result)
# 返回结果给Lambda调用者
return {
'statusCode': 200,
'body': 'Parallel functions executed successfully.'
}
在上面的示例代码中,我们首先创建了一个AWS SDK的Lambda客户端。然后,我们定义了要调用的并行函数的名称和输入数据,并将它们存储在一个列表中。接下来,我们使用boto3库的invoke方法来调用每个并行函数,并将结果存储在results列表中。最后,我们可以在处理results列表中的结果时执行任何逻辑。最后,我们将结果返回给Lambda调用者。
请注意,上述代码是一个简化的示例,仅用于演示如何获取并行函数的结果。实际使用中,您可能需要处理更复杂的逻辑和错误处理。