Développer une application distribuée combinant AppEngine et GCE peut s'avérer difficile lorsqu'il s'agit d'accéder à des données partagées. Cette question explore comment établir une connexion entre un binaire Go autonome exécuté sur GCE et la banque de données intégrée dans le serveur devapp d'AppEngine.
Actuellement, la connexion à la banque de données intégrée d'AppEngine à l'aide de l'API Google Cloud Datastore (bibliothèque client) n'est pas réalisable dans l’environnement de développement. Cela est dû aux différences architecturales sous-jacentes entre le serveur de développement Java utilisé par l'outil Google Cloud Datastore (gcd.sh) et le serveur de développement Python utilisé pour le développement Go.
Bien que les appels HTTP directs constituent une alternative, ils présentent leur propre série de défis. Le serveur de développement ne prend actuellement pas en charge l'API JSON utilisée par la bibliothèque client Go.
Solution de contournement :
Comme suggéré par proppy, l'utilisation de l'API HTTP Cloud Datastore Protobuf est une solution de contournement viable. Cela implique de compiler la définition Protobuf en code Go et d'envoyer des requêtes HTTP POST directement au point de terminaison de la banque de données. Bien que cette méthode nécessite la création manuelle de requêtes, elle fournit une connexion directe à l'API Cloud Datastore, ce qui peut offrir une plus grande stabilité par rapport à la bibliothèque cliente. Notez que le partage de données entre l'application et le Cloud Datastore en développement n'est pas possible avec cette approche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!