Я пытаюсь настроить WebSocket API на API Gateway .Я следую базовому учебнику, и у меня все готово -> Маршруты для $connect
, $disconnect
, "test"
, $default
.Я могу подключиться к API, сохранить идентификатор соединения в Redis и получить его при доступе с тестового маршрута.
Проблема заключается в том, что я пытаюсь отправить обратно сообщение от моей лямбды (единственная лямбда, обрабатывающая всемаршруты).Я использую следующий код
const apigwManagementApi = new AWS.ApiGatewayManagementApi({
apiVersion: '2018-11-29',
endpoint: `https://${event.requestContext.domainName}/${event.requestContext.stage}`
});
Затем я звоню
await apigwManagementApi.postToConnection({
ConnectionId: connectionId,
Data: `Echo: ${data}`
}).promise()
Это вызывается только на "тестовом" маршруте.
Все это каксогласно их руководству.Я должен был добавить patch
, чтобы иметь возможность заставить postConnection
работать, опять же, согласно их руководству.Проблема заключается в том, что при вызове вышеуказанного метода я получаю сообщение Internal Server Error
от шлюза API, и через 3 секунды происходит лямбда-тайм-аут.
Об этом методе очень мало информации.Я не уверен, что является причиной внутренней ошибки сервера.Я проверил конечную точку и идентификатор соединения, оба верны.Что я делаю неправильно?Есть предложения?