※個人的なメモです。知ってる人はどんどん先へ進んでください。
MQTTを使用して、Lambdaからブラウザを更新する方法〜aws-iot-device-sdk(aws-iot-sdk-browser-bundle.js)を使用する場合〜 の例を自分でも試してみようと思って手元の環境を準備していたら、 https://github.com/aws/aws-iot-device-sdk-js の browserize の段で bash 登場…。あかん、私はまだ Windows 使いなのだ。
仕方ないと、久しぶりに EC2 と VSCode をつないで remote-ssh で作業しようかと思い立って(どうせ bundle 作るだけなんだからシンプルに ssh すりゃいいのに、わざわざ苦労を買い込む質)、EC2 立てて ssh key の設定して VSCode から接続!…あれ、つながらない。
[16:25:47.592] Log Level: 2
[16:25:47.599] remote-ssh@0.51.0
[16:25:47.599] win32 x64
[16:25:47.601] SSH Resolver called for "ssh-remote+dev", attempt 1
[16:25:47.601] SSH Resolver called for host: dev
[16:25:47.601] Setting up SSH remote "dev"
[16:25:47.624] Using commit id "17299e413d5590b14ab0340ea477cdd86ff13daf" and quality "stable" for server
[16:25:47.626] Install and start server if needed
[16:25:49.135] getPlatformForHost was canceled
[16:25:49.136] Resolver error: Connecting was canceled
[16:25:49.145] ------
解決策をあちこち探してなかなか見つからず、諦めかけてた頃にようやく、 同じエラーに遭遇している人 を発見。コメントに「設定を追加すればいい」とあるのでやってみたら、確かにつながった。
settings.json に次のような記述を追加する。
"remote.SSH.remotePlatform": {
"$remote_server_name": "linux"
}
$remote_server_name
には接続先のホスト名を、値には接続先のプラットフォームの種別 ( linux
, macOS
, windows
のいずれか) を指定するということらしい。以前こんな設定あったかな?
画面からだとこんな感じになる。
このエラーメッセージだけで原因がわかった人はエラいなと思う。
(追記) これをやるきっかけになった AWS IoT Device SDK、もう v2 が出てる じゃん