所以我有一個帶有以下代碼的 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 對其進行了測驗。因為條件回傳True,所以在這兩種情況下,輸出都是"foo"應有的。但是,如果testString突然更改為"goo",并且條件回傳,會發生什么情況False呢?我希望輸出保持以前的狀態(不更新),所以它仍然是"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
這可能是我第一次嘗試“創建”API tbh。我錯過了什么?
uj5u.com熱心網友回復:
我希望輸出 t 保持以前的狀態(不更新),所以它仍然是“foo”
你不能只用一個 lambda 函式來做到這一點。您必須將以前的輸出存盤在外部,例如在DynamoDB. 然后您的函式將始終能夠查找最后一個正確結果并回傳它而不是一些隨機錯誤訊息或不正確的答案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/477963.html
