現象
AWSのAPI GatewayでWebSocket APIをデプロイしようとすると次のようなエラーに見舞われ、デプロイが失敗した。
原因
エラー文を訳すと
「$disconnectキーで指定されるルートのターゲットが定義されていません」
となる。
$disconnectというルートで何を呼び出すのかが指定されていないので、APIを用意しようがありませんよ、という意味のようだ。
私の場合、$disconnectルートの設定を “Lambda” にしているにも関わらず、どのLambda関数を実行するのかを指定していないことが原因だった。
対処法
ルートの設定画面から$disconnectを選択し、「統合リクエスト」をクリック。
続いて、次のようにきちんとどのLambda関数を実行するのかを指定してあげるとAPIが上手くデプロイできるようになった。