【发布时间】:2019-09-06 04:37:29
【问题描述】:
我创建了三个 lambda 函数 1).postData 2).like 3).comment。我正在使用调用 lambda 函数来组合三个输出。找到以下代码供您参考。
lambdas = boto3.client("lambda")
def lambda_handler(event, context):
print("Received event: " + json.dumps(event, indent=1))
response1 = lambdas.invoke(FunctionName="postdata",
InvocationType="RequestResponse", Payload=json.dumps(event,
default=json_util.default));
response2 = lambdas.invoke(FunctionName="like",
InvocationType="RequestResponse", Payload=json.dumps(event,
default=json_util.default));
response3 = lambdas.invoke(FunctionName="comment",
InvocationType="RequestResponse", Payload=json.dumps(event,
default=json_util.default));
result1 = json.loads(response1.get('Payload').read())
result2 = json.loads(response2.get('Payload').read())
result3 = json.loads(response3.get('Payload').read())
return result1+result2+result3
在这里,我将三个 lambda 函数放在一个数组中。在三个 lambda 函数中,我们有一个唯一的 id,但有三个不同的文件名。如下所示
[
{
"_id": {
"$oid": "5d6fbc4256cfe9fcfd8c4136"
},
"location": null,
"media_type": "jpg",
},
{
"_id": {
"$oid": "5d5dd01d93ab7d1ed7e2ff31"
},
"location": null,
"media_type": "jpg",
},
{
"from": {
"$oid": "5d5dcccf9cf5ce000183d15e"
},
"to": {
"$oid": "5d5dd01d93ab7d1ed7e2ff31"
},
"interaction_type": "feelings",
},
{
"from": {
"$oid": "5d5dcccf9cf5ce000183d15e"
},
"to": {
"$oid": "5d6fbc4256cfe9fcfd8c4136"
},
"interaction_type": "feelings",
},
{
"from": {
"$oid": "5d5dcccf9cf5ce000183d15e"
},
"to": {
"$oid": "5d5dd01d93ab7d1ed7e2ff31"
},
"interaction_data": "nice car.....",
},
{
"from": {
"$oid": "5d5dcccf9cf5ce000183d15e"
},
"to": {
"$oid": "5d5dd01d93ab7d1ed7e2ff31"
},
"interaction_data": "awesome car.....",
},
{
"from": {
"$oid": "5d5dcccf9cf5ce000183d15e"
},
"to": {
"$oid": "5d6fbc4256cfe9fcfd8c4136"
},
"interaction_data": "Hello world....",
}
]
我已经用粗大括号 getpost 划分了输出,例如评论输出。 我关心的是 getpost -“_id”,比如 - “to”,comment - “to” 字段值是唯一的。基于这个唯一值,我可以对输出进行分组吗?意味着我需要 _id 来提交相同的值,这些值将显示在一个数组中。有可能吗?
提前致谢。
【问题讨论】:
标签: python aws-lambda