質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top