【问题标题】:Connect to local App Engine Datastore with Apache Beam使用 Apache Beam 连接到本地 App Engine 数据存储区
【发布时间】:2018-06-01 13:09:29
【问题描述】:

我是 Google App Engine 的新手,我对与本地数据存储连接相关的答案有点困惑。

我的最终目标是将数据从 Google Datastore 流式传输到 Big Query Dataset,类似于 https://blog.papercut.com/google-cloud-dataflow-data-migration/。我在本地有这个 DataStore 的副本,可以在我运行本地 App Engine 时访问,也就是说,当我使用 $[GOOGLE_SDK_PATH]/dev_appserver.py --datastore_path=./datastore 时,我可以通过管理控制台访问它。

我想知道是否可以使用 App Engine 实例之外的服务连接到此数据存储区,使用 python google-cloud-datastore 甚至 Apache Beam ReadFromDatastore method。如果不是,我应该将Datastore Emulator 与 App Engine Datastore 生成的文件一起使用吗?

如果有人对如何进行有任何想法,我将非常感激知道如何去做。

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore


    【解决方案1】:

    如果可能的话,它必须通过 Datastore Emulator,它还能够为 App Engine 以外的应用程序提供服务。但这最终取决于您打算使用的库的实现 - 底层访问方法是否能够理解指向正在运行的数据存储模拟器的 DATASTORE_EMULATOR_HOST 环境变量并使用它而不是真正的数据存储。我想你只需要试一试。

    但请注意,数据存储模拟器使用的本地存储目录内部格式可能与开发服务器使用的不同,因此请在尝试使用之前备份您的 .datastore 目录,以防万一。来自Local data format conversion

    目前,本地 Datastore 模拟器将数据存储在 sqlite3 中,而 Cloud Datastore Emulator 将数据存储为 Java 对象。

    当使用旧的 sqlite3 数据启动 dev_appserver 时,数据将 转换为 Java 对象。原始数据备份与 文件名 {original-data-filename}.sqlitestub.

    【讨论】:

      猜你喜欢
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多