Maison  >  Article  >  développement back-end  >  Voici quelques options de titre, axées sur le format de la « question » et abordant le problème principal : **Direct et concis :** * **Puis-je me connecter à AppEngine Datastore à partir d'une instance GCE dans l

Voici quelques options de titre, axées sur le format de la « question » et abordant le problème principal : **Direct et concis :** * **Puis-je me connecter à AppEngine Datastore à partir d'une instance GCE dans l

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 18:44:10432parcourir

Here are a few title options, focusing on the

Connexion à AppEngine Datastore en développement via l'API Cloud Datastore

Introduction

Cette question explore la faisabilité de se connecter à la banque de données AppEngine à partir d'une instance GCE à l'aide de l'API Cloud Datastore dans un environnement de développement local. La configuration suivante est fournie :

  • Un devappserver Go en cours d'exécution avec une banque de données intégrée
  • Un binaire Go autonome pour effectuer des requêtes de banque de données
  • Google-api-go-client/ datastore/v1beta2 pour l'accès à la banque de données basé sur l'API

Limites actuelles

Malheureusement, cela n'est actuellement pas possible dans l'environnement de développement pour deux raisons :

  1. Différents serveurs de développement :
    L'outil Google Cloud Datastore (gcd.sh) utilise un serveur de développement Java, tandis qu'AppEngine utilise un serveur de développement Python avec un mécanisme de stockage sous-jacent différent.
  2. Problèmes de bibliothèque client Go :
    La bibliothèque client Go actuelle pour Cloud Datastore souffre de problèmes de stabilité et le serveur de développement ne prend pas en charge l'API JSON utilisée par la bibliothèque.

Solutions de contournement

Utiliser la version de protocole de l'API Cloud Datastore (recommandé)

Au lieu de s'appuyer sur la bibliothèque client Go, vous pouvez utiliser la version protocolaire de l'API en suivant la suggestion de proppy :

  • Compilez la définition de protobuf en code Go à l'aide du plugin du compilateur Go protobuf.
  • Envoyez des requêtes HTTP POST à ​​/datastore /{version}/datasets/{datasetId}/{method} avec le corps de requête approprié.

Cette solution de contournement vous permet d'utiliser l'API HTTP Cloud Datastore Protobuf, qui est plus stable que le client Go. bibliothèque. Il peut également permettre de tester avec l'outil gcd.sh sur le serveur de développement, même si vous devrez créer vous-même les requêtes HTTP. Notez que cette approche ne permet pas le partage de données de banque de données entre votre application et le Cloud Datastore en développement.

Créez des requêtes HTTP directes

Si la bibliothèque d'API s'avère être incompatible avec le développement, vous pouvez envisager d'émettre des appels HTTP directs vers la banque de données. Cette approche nécessite une gestion manuelle de la construction des requêtes et de l'analyse JSON, mais elle peut être une option viable si d'autres méthodes ne sont pas réalisables.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn