繁体   English   中英

appengine 使用数据存储设置本地主机以进行测试

[英]appengine set up local host with datastore for testing

我试图遵循关于如何使用数据库设置本地开发的 googles 文档( https://cloud.google.com/appengine/docs/standard/python/tools/using-local-server#Python_Using_the_Datastore )。 但是,我没有可以遵循的经验水平。 我什至不确定这是否是正确的指南。 该应用程序是一个使用 python 2.7 的 Django 项目。 要运行本地主机,我通常输入dev_appserver.py --host 127.0.0.1 .

我的问题是:

  1. 我如何在谷歌云上下载数据存储数据库。 我不想下载整个数据库,只需要足够的数据来填充本地主机,这样我就可以进行测试

  2. 下载数据库后,我需要做什么才能将其连接到本地主机? 我必须在某处更改参数吗?

  3. 我需要下载数据存储吗? 我可以在云上复制一份然后连接到那个数据存储吗?

  4. 当我运行 localhost 时,它不应该已经连接到数据存储吗? 由于该站点在云上运行时可以正常工作。 在哪里可以找到连接 URI?

谢谢您的帮助

开发服务器旨在模拟整个 App Engine 环境,如果您检查dev_appserver.py命令的输出,您将看到类似“ Starting Cloud Datastore emulator at: http://localhost:PORT 您的代码将自动与捆绑的 Datastore 交互,根据您编写的代码推送和检索数据。 您的数据将保存在本地存储中的文件中,并且除非被明确删除,否则将在开发服务器的不同运行中持续存在。

此选项不提供从现有 Cloud Datastore 实例导入数据的工具,但如果您的测试过程能够负担得起通过使用以编程方式执行的自定义创建的脚本来使用模拟数据填充本地数据库,则它是一个现成的解决方案。 如果您决定采用这种方法,只需编写数据创建脚本并在运行测试之前执行它。

现在,还有另一个选项可以使用 Cloud SDK 模拟本地数据存储区,该 Cloud SDK 为您提供了方便的功能。 您可以在运行数据存储模拟器文档页面下找到它的可用信息。 此模拟器支持导入从生产 Cloud Datastore 下载的实体以及将它们导出到文件中。

回到你的问题:

  1. 从下面的云实例为GCS桶中导出数据 ,然后从桶到您的文件系统下下载数据,最后将数据导入与显示的命令模拟器这里
  2. 要使用模拟器,您需要先在 Cloud Shell 中运行gcloud beta emulators datastore start ,然后在单独的选项卡中运行dev_appserver.py --support_datastore_emulator=true --datastore_emulator_port=8081 app.yaml
  3. 开发服务器使用上述两个模拟器之一,在这两种情况下,它都没有连接到您的 Cloud Datastore。 您可以使用数据库副本创建另一个用于开发目的的项目,并将应用程序部署在那里,这样您就根本不使用模拟器。
  4. 数据存储区的请求是通过端点https://datastore.googleapis.com/v1/projects/project-id发出的,尽管这与模拟器如何管理本地服务器中的连接无关。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM