代码之家  ›  专栏  ›  技术社区  ›  Daniel Lucraft

GCP数据存储仿真程序导入已中断引用

  •  0
  • Daniel Lucraft  · 技术社区  · 6 年前

    当尝试导入到数据存储模拟器时,所有数据都被正确导入,但是键引用不知怎么的是错误的。

    我要导入的过程是 here 遵循说明中的导出 here .

    我已经包含了一个来自数据存储查看器的情况截图,否则很难理解。

    似乎键引用(蓝色箭头)包含正确的类型和ID,因为数据存储查看器正在将它们拉出(橙色箭头)并且它们是正确的,但是它引用的实体有一个不同的主实体键(例如,虽然显然是不同实体的红色箭头),它们的格式略有不同(它们有一个共同的前缀和两个连字符)。

    似乎在模拟器和实时数据存储中,密钥编码是以一种微妙的不一致的方式完成的,但是我在任何地方都找不到关于这一点的任何文档。

    enter image description here

    0 回复  |  直到 6 年前
        1
  •  1
  •   Siva    6 年前

    我认为你的应用程序运行良好,但你只是关心编码。如果是的话,没什么好担心的。

    似乎在模拟器和实时数据存储中,密钥编码是以一种微妙的不一致的方式完成的,但是我在任何地方都找不到关于这一点的任何文档。

    密钥的编码方式在某个时刻发生了变化。我相信SDK附带的datastore viewer仍然使用旧样式。API甚至得到了增强,以支持从旧样式解码,您可以参考

    https://github.com/googleapis/google-cloud-python/issues/3293

    了解更多详细信息。我发现新的编码比旧的编码更紧凑。我相信新的编码没有将app/project id包含到编码中,这是有意义的,因为该信息属于整个数据库,而不是每个特定的密钥。

        2
  •  0
  •   Chris32    6 年前

    您遇到的关于此错误的公开问题。你可以跟踪进度 issue here .