问题标签 [datastore-admin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
887 浏览

java - AppEngine 数据存储区管理员:无法备份到云存储区

我正在尝试通过 Datastore Admin 将我的 Java 应用程序中的一些实体备份到 cloudstore 并遇到一些问题。

我启用了 Datastore Admin 并将我的应用程序的 google 服务帐户 ID (my_app_id@appspot.gserviceaccount.com) 作为开发人员添加到云存储桶“团队”中,如此所述(5.e)。

我在存储桶“团队”(应用引擎仪表板的屏幕截图)上将邀请视为“待处理”,但我不知道如何接受邀请,或者这是否是自动的,我只需要等待。

当我尝试备份到我的 cloudstore 存储桶 [ gs/my_bucket/my_folder] 时,我得到了Bucket "my_bucket" is not accessible(如果我尝试随机存储桶名称,我会得到同样的错误)。

我正在使用同一个帐户(所有内容的所有者)来执行上述所有操作。

任何帮助表示赞赏!

编辑

我正在通过Google Cloud Console创建项目,这导致(显然是一个错误)我的项目被创建为一个应用程序引擎应用程序,所以每当我从 Google API 控制台单击“团队”时,我都会被重定向到 AppEngine仪表板权限选项卡。

如果我从 Google API 控制台创建项目,那么一切正常,我可以添加权限而无需重定向到 AppEngine 仪表板。

0 投票
1 回答
150 浏览

google-app-engine - 由于应用程序被别名隐藏,Google App Engine Datastore Admin 已停用

最近,我使用迁移工具将我的应用程序迁移到了 High-Replication 数据存储。

  • Datastore Admin 页面现在无法正确显示:

    错误:服务器错误

    服务器遇到错误,无法完成您的请求。如果问题仍然存在,请报告您的问题并提及此错误消息和导致它的查询。

当我在旧应用程序(我从中迁移的应用程序)中访问 Datastore Admin 时,我收到以下通知:

  • 此应用程序被别名隐藏。应用程序 lrweb2012 有一个别名,该别名导致它接收通常指向此的所有流量。除非您正在查找历史数据,否则您可能希望查看该应用程序。
  • 数据存储区管理员已禁用。由于 lrweb2012 有一个隐藏此应用程序的别名,因此无法使用 Datastore Admin 工具。

任何有经验的人都可以建议发生了什么,以及我该如何解决这个问题?

干杯,

0 投票
1 回答
1036 浏览

google-app-engine - 已删除的实体使用数据存储区管理员不断返回

我正在尝试将数据存储从一个应用程序复制到另一个应用程序(实时到开发服务器)。我首先需要删除开发服务器上的所有实体(我正在使用的实际开发应用程序,不要与本地开发服务器混淆)。我在数据存储管理控制台中执行此操作,但是在该过程完成后,我仍然拥有_GAE_MR_MapreduceState_GAE_MR_ShardState实体。据我了解,这些在删除过程中应该是临时的。除此之外,偶尔当我访问数据存储管理控制台时(大约一半时间),我还会看到一些已删除的实体也再次出现。我又删除了几次。

我在数据存储查看器中看不到它们,但我不知道是否总是如此。我还没有看到他们再次出现在这个视图中。在数据存储查看器中,只有 、 和 类型_AE_Backup_Information的实体。我在这个视图中看不到和实体。_AE_Backup_Information_Kind_Files_AE_Backup_Information_Kind_Type_Info_AE_DatastoreAdmin_Operation_GAE_MR_MapreduceState_GAE_MR_ShardState

更新:我刚刚能够在数据存储查看器中捕获我已删除的实体之一。尽管这里只有一种已删除的实体类型和一种可见的实体(在我看到 3 或 4 种实体类型和数千个实体之前)。在我在数据存储查看器中捕捉到它之后,我立即前往数据存储管理控制台,发现这里可以看到相同的实体类型,尽管在这种情况下有两个。这次我也没有在数据存储区管理员中找到and _GAE_MR_MapreduceStatenor _GAE_MR_ShardState,_AE_Backup_Information_AE_Backup_Information_Kind_Files实体。结束更新_AE_Backup_Information_Kind_Type_Info_AE_DatastoreAdmin_Operation

我没有尝试在数据存储管理控制台中删除_GAE_MR_MapreduceState_GAE_MR_ShardState实体。这似乎有点不安全,因为这些实体是在删除操作期间创建的,我不知道它会做什么。我会尝试在 datstore 查看器中删除它们,但它们没有出现在那里。

我删除的实体出现在数据存储管理控制台中的那些时间_AE_Backup_Information_AE_Backup_Information_Kind_Files以及_AE_Backup_Information_Kind_Type_Info实体_AE_DatastoreAdmin_Operation也在那里可见。所以这也很奇怪。

任务队列中没有任务,也没有作业正在运行。

这是某种同步问题吗?缓存没有在某处更新吗?有什么方法可以重置一些东西来清除这些实体吗?

更新 2:我尝试刷新 Memcache,但这并没有什么不同。实体继续显示在数据存储管理控制台中,几乎 100% 的时间。我没有看到任何已删除的实体出现在数据存储查看器中,但是因为我删除了我之前发现的那个。

更新 3:我只是尝试在另一个应用程序中执行相同类型的数据存储删除操作,结果我得到了相同的损坏。我首先创建了一个备份,然后选择并删除了所有实体,这两项操作都是从数据存储管理控制台进行的。

删除操作作业已完成。它们显示在已完成的操作下。任务队列中不再有作业。但是所有实体在数据存储管理控制台中再次可见!我删除了 10 种实体类型,大多数有几十个实体,一个有几千个。在数据存储管理控制台中,每一种实体类型都会以相同数量的实体再次列出。

在数据存储查看器中,仍然保留了两种实体类型,与删除操作之前相比,实体数量更少(但仍然很重要)。删除前从 6,855 中的 2,172 之一。另一个从 44 中删除 17。

我再次刷新了 Memcache。它没有任何区别。

我看到数据存储管理员是实验性的,但我不希望它通过执行简单的删除操作来完全破坏我的数据存储,之后无法重置数据存储。我现在有两个应用程序,它们都启用了计费功能,但都需要花费我的客户资金,但它们无法使用,因为它们的数据存储已损坏。我在这里有什么选择?我可以从 Google 的某个人那里得到回复吗?这是Google App Engine 支持的推荐论坛。

0 投票
1 回答
643 浏览

google-app-engine - GAE 数据存储管理副本在 MapReduce 模型到 JSON 的转换上失败

根据此文档,我正在尝试使用数据存储管理控制台将我的应用的数据存储复制到另一个应用。由于我的应用程序使用 Java 运行时,因此我按照说明安装了数据存储区管理 Python 示例。我将应用程序设置为将其他应用程序服务器的 ID 列入白名单并按照说明安装它。几个月前,我使用同样的方法复制数据存储区,虽然过程并不完全顺利,但最终还是成功了。

数据存储管理复制操作创建的任务未完成。默认队列中有 9 个任务(我尝试复制的每个实体类型一个)。任务的方法/URL 是POST /_ah/mapreduce/kickoffjob_callback. 他们不断尝试重试他们的操作,但不断失败。任务的标题分别类似于:

任务之前的运行结果如下:

在目标应用程序下,我得到的任何传入复制操作的唯一指示是日志:

所以这些请求至少会导致一个应用程序实例被启动,但除此之外,什么都没有发生,源应用程序只是得到 500 个服务器错误。

我已经尝试在源数据存储和目标数据存储上启用和禁用写入。我已经双重、三重和四重检查了正确的应用程序 ID 是否已在 Python 数据存储管理示例中注册,并将代码上传到两个应用程序服务器,即使它仅在目标服务器上是必需的(它们每个都将对方的 ID 列入白名单)。我尝试过使用 HTTPS 和 HTTP URL。

ah-builtin-python-bundle-dot-mysourceappid.appspot.com/_ah/mapreduce/status 没有提供任何相关信息,除了任何任务没有任何进展或活动。如果我尝试从这里中止工作,它们也无法中止。为了停止作业,我必须直接从队列中删除任务。然后,我必须手动清理留下的实体,包括 _AE_DatastoreAdmin_Operation 实体,这会导致数据存储管理员仍将复制作业显示为活动状态,并且还留下一堆 _GAE_MR_MapreduceControl、_GAE_MR_MapreduceState 和 _GAE_MR_ShardState 实体。

出了什么问题?我不敢相信没有更多相关的日志数据或有关流程失败的信息。

更新: 我昨晚一定很累,没想到查看源应用程序 ah-builtin-python-bundle 实例版本下的日志,因为这是数据存储管理操作发生的地方。这是我到达那里的日志输出:

看起来复制任务在尝试将 MapReduce 数据模型转换为 JSON 时崩溃,因为输入阅读器不是DatastoreKeyInputReader. 这一定是版本 1.8.0 或自 1.7.5 以来的另一个版本中引入的错误,这是我上次运行数据存储复制操作时的当前 SDK 版本。

0 投票
1 回答
38 浏览

google-app-engine - GAE 数据存储管理页面为空白

我在 GAE 中有一个应用程序,因为左侧的 DataStore Admin 链接给了我一个空白页。我注意到这是一个错误,因为最近在检查另一个应用程序的 DataStore Admin 链接时,它正确显示了一个网页。

预期:在应用程序设置中启用数据存储管理链接后,数据存储管理页面实际上可以工作。我试图联系谷歌,但他们要求我成为白银帐户——这显然是一个错误。如果需要,我可以上传视频。

0 投票
0 回答
116 浏览

google-app-engine - Google App Engine - 数据存储区管理员不工作

我只是想在以下位置访问 myapp 的数据存储区管理员:https ://appengine.google.com/datastore/admin?&app_id=s~placingliterature&version_id=jan2015.383591079272347357

但是当我去那里时,屏幕的主要部分是空白的,尽管所有的菜单都还在。

我正在为此使用帐户的所有者。

此外,这不适用于我办公室的多人计算机,而不仅仅是我的。

它在某一时刻确实有效,但现在无效。

有什么建议么?有没有人见过这个

0 投票
1 回答
483 浏览

google-app-engine - App Engine Datastore:我可以从完整备份中恢复特定命名空间的实体吗?

我使用 Google Cloud Datastore Admin 创建了所有命名空间的所有实体的备份。

我想问我是否可以只在命名空间上恢复实体。

示例:我有 3 个命名空间

  • 命名空间_1
  • 命名空间_2
  • 命名空间_3

所有命名空间都包含相同的实体类型,比如说 MyEntityKind

我只想从我的完整备份中恢复 Namespace_3.MyEntityKind

我怎样才能做到这一点?在 Datastore Admin 中,我在进行恢复时只能选择种类而不是命名空间。

谢谢

0 投票
1 回答
50 浏览

google-app-engine - AppEngine 数据存储备份 mapreduce 失败

我已经设置了一个 cron 来备份一种类型,即使用 backup.create 从数据存储中只有一个实体。然而,备份因事务冲突错误而停止。这些错误是什么意思?我注意到这些错误发生在我们数据存储中非常旧的记录中。是否可以使用 backup.create 脚本指定时间范围?如果是这样,应该如何指定时间范围。谢谢

0 投票
2 回答
124 浏览

java - 在哪里可以找到 Datastore Admin v1 API 的 Protobuf 定义?

我正在尝试使用最近宣布为 GA 的 Datastore Admin API v1,我想知道在哪里可以找到相关 API 的 protobuf?

我在googleapis存储库中找到了一些 protobuf,但只有已弃用的 Datastore Admin API v1beta1 的 protobuf。

此外,我想问是否有人知道为什么 Admin API 原型没有在 Maven Central 中发布?

一般的 Datastore API 原型.

0 投票
1 回答
511 浏览

google-app-engine - App Engine:如何在本地导入 Datastore

因此,Cloud Datastore Admin 工具已被弃用,取而代之的是Managed Export Import Service。我的远程数据存储区中有 5 gigs 的数据,我希望能够在本地将其导入以进行开发,并以相对较快的方式进行初始开发设置过程。

我已使用托管导出/导入服务运行备份并将其下载到本地,但我无法成功导入数据。我已经尝试了我能找到的一切。我很想了解将此数据导入本地运行的新 Cloud Datastore Emulator 的最佳方式。我很惊讶这方面的文档如此糟糕。

我目前正在使用remote_api连接到远程数据,这对某些事情很好,但对其他事情却不可能。这还使用了大量其他远程功能,例如远程任务队列,我绝对不想要这些功能,因为我希望我的本地任务队列在测试时运行。

我也成功地使用了旧的 appcfg.py 方法,但是对于新开发人员来说,启动开发环境的速度很慢而且效率低下。

appcfg.py download_data --application=s~app-name --url=http://app-name.appspot.com/_ah/remote_api/ --filename=backup.csv

有什么建议么?