Heim  >  Artikel  >  Backend-Entwicklung  >  Hier sind einige Titeloptionen, die sich auf das „Frage“-Format konzentrieren und das Kernproblem ansprechen: **Direkt und prägnant:** * **Kann ich von einer GCE-Instanz in l aus eine Verbindung zum AppEngine Datastore herstellen?

Hier sind einige Titeloptionen, die sich auf das „Frage“-Format konzentrieren und das Kernproblem ansprechen: **Direkt und prägnant:** * **Kann ich von einer GCE-Instanz in l aus eine Verbindung zum AppEngine Datastore herstellen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 18:44:10432Durchsuche

Here are a few title options, focusing on the

Herstellen einer Verbindung mit AppEngine Datastore in der Entwicklung über die Cloud Datastore API

Einführung

Diese Frage untersucht die Machbarkeit der Verbindung zum AppEngine-Datenspeicher von einer GCE-Instanz mithilfe der Cloud Datastore-API in einer lokalen Entwicklungsumgebung. Das folgende Setup wird bereitgestellt:

  • Ein laufender Go-Devappserver mit eingebettetem Datenspeicher
  • Eine eigenständige Go-Binärdatei zum Durchführen von Datenspeicherabfragen
  • Google-api-go-client/ datastore/v1beta2 für API-basierten Datenspeicherzugriff

Aktuelle Einschränkungen

Leider ist dies in der Entwicklungsumgebung derzeit aus zwei Gründen nicht möglich:

  1. Verschiedene Entwicklungsserver:
    Das Google Cloud Datastore-Tool (gcd.sh) verwendet einen Java-Entwicklungsserver, während AppEngine einen Python-Entwicklungsserver mit einem anderen zugrunde liegenden Speichermechanismus verwendet.
  2. Probleme mit der Go-Client-Bibliothek:
    Die aktuelle Go-Client-Bibliothek für Cloud Datastore weist Stabilitätsprobleme auf und der Entwicklungsserver unterstützt die von der Bibliothek verwendete JSON-API nicht.

Problemumgehungen

Verwenden Sie die Protokollversion der Cloud Datastore API (empfohlen)

Anstatt sich auf die Go-Clientbibliothek zu verlassen, Sie können die Protokollversion der API verwenden, indem Sie dem Vorschlag von Proppy folgen:

  • Kompilieren Sie die Protobuf-Definition mit dem Go-Protobuf-Compiler-Plugin in Go-Code.
  • Senden Sie POST-HTTP-Anfragen an /datastore /{version}/datasets/{datasetId}/{method} mit dem entsprechenden Anfragetext.

Diese Problemumgehung ermöglicht Ihnen die Verwendung der Cloud Datastore Protobuf HTTP API, die stabiler als der Go-Client ist Bibliothek. Es kann auch das Testen mit dem gcd.sh-Tool auf dem Entwicklungsserver ermöglichen, obwohl Sie die HTTP-Anfragen selbst erstellen müssen. Beachten Sie, dass dieser Ansatz keinen Datenspeicher-Datenaustausch zwischen Ihrer Anwendung und dem Cloud-Datenspeicher in der Entwicklung zulässt.

Erstellen Sie direkte HTTP-Anfragen

Wenn sich die API-Bibliothek als solche erweist Wenn dies mit der Entwicklung nicht kompatibel ist, können Sie erwägen, direkte HTTP-Aufrufe an den Datenspeicher abzusetzen. Dieser Ansatz erfordert eine manuelle Bearbeitung der Anforderungskonstruktion und des JSON-Parsings, kann jedoch eine praktikable Option sein, wenn andere Methoden nicht realisierbar sind.

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die sich auf das „Frage“-Format konzentrieren und das Kernproblem ansprechen: **Direkt und prägnant:** * **Kann ich von einer GCE-Instanz in l aus eine Verbindung zum AppEngine Datastore herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn