Maison  >  Article  >  développement back-end  >  Connectez-vous à Google Cloud Datastore à l'aide de dev_appserver.py et google.golang.org/

Connectez-vous à Google Cloud Datastore à l'aide de dev_appserver.py et google.golang.org/

PHPz
PHPzavant
2024-02-10 11:00:111149parcourir

使用 dev_appserver.py 和 google.golang.org/ 连接到 Google Cloud Datastore

l'éditeur php Strawberry vous expliquera comment utiliser dev_appserver.py et google.golang.org/ pour vous connecter à Google Cloud Datastore. dev_appserver.py est un serveur de développement capable de simuler l'environnement Google App Engine, tandis que google.golang.org/ est une bibliothèque de codes officielle du langage Go. En utilisant les deux ensemble, vous pouvez facilement vous connecter à Google Cloud Datastore et lire et écrire des données. Dans cet article, nous expliquerons en détail les étapes spécifiques pour vous aider à démarrer rapidement et à vous connecter avec succès à Google Cloud Datastore.

Contenu de la question

Tout comme le titre l'indique. Nous avons une ancienne API AppEngine Go 1.11 qui nécessite dev_appserver.py 才能运行。简而言之,我希望 appengine.Main()appengine.NewContext(r) 允许我的应用程序使用我的 project-id 指向我的云数据存储,而不是本地模拟器的存储。我设置了 GOOGLE_APPLICATION_CREDENTIALS sans effet.

De cette façon, je peux exécuter le serveur localement tout en accédant à la base de données cloud partagée.

J'utilise google.golang.org/[email protected]dev_appserver.py --enable_console --port=8081 --support_datastore_emulator=true --go_debugging=true app.yaml

Est-ce possible ? Ou suis-je bloqué sur l'émulateur local lorsque j'utilise l'ancienne bibliothèque Go ?

Solution

Passer des commentaires aux réponses

  1. Découvrez Go 1.11 remote_api https://www.php.cn/link/2d680487650d66445b50d3d759eccad4

  2. La logique pour l'utiliser est similaire à -

    Si vous travaillez dans un environnement local, utilisez remote_api 否则坚持默认行为(即由于 remote_api, sinon respectez le comportement par défaut (c'est-à-dire que puisque

    n'est pas activé, il utilisera le simulateur dans l'environnement local ou directement en production en utilisant les données de production)

    Pour plus de simplicité, vous pouvez essayer d'utiliser le même nom de variable, c'est-à-dire

    if this is local environment
     ctx, err := remote_api.NewRemoteContext(host, hc)
    else
     ctx := appengine.NewContext(r)

    Vous utilisez ensuite "ctx" dans le reste de vos requêtes/appels au datastore

    Remarque :

    Je ne suis pas familier avec "go", alors considérez ce qui précède comme un pseudocode plutôt que comme du code fonctionnel
  3. --support_datastore_emulator=trueVous pouvez également envisager d'exécuter les modifications ci-dessus sans le

    drapeau
🎜

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer