如何使用 Lambda 赋予 HTTP API 或 REST API 不更新的能力?
How to give HTTP API or REST API with Lambda, the ability to not update?
所以我有一个带有以下代码的 Lambda 函数,它由 API(AWS API 网关)触发。
import json
def lambda_handler(event, context):
testString = "foo"
if "f" in testString:
return {
"statusCode": 200,
"body": json.dumps(testString)
}
我用 HTTP API 和 REST API 测试了它。因为条件 returns True
,在这两种情况下输出都是 "foo"
,因为它应该是。但是如果testString
突然变成"goo"
,条件returnsFalse
会怎样呢?我希望输出保持原样(不更新),所以它保持 "foo"
。但是当这种情况发生时,HTTP API 输出 null
,REST API 输出 {"message": "Internal server error"}
.
也许我只需要找出下面代码中缺失的部分:
import json
def lambda_handler(event, context):
testString = "goo"
if "f" in testString:
return {
"statusCode": 200,
"body": json.dumps(testString)
}
else:
#missing piece: make output not change
这可能是第一次,我已经尝试“创建”APIs tbh。我错过了什么?
I would like the output t remain as it previously was (not update), so it remains "foo"
仅使用 lambda 函数无法做到这一点。您必须在外部存储您之前的输出,例如在DynamoDB
。然后你的函数将始终能够查找最后的正确结果,return 它而不是一些随机错误消息或不正确的答案。
所以我有一个带有以下代码的 Lambda 函数,它由 API(AWS API 网关)触发。
import json
def lambda_handler(event, context):
testString = "foo"
if "f" in testString:
return {
"statusCode": 200,
"body": json.dumps(testString)
}
我用 HTTP API 和 REST API 测试了它。因为条件 returns True
,在这两种情况下输出都是 "foo"
,因为它应该是。但是如果testString
突然变成"goo"
,条件returnsFalse
会怎样呢?我希望输出保持原样(不更新),所以它保持 "foo"
。但是当这种情况发生时,HTTP API 输出 null
,REST API 输出 {"message": "Internal server error"}
.
也许我只需要找出下面代码中缺失的部分:
import json
def lambda_handler(event, context):
testString = "goo"
if "f" in testString:
return {
"statusCode": 200,
"body": json.dumps(testString)
}
else:
#missing piece: make output not change
这可能是第一次,我已经尝试“创建”APIs tbh。我错过了什么?
I would like the output t remain as it previously was (not update), so it remains "foo"
仅使用 lambda 函数无法做到这一点。您必须在外部存储您之前的输出,例如在DynamoDB
。然后你的函数将始终能够查找最后的正确结果,return 它而不是一些随机错误消息或不正确的答案。