Шлюз API не вызывает конечную точку чаши - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь открыть очень простую конечную точку с помощью Chalice и развернуть ее на AWS Lambda (правда, не используя Chalice CLI). Затем я создаю соответствующую лямбда-функцию aws, заархивировав код и загрузив его. Затем я вручную создаю шлюз api и указываю его на Lambda, как бы я ни старался, я не могу заставить Lambda API вызываться.

Python code

from chalice import Chalice, Response, BadRequestError, ChaliceViewError, NotFoundError
app = Chalice(app_name='test-app')
@app.route('/test', methods=['GET'])
def hello_world():
    return {
        "hello world"
    }

Маршрут шлюза API

enter image description here

Вывод

url: https://lw751abcd.execute-api.us-east-1.amazonaws.com/test
{"Code":"InternalServerError","Message":"Unknown request."}

Что мне здесь не хватает?

ОБНОВЛЕНИЕ

обновил мой код до приведенного ниже, но все еще не работает.

@app.route('/test/{proxy+}', methods=['GET'])
def hello_world():
    return {
    "isBase64Encoded": true,
    "statusCode": 200,
    "headers": { "status": "200"},
    "multiValueHeaders": { },
    "body": {
        "hello world"
    }
}

1 Ответ

0 голосов
/ 28 мая 2020

Проблема заключалась в том, что при создании шлюза api я выбирал HTTP вместо REST в качестве типа. С типом API REST все работало, как ожидалось, и мне не приходилось беспокоиться о теле запроса и ответа.

...