com.google.appengine.api.datastore.textの使用方法
-
30-09-2019 - |
質問
Quercusを使用してGoogle App EngineでPHPを実行し、以下のコードを使用してGAE Datastore(Bigtable)に値を挿入します。
<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
$entity = new Entity("test");
$entity->setProperty('story',' --- more than 500 char ---');
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>
ただし、ストーリー値は500枚以上のcharを超えるため、流れるエラーを返します。
error:
com.caucho.quercus.QuercusException: com.google.appengine.api.datastore.Entity.setProperty: story: String properties must be 500 characters or less. Instead, use com.google.appengine.api.datastore.Text, which can store strings of any length.
Javaについては何も知りません。誰もが使い方を考えていますか? com.google.appengine.api.datastore.text 私のPHPコードで。
ありがとう
解決
これは機能しますか?
<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Text;
$entity = new Entity("test");
$TextValue = new Text(' --- more than 500 char ---');
$entity->setProperty('story',$TextValue);
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>
他のヒント
「setProperty」の2番目のパラメーターの文字列を渡す代わりに、新しいcom.google.appengine.api.datastore.textを作成し、それを渡します。
それを行う方法を知っている必要があるようです。
こちらで「SetProperty」の定義を参照してください。 http://code.google.com/appengine/docs/java/javadoc/google/appengine/api/datastore/entity.html
所属していません StackOverflow