2012-10-07 7 views
10

Wenn String Felder mit App Engine speichert:Max Länge des String mit App Engine gespeichert?

  • Was die maximale length() der String ist die App Engine Datenspeicher umgehen kann?
  • Auch wenn Objectify verwendet wird, ist diese maximale Länge die gleiche oder Objectify macht eine Verarbeitung, die diese maximale Länge beeinflusst?

Antwort

8

Objectify konvertiert Strings mit mehr als 500 Zeichen automatisch in nativen Textspeicher. Seien Sie vorsichtig, wenn Sie Zeichenketten indexieren; Textobjekte werden nicht indiziert, so dass die Zeichenfolge> 500 Zeichen nicht indiziert wird.

+0

erscheint eine Sicherung wird fehlschlagen, wenn String> 500 char und indiziert ist. com.googlecode.objectify.SaveException: Fehler beim Speichern von Call Info =: Im Pfad 'notes': Anfrage zum Indizieren eines Wertes, der nicht indiziert werden kann:. Gibt es einen Workaround dafür? – Patrick

4

Pro the documentation, 500 Zeichen. Und nein, Objectify ist ein Wrapper und ändert Ihre Daten nicht, sodass die Datengrößenbeschränkungen unverändert bleiben.

5

Ich denke, die Antworten zu diesem sind veraltet, also aktualisiere ich. Ich benutze GAE Version 1.9.22 und erhielt dies in den Fehlerprotokollen:

String-Eigenschaften müssen Bytes oder weniger sein. Verwenden Sie stattdessen com.google.appengine.api.datastore.Text, der Strings beliebiger Länge speichern kann.

Mit com.google.appengine.api.datastore.Text funktioniert gut durch das String-Objekt zu Text konvertieren (zB neuer Text (thisString) auf der Server-Seite des Codes. Ein Bezug auf Bibliotheken in com. google.appengine.api.datastore. * funktionieren nicht auf der Client-Seite. Klasse nicht gefunden.

0

Basierend auf Updates zu Google-Datenspeicher Dokumentation von Oktober 2016, hier sind die Grenzen

Maximale Größe die UTF-8-Codierung einer indizierten Zeichenfolgeneigenschaft: 1.500 Byte

Maximale Größe für eine nicht indizierte Eigenschaft: 1.048.487 Bytes (1 MiB - 89 Bytes)

So können Sie Strings der Nähe von 1 MB groß speichern in einer nicht indizierten String Eigenschaft.