我已经在Windows下安装了Google Cloud SDK,并且正在Powershell中运行命令(以管理员身份运行)。
我已运行以下命令以确保所有Google Cloud SDK组件均已更新:
gcloud component update
然后我设置数据存储模拟器主机域和一个项目ID,如下所示:
set DATASTORE_EMULATOR_HOST=localhost:8081
set DATASTORE_PROJECT_ID=project-id
然后使用以下命令运行Google Cloud Datastore Mode Emulator:
gcloud beta emulators datastore start
这是为了创建文件local_db.bin
,该文件提供对数据的本地访问。当我运行命令时,在终端(Powershell,以管理员身份运行)中收到一条消息,提示将在以下位置创建文件:
C:\ Users \ myUserName \ AppData \ Roaming \ gcloud \ emulators \ datastore \ WEB-INF \ appengine-generated \ local_db.bin
未创建文件,并且没有有用的错误信息。我已完成以下操作:
gcloud auth list
检查了gcloud SDK可用的凭据帐户列表gcloud auth login 'accountName'
并使用Google登录名登录如何获取有关错误原因的其他信息?我还能尝试什么?
答案 0 :(得分:2)
创建local_db.bin
不会失败。它仅表示数据库为空。如果在服务器运行时打开浏览器并导航到http://localhost:8081,则可以验证一切正常。您应该收到一条ok
消息作为响应。
如Running the Datastore mode Emulator > Emulator data directories文档的部分所述,“ 要清除local_db.bin文件的内容,请停止模拟器并手动删除该文件。”。这意味着您将通过这种方式清除数据库的所有内容。
我已经尝试过文档,实际上乞求时缺少文件local_db.bin
。但是,在数据库中添加了一些数据之后,就生成了文件。通过创建基于Google GitHub samples的Python应用程序,我设法做到了。
注意:我还建议您在自己的指定目录(而不是默认目录)中启动模拟器,以确保拥有该目录的所有权限。例如为此,请按照以下步骤操作:
Datastore_Emulator
的目录$ gcloud beta emulators datastore start --data-dir=C:\Users\[USERNAME]\Desktop\Datastore_Emulator\
C:\Users\[USERNAME]\Desktop\Datastore_Emulator\WEB-INF\appengine-generated\
local_db.bin
文件。更新
您参考的文档是Windows
下的命令,用于命令提示符。 &&
不支持在Power Shell中链接命令,但是您需要使用;
。有关更多信息,请参阅此Stackoverflow answer。
此外,Power Shell不支持命令gcloud beta emulators datastore env-init > set_vars.cmd && set_vars.cmd
,因为在运行该命令时,生成的set_vars.cmd
文件可能会遇到问题。将来建议使用命令提示符来执行Google文档中提到的命令。