AWSのWebSocketのサンプルがうまく動かない点の修正

仕事でAWS+WebSocketを使うことになりそうだったので予習していたが、AWSのサンプルがそもそもちゃんと動かなかった。

https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:729047367331:applications~simple-websockets-chat-app

何故かメッセージ送信しても{"message": "Forbidden", ...}で返ってくるため途方に暮れていたが、よく確認するとGitHubのほうのIssuesに全く同じ内容のIssueがあった。

github.com

masterブランチは修正されているがAWSのほうからデプロイするとその修正が反映されていないらしい。
恐らくリポジトリをローカルにダウンロードしてデプロイしなおせばちゃんと動くのだろうが、面倒だったので直接修正した。
コメントにある通りsendMessageのLambdaのRuntimeをNode.js 10に変更し、コード内のrequire('aws-sdk/clients/apigatewaymanagementapi');コメントアウトするとちゃんとメッセージ送信できるようになった。