【问题标题】:Importing Datastore entities into Eclipse emulator将 Datastore 实体导入 Eclipse 模拟器
【发布时间】:2020-04-16 10:15:55
【问题描述】:

我正在尝试在本地运行 Google App Engine Java 应用程序。 我已经安装了 Cloud Tools for Eclipse 并配置了我的项目,项目启动正常。

我还看到了数据存储区管理员。

但是,我看不到如何将 Datastore 实体导入 Eclipse 中的 Datastore Admin。我尝试按照与将实体导入本地模拟器相同的说明进行操作,但是导入没有发生。

我可以使用 gcloud 运行模拟器并在那里导入数据,但是我在 Eclipse 中运行的应用程序似乎不适用于该模拟器。

那么两个问题:

  1. 我能否将 Eclipse 配置为使用 gcloud Datastore 模拟器而不是单独运行一个?

  2. 我可以将 Datastore 实体导入 Eclipse 运行模拟器吗?

【问题讨论】:

    标签: java eclipse google-app-engine google-cloud-datastore google-cloud-tools


    【解决方案1】:
    1. Cloud Tools for Eclipse 不包括显式的独立模拟器。要使用 Datastore Emulator,请参阅following section of the documentaiton 了解如何运行它,参考this section 了解如何导出和导入模拟器数据。请注意,您基本上只需要使用 curl 或类似命令发送 HTTP 请求(更具体地说,在导入实体的情况下为 POST 请求)。

    2. 要与本地服务器中的 Datastore 实例(导入实体、导出实体等)进行交互,您可以使用 Cloud Client Libraries for Java 或第三方库(如 Objectify)。 按照文档的this 部分配置 Eclipse 以在本地服务器中使用云客户端库。以及如何使用它的示例here 关注this部分文档,以便在本地运行应用程序时配置Objectify,以及有关如何加载、保存和删除数据的所有相关示例here

    【讨论】:

    • 所以基本上我的两个问题的答案都没有。您的建议是我使用 Google Cloud 项目中的 Google Cloud Datastore。这根本不是很有效。
    • solution 建议切换 the bundled datastore emulator 并使用基于 gcloud 的模拟器和第三方库 (Objectify) 进行实体操作。
    • 在我的应用程序中,我们不使用 Objectity,我们直接使用 Datastore API。所以这行不通。
    • 注意here,所有需要的是使用支持DATASTORE_EMULATOR_HOST environment variable 的库,Java Client Library 就是这种情况。如果设置了 env 变量,那么您的应用程序将寻找模拟器,而不是 GCP 上托管的 Datastore 实例。
    • 所以我尝试了这个并且不起作用。我不确定它是使用模拟器还是在 eclipse 中运行的本地数据存储模拟器。我如何验证这一点?我在我的 POM 中使用 com.google.appengineappengine-api-1.0-sdk1.9.74。我是否需要专门使用数据存储客户端才能正常工作?
    猜你喜欢
    • 2020-04-12
    • 2019-01-13
    • 2018-08-15
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多