【发布时间】:2013-09-16 04:32:05
【问题描述】:
我是 Google App Engine、Python 和 NoSQL 的新手。
在浏览 Datastore Viewer 时,我注意到列表视图中有一个标记为“Key”的键,而单个实体编辑视图中有一个标记为“Entity Key”的键,这是自动生成的。
它是干什么用的?我应该用它来识别我的实体吗?还是我应该忽略它?它是 App Engine 使用的内部密钥吗?
对此的任何启示将不胜感激!
谢谢
更新:
这是让我困惑的截图:http://snag.gy/J7ISd.jpg
表格中从左到右依次是“Key”(我要问的那个)、“Write Ops”、“ID”、“Key Name”。我的问题是,“Key”是干什么用的?
更新 2:
蒂姆霍夫曼在评论中回答了我的问题。 “密钥”列是整个密钥的 url 安全版本。
总而言之,实体的键由数字 ID 或字符串键组成,并且每个实体还有一个 url 安全版本,可以在 URL 周围传递,即自动生成。
【问题讨论】:
-
您需要阅读文档,了解关键是什么,如何使用它是 appengine 的基础 - developers.google.com/appengine/docs/python/datastore/entities
-
我确实阅读了文档,据我了解,密钥由数字 id 或字符串组成。在数据存储查看器中,我看到了 2 种类型的字符串。见截图:link
-
您特别问“它有什么用?我应该使用它来识别我的实体吗?还是应该忽略它?它是 App Engine 使用的内部密钥吗?” - 所有这些都在文档中进行了解释。
-
这有多令人困惑,数据存储查看器只是为了您的方便而将密钥分解为其组成部分。如果您为名称/id 提供一个字符串,它将存储为一个字符串。如果系统生成 id 它是一个 int。这是记录在案的。并且有注意两种类型的字符串。 Key 列中的值是整个密钥的 URL 安全版本。
-
最后一句话回答了我的问题:“Key 列中的值是整个密钥的 URL 安全版本。”。谢谢!
标签: google-app-engine google-cloud-datastore