のApp EngineとString
フィールドを格納:App Engineに格納される文字列の最大長はどれですか?
String
の最大
length()
は何
- ?
- またObjectifyを使用する場合、この最大長は同じかObjectifyはこの最大長に影響を与える何らかの処理を行いますか?
のApp EngineとString
フィールドを格納:App Engineに格納される文字列の最大長はどれですか?
String
の最大
length()
は何
Objectifyは自動的に500文字以上の文字列をネイティブテキストストレージに変換します。文字列にインデックスを付ける場合は注意してください。テキストオブジェクトは索引付けされないため、> 500文字の文字列は索引付けされません。
the documentation、500文字。 Objectifyはラッパーでありデータを変更しないため、データサイズの制限は変わりません。
この回答は古くなっていると思いますので、更新しています。私はGAEバージョン1.9.22を使用しており、エラーログでこれを受け取りました。
文字列プロパティはバイト以下である必要があります。代わりに、任意の長さの文字列を格納できるcom.google.appengine.api.datastore.Textを使用します。 com.google.appengine.api.datastore.Textを使用して
はあなたのコードのサーバ側にテキスト(例えば、新しいテキスト(thisString)にStringオブジェクトを変換することにより、うまく機能。com内のライブラリへの参照。 google.appengine.api.datastore。*クライアント側では動作しません。クラスが見つかりません。
を10月、2016年からGoogleのデータストアのドキュメントの更新に基づき、ここでの制限はの
最大サイズですインデックス付き文字列プロパティのUTF-8エンコーディング:1,500バイト
インデックス付けされていないプロパティの最大サイズ:1048487バイト(1つのMIB - 89バイト)
だから、索引付けされていないString
プロパティでサイズが1MBに近い文字列を格納することができます。
が表示されます。文字列が> 500文字でインデックスに登録されていると、保存に失敗します。 com.googlecode.objectify.SaveException:コール情報の保存中にエラーが発生しました::パス 'notes'に:インデックスに登録できない値のインデックスを要求:このための回避策はありますか? – Patrick