Ich entwickle eine API in Golang direkt auf der "flexiblen App Engine-Umgebung" (früher bekannt als "Managed VMs ").Google App Engine-Importproblem (Golang) in "Flexible App Engine-Umgebung" (ehemals "Managed VMs")
Bisher habe ich in meiner .go Dateien diese Art von Import wurde mit:
import (
"appengine"
"appengine/datastore"
...)
Vor kurzem habe ich beschlossen, Google Cloud Storage zu verwenden, um Bilder zu speichern. Es erfordert den Import von "cloud.google.com/go/storage". Mein Problem ist, dass ich die App nicht mit diesem Import (nicht gefunden) oder einer anderen Kurzversion ("go/storage"), wie ich sie für den appengine Import verwende, bereitstellen kann.
Nach viel Forschung, fand ich dies: https://github.com/golang/appengine#user-content-3-update-code-using-deprecated-removed-or-modified-apis
Es gibt an, wie eine Anwendung mit kurzen Importe zu migrieren (veraltet, wie bei mir) auf volle Importe (mit Repository explizit wie „google.golang.org/appengine“)
Ich folgte der Prozedur und verwendete das Skript, das sie zur Verfügung stellen, um meinen Code (aefix) zu aktualisieren. Sie sagen auch, diese Linie zu meiner app.yaml Datei hinzufügen:
vm : true
Wenn ich das tue, habe ich diese Fehlermeldung ‚gcloud App deploy‘ ausgeführt wird:
ERROR: (gcloud.app.deploy) Your application does not satisfy all of the requirements for a runtime of type [go]. Please correct the errors and try again.
Wenn ich dies nicht tun, keiner meiner Importe arbeiten und ich bekomme die folgende Fehlermeldung:
can't find import: "google.golang.org/appengine/datastore"
Hier meine app.yaml Datei:
runtime: go
api_version: go2
#vm : true
handlers:
- url: /.*
script: _go_app
Natürlich sind alle Importe auf dem Server unter $ GOPATH/src/so fehlen sie nicht wirklich, schlechter referenziert, denke ich.
Ich bin auf dieses Problem seit mehreren Tagen fest, jede Hilfe jeder Art wäre willkommen!
Danke