Почему мой API Gateway WebSocket не отправляет ответы с настроенным доменным именем? - PullRequest
0 голосов
/ 19 апреля 2019

Я настроил WebSocket API с помощью API Gateway и пытаюсь получить настраиваемое доменное имя, настроенное для него. Это очень простой API, который отправляет сообщения между подключенными клиентами, который хранит идентификаторы соединений в DynamoDB. По сути, это похоже на пример, показанный здесь: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/

Все отлично работает при использовании сгенерированного AWS URL, т.е. wss: //.execute-api.us-west-2.amazonaws.com/. Однако, когда я следую этим инструкциям от AWS, чтобы настроить собственное региональное доменное имя, я могу подключиться, но не могу отправлять сообщения между клиентами.

Я проверил журналы Cloudwatch для своих функций Lambda и не вижу никаких ошибок и попытался запустить совершенно новую среду, используя мой шаблон CloudFormation, но безрезультатно.

Чтобы было очень ясно, следующая команда соединения правильно запускает мою функцию Lambda и подключает мой клиент с использованием сгенерированного AWS URL-адреса и моего собственного в Route 53.

wscat -c wss://<endpoint> <payload>

Следующая команда, которая отправляет сообщение подключенным клиентам, работает с использованием URL-адреса, сгенерированного AWS, но НЕ моей.

{ "message": "sendMessage", "toId": "193818", "data", "a random msg" }
...