google-app-engine - 数据存储实体 key_name 可以有多长(最大字符数)?拥有很长的 key_names 不好吗?

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

可用于定义数据存储实体的 key_name 的最大字符数是多少?

键名太长不好吗?

例如: 假设我们使用 170 个字符的 key_names,这是 Twitter 消息的长度 140 加上 10 个纬度数字字符、10 个经度字符和 10 个时间戳字符。

(这样一个 key_name 的推理:所以通过使用这样一个 key_name,我们可以轻松快速地确保没有重复的发布,因为同一条消息不应该来自同一个地方和时间超过一次。)

最佳答案

键名限制为 500 个字符,就像字符串属性值一样。参见例如Key.to_path(),调用ValidateString():

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#413

默认 max_len_MAX_STRING_LENGTH,即 500:

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#87

关于google-app-engine - 数据存储实体 key_name 可以有多长(最大字符数)?拥有很长的 key_names 不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2557632/

相关文章:

google-app-engine - GAE : AssertionError: No api proxy found for service "datastore_v3"

python - 我可以通过 _pre_put_hook 导致 put 失败吗?

python - GAE 上的用户身份验证

python - 运行 dev_appserver.py 时如何访问远程数据存储?

python - 当 'putting' 实体时检测实体的特定属性是否已被更改?

python - 如何在 Google App Engine Datastore 中存储非 ASCII 字符

PHP 的 Curl 不适用于 AppEngine

python - Google IAP 不断响应 401 Unauthorized

node.js - 在 Google App Engine 上禁用 Node JS 的默认域 https ://[project-id]. appspot.com

google-app-engine - AppEngine 数据存储区 key 名称中允许使用的字符