2016-05-24 3 views
2

Ich schreibe Dateien in Google App Engine verwaltet vm (flexible Umgebung). Ich habe den Code in die Cloud implementiert. Der Code öffnete die Datei und schrieb sie ohne Showfehler wie Erlaubnisfehler. Mein anderer Code, der versucht, die Datei zu öffnen, schlug jedoch mit "Keine solche Datei oder Verzeichnis" fehl.So schreiben Sie in lokale Dateien auf Google App Engine verwaltete VM

Ich habe das Verzeichnis Speicherort gedruckt, so dass ich SSH-Befehl verwendet, kann auch nicht finden Sie die Datei in verwalteten VM. Und ich kann keine Dokumentation über das Schreiben von Dateien in den lokalen Speicher der verwalteten VM finden.

Also, wie man es in Managed Vm schreibt? Was ist der Standardspeicherort? Warum kann ich die Datei nicht finden?

+0

Kann die Datei in einer anderen Instanz geschrieben werden, die inzwischen zerstört wurde? Als erstes würde ich in '/ tmp' schreiben, das normalerweise für alle Benutzer schreibbar ist. – konqi

+0

Ich habe es versucht, kann die Datei dort auch nicht finden. Es ist in der Docker Container – Weiming

Antwort

1

Der Grund dafür, dass Sie die Datei in der VM nicht finden können, liegt daran, dass auf der VM ein Docker-Container ausgeführt wird und sich Ihre App tatsächlich in diesem Container befindet. Wenn Sie wirklich wollen, könnten Sie docker exec -it <container-name> -- /bin/bash innerhalb des Containers stöbern und dann sollten Sie Ihre Datei sehen (verwenden Sie docker ps, um die Container-ID zu finden).

Auf App Engine flexible (neuer Name für verwaltete VMs) könnte Ihr Code über viele Container skaliert werden, so dass es keine Versprechungen gibt, dass auf eine Datei, auf die Sie schreiben, später zugegriffen werden kann. Sie können mit dem Schreiben einiger/tmp-Dateien umgehen, aber nicht viel mehr. Sie werden viel besser Daten in etwas wie Cloud Datastore, Cloud SQL, Memcache oder Cloud Storage schreiben.

+0

Danke für die Antwort. Haben Sie eine Möglichkeit, die Cloudstorage-Bibliothek anstelle der gcloud-Speicherbibliothek zu verwenden, um eine Datei in Cloud Storage in Managed VM zu schreiben? – Weiming

+0

Auf welche Cloudstorage-Bibliothek beziehen Sie sich? –

+0

Dieser "Git-Klon https: // github.com/GoogleCloudPlatform/appengine-gcs-client.git". Es gibt Tutorials zur Verwendung von 'from gcloud import storage' in verwalteten vm, aber nicht in dieser lib. – Weiming

Verwandte Themen