Die Entwicklung einer verteilten Anwendung, die AppEngine und GCE kombiniert, kann eine Herausforderung darstellen, wenn es um den Zugriff auf gemeinsam genutzte Daten geht. In dieser Frage wird untersucht, wie eine Verbindung zwischen einer eigenständigen Go-Binärdatei, die auf GCE ausgeführt wird, und dem eingebetteten Datenspeicher im Devappserver von AppEngine hergestellt wird.
Derzeit ist eine Verbindung zum eingebetteten AppEngine-Datenspeicher über die Google Cloud Datastore API (Clientbibliothek) nicht möglich in der Entwicklungsumgebung machbar. Dies ist auf grundlegende Architekturunterschiede zwischen dem Java-Entwicklungsserver, der vom Google Cloud Datastore-Tool (gcd.sh) verwendet wird, und dem Python-Entwicklungsserver, der für die Go-Entwicklung verwendet wird, zurückzuführen.
Während direkte HTTP-Aufrufe eine Alternative darstellen, sind sie vorhanden ihre eigenen Herausforderungen. Der Entwicklungsserver unterstützt derzeit nicht die von der Go-Clientbibliothek verwendete JSON-API.
Problemumgehung:
Wie von Proppy vorgeschlagen, ist die Verwendung der Cloud Datastore Protobuf HTTP-API eine praktikable Lösung. Dazu gehört das Kompilieren der Protobuf-Definition in Go-Code und das Senden von POST-HTTP-Anfragen direkt an den Datenspeicher-Endpunkt. Während diese Methode die manuelle Erstellung von Anforderungen erfordert, stellt sie eine direkte Verbindung zur Cloud Datastore API bereit, die im Vergleich zur Clientbibliothek möglicherweise eine höhere Stabilität bietet. Beachten Sie, dass der Datenaustausch zwischen der Anwendung und dem in der Entwicklung befindlichen Cloud-Datenspeicher mit diesem Ansatz nicht möglich ist.
Das obige ist der detaillierte Inhalt vonWie greife ich in der Entwicklung von einer eigenständigen Go-Binärdatei auf den AppEngine-Datenspeicher zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!