2012-10-07 2 views
10

Quando si conserva String campi con App Engine:Lunghezza massima della stringa memorizzata con App Engine?

  • Qual è la massima length() del String che App Engine datastore in grado di gestire?
  • Anche se si utilizza Objectify, questa lunghezza massima è uguale o Objectify esegue qualche elaborazione che influisce su questa lunghezza massima?

risposta

8

Objectify convertirà automaticamente stringhe di oltre 500 caratteri nella memoria di testo nativa. Fai attenzione se stai indicizzando le stringhe; Gli oggetti di testo non sono indicizzati, quindi la stringa> 500 caratteri non sarà indicizzata.

+0

appare un salvataggio avrà esito negativo se String è> 500 caratteri e viene indicizzato. com.googlecode.objectify.SaveException: errore nel salvataggio delle informazioni sulla chiamata =: al percorso 'note': richiesta di indicizzare un valore che non può essere indicizzato :. C'è una soluzione per questo? – Patrick

4

Per the documentation, 500 caratteri. E no, Objectify è un wrapper e non modifica i tuoi dati, quindi le limitazioni della dimensione dei dati sono invariate.

5

Penso che le risposte a questo non siano aggiornate, quindi sto aggiornando. Sto usando GAE versione 1.9.22 e ho ricevuto questo nei log degli errori:

Le proprietà delle stringhe devono essere byte o meno. Utilizza invece com.google.appengine.api.datastore.Text, che può archiviare stringhe di qualsiasi lunghezza.

Utilizzando com.google.appengine.api.datastore.Text funziona bene convertendo l'oggetto String al testo (ad esempio, il nuovo testo (thisString) sul lato server di del codice. Qualsiasi riferimento a librerie in com. google.appengine.api.datastore. * non funzionano sul lato client. Classe non trovata.

0

sulla base di aggiornamenti documentazione Google Datastore da ottobre 2016, ecco i limiti

dimensione massima codifica UTF-8 di una stringa stringa indicizzata: 1.500 byte

dimensione massima per una proprietà non indicizzata: 1,048,487 byte (1 MiB - 89 byte)

Quindi è possibile memorizzare le stringhe nei pressi di 1 MB di dimensione in un String proprietà non indicizzata.