Cam*_*pey 5 java google-app-engine google-cloud-datastore google-cloud-platform datastore-mode-emulator
我们正在使用 App Engine、数据存储区和 Java,并且一直在尝试将生产 Google 数据存储区复制到本地副本,但没有成功。
(我正在使用的完整迁移脚本在单独的Github 问题中有详细说明)
我们使用以下内容来导出
gcloud datastore export --namespaces="(default)" gs://$GOOGLE_CLOUD_BUCKET
Run Code Online (Sandbox Code Playgroud)
然后导入看起来像这样的
'http://' + $LOCAL_DATASTORE_HOSTNAME + ':' + $LOCAL_DATASTORE_PORT + '/v1/projects/' + $PROJECT_ID + ':import'
Run Code Online (Sandbox Code Playgroud)
运行脚本会创建一个“local_db.bin”,它看起来是正确的,但是当我们将其复制到所需位置并运行它时,我们遇到了以下错误。
com.google.appengine.api.datastore.dev.LocalDatastoreService init 信息:已初始化本地数据存储区:类型:高复制存储:\WEB-INF\appengine- generated\local_db.bin com.google.appengine.api.datastore.dev。 LocalDatastoreService 加载信息:无法从后备存储加载 \WEB-INF\appengine- generated\local_db.bin java.lang.ClassNotFoundException:java.net 上的 com.google.cloud.datastore.emulator.impl.LocalDatastoreFileStub$FileProfile。 URLClassLoader.findClass(URLClassLoader.java:382) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424)
如果我们保存一条新记录,它会清除 local_db.bin 并创建一个新记录。
有人知道这个问题可能出现在流程的哪个位置吗?
我遵循了 @Chris Halcrow 在他的回答中描述的确切过程,重新导入数据。数据现在已成功直接导入到 App Engine 应该看到的 local_db.bin 中,但我仍然看到该错误。
我们怀疑可能存在权限问题。我们尝试更改 AppEngine 运行所在帐户的一些 IAM 权限。具体来说,我们尝试将项目编辑器 IAM 角色添加到我们用于 的帐户gcloud login
,如激活 App Engine 的 DataStore 权限中所述。
我们还查看了以下内容,其中详细介绍了我们使用 GitHub 问题中详细介绍的导出/导入 Powershell 脚本时所需的权限。
https://cloud.google.com/datastore/docs/export-import-entities#permissions
我们认为我们当前的角色应该允许所描述的所需权限。
不要复制 local_db.bin 文件,因为这可能会导致不正确的内存引用/指针。请按照以下步骤操作:
C:\my_app_engine_app\target\my-app-name-1.0-SNAPSHOT\WEB-INF\appengine-generated\local_db.bin
)appengine-generated
删除文件夹内容cd
到包含您的 AppEngine 应用程序的目录data-dir
指定您在步骤 3 中确定的目录)- gcloud beta emulators datastore start
--data-dir=C:\my_app_engine_app\target\my-app-name-1.0-SNAPSHOT\
(请参阅https://cloud.google.com/datastore/docs/tools/datastore-emulator#starting_the_emulator)$LOCAL_DATASTORE_PORT
C:\my_app_engine_app\target\my-app-name-1.0-SNAPSHOT\WEB-INF\appengine-generated\local_db.bin
- 您应该看到它已经膨胀,表明它现在包含您的数据。 归档时间: |
|
查看次数: |
715 次 |
最近记录: |