Wie lange (max Zeichen) können Sie ein datastore-entity key_name werden? Ist es schlimm, zu haver sehr lange key_names?
Was ist die maximale Anzahl der Zeichen, die verwendet werden können, zu definieren, die key_name eines datastore-entity?
Ist es schlecht, sehr lange key_names?
Zum Beispiel:
Angenommen, wir verwenden key_names eine 170 Zeichen, die die Länge einer Twitter-Nachricht 140 plus 10 numerische Zeichen für die Breite und 10 für längegrades und 10 für einen timestamp.
(Begründung eines solchen key_name: Also mit solchen key_name können wir schnell und einfach sicher sein, dass keine doppelten postings, da die gleiche Meldung sollte nicht kommen aus dem gleichen Ort und Zeit, mehr als einmal.)
- Ich kann hinzufügen, ein weiterer Grund für die Verwendung von langen Namen. Einer meiner Datentypen stellen eine Beziehung zwischen zwei anderen Personen (jeder Art), und der name des Schlüssels von meinem Wesen sind die zwei codierte Schlüssel mit einem Unterstrich in der Mitte. Wenn die Entitäten haben die Eltern (und Großeltern etc.), die Tasten kann man ziemlich lange.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine harte maximum - die maximale Länge des Schlüssels name ist die maximale Länge des Schlüssels, einige weniger Aufwand, und die Tasten kann man ziemlich lange.
Ist es schlecht haben sehr lange Namen, aber: Abgesehen vom speichern und abrufen es ist bei jedem index-Eintrag enthält den Schlüssel name bezieht es sich auf, so dass längere Schlüssel Namen bedeuten höhere Indexierung overhead. Wenn Sie sicherstellen möchten, Eindeutigkeit über einen großen text, ist die beste option, um den Namen für den Schlüssel ein MD5-oder SHA1-Summe von Eingangs -, die dafür sorgt, sowohl Einzigartigkeit und eine kurze(-ish) - Taste name.
eigentlich die Namen von Tasten sind beschränkt auf 500 Zeichen, genauso wie string-Werte. siehe z.B.
Key.to_path()
fordertValidateString()
:http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#413
welche Vorgaben
max_len
zu_MAX_STRING_LENGTH
500:http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/datastore_types.py#87