2016-05-24 4 views
2

私はGoogle App Engineの管理対象VM(フレキシブル環境)にファイルを書きます。コードをクラウドにデプロイしました。コードはファイルを開いて、許可エラーのような表示エラーなしにファイルを書き出しました。しかし、ファイルを開こうとしている別のコードが「No such file or directory」で失敗しました。Googleアプリケーションエンジンで管理されているVMのローカルファイルに書き込む方法

私は場所のディレクトリを印刷しているので、私はsshコマンドを使用し、管理対象VM内のファイルを見つけることができません。また、管理対象VMのローカルストレージにファイルを書き込むことに関するドキュメントは見つかりません。

どのように管理対象VMに書き込むのですか?デフォルトの保存場所は何ですか?なぜファイルが見つからないのですか?

+0

ファイルが破棄された別のインスタンスで書き込まれましたか?私は通常、すべてのユーザに書き込み可能な '/ tmp'に書き込みます。 – konqi

+0

私は試しましたが、そこにもファイルを見つけることができません。それはドッカーのコンテナにあります – Weiming

答えて

1

VM内のファイルが見つからないのは、VMがDockerコンテナを実行していて、アプリケーションが実際にそのコンテナ内にあるからです。本当にしたい場合は、docker exec -it <container-name> -- /bin/bashでコンテナの内部を突き刺すことができます。その後、ファイルが表示されます(docker psを使用してコンテナIDを検索してください)。

App Engineの柔軟性(管理対象VMの新しい名前)では、コードを多くのコンテナにスケーリングすることができるため、後でアクセスできるようにすることはできません。いくつかの/ tmpファイルへの書き込みを扱うことができますが、あまり多くはありません。クラウドデータストア、クラウドSQL、Memcache、クラウドストレージなどにデータを書き込む方がずっと優れています。

+0

返事ありがとうございます。管理対象VMのCloud Storageにファイルを書き込むためにgcloudストレージライブラリの代わりにcloudstorageライブラリを使用する方法がありますか? – Weiming

+0

どのクラウドストレージライブラリを参照していますか? –

+0

これは 'git clone https:// github.com/GoogleCloudPlatform/appengine-gcs-client.git'です。管理対象VMでは 'from gcloud import storage'を使用する方法についてのチュートリアルがありますが、libではありません。 – Weiming

関連する問題