Есть ли способ вернуть aws лямбда-функцию 404 - PullRequest
0 голосов
/ 04 августа 2020

У меня есть лямбда-функция, которая ищет в словаре, если существует конкретный идентификатор. Если это так, возвращает его с кодом 200 в APIGATEAWAY, но если идентификатор не найден, я хочу, чтобы она вернулась к коду API 404. Это означает, что HTTPStatus будет 404 .. Есть ли способ сделать это? Прямо сейчас это то, что я пробовал:

def GET(event):
    tab = table.scan()['Items']
    if event.get("wmId") != None:
        try:
            id= [item for item in tab if item["id"]  == event["id"]]
            return id[0]
    except Exception as e:
            raise e

1 Ответ

1 голос
/ 04 августа 2020

Вы можете либо переключиться на использование интеграции прокси-сервера Lambda, и в этом случае вы должны вернуть dict, который включает код состояния, либо вам нужно будет вернуть строку ошибки и сопоставить ее с соответствующим ответом в интеграции API-шлюза и ответы метода. См. https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html

...