This post is also available in: English-US (英語)
Cloud EndpointsをGoogle Computer Engineで試そうとして、公式のクイックスタートを進めている際に出くわしたエラーで、メモ代わりに書き留めています。
クイックスタート中にある、ローカルにあるサンプルAPIのファイルをCompute Engineのインスタンスにコピーするという、以下の部分です。
gcloud compute copy-files * [INSTANCE-NAME]:~/ #=> pscp: remote filespec ~/: not a directory
ローカルの環境がWindowsの場合に起こるっぽいエラーで、普通に考えれば当然でLINUXでは「~/」はホームディレクトリを指しますが、Windowsでは「~/」ではホームディレクトリに移動できないです。
Windowsは 「C:\Users\ユーザ名(WikipediaによるとWindows Vista以降は)」 がホームディレクトリ的な概念となってるそうです。
なので、Google Computer Engineにファイルをコピーするには以下のようにすることで可能です。
(コマンドプロンプトでカレントディレクトリ移動して、そのディレクトリ内のファイルをComputer Engineにコピーしてます)
cd C:\Users\ユーザ名\python-docs-samples\endpoints\getting-started gcloud compute copy-files * sample-instance:
もしくは別の方法として「C:\Users\ユーザ名」を「\Users\ユーザ名」と置き換えて、以下のようなコマンドで対応しても上手く行くと思います。
gcloud compute copy-files * sample-instance:"\Users\ユーザ名\python-docs-samples\endpoints\getting-started"