4

Quercusを使用してGoogleAppEngineでPHPを実行し、以下のコードを使用してGAEデータストア(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文字を超えるため、フローエラーが返されます。

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について何も知りません。誰かが私のphpコードでcom.google.appengine.api.datastore.Textを使用する方法を知っていますか?

ありがとう

4

2 に答える 2

5

これは機能しますか?

<?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);
?>
于 2010-12-02T21:47:47.577 に答える
1

「setProperty」の 2 番目のパラメータに文字列を渡す代わりに、新しい com.google.appengine.api.datastore.Text を作成して渡します。

その方法を知っておく必要があるようです。

ここで「setProperty」の定義を参照してください: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html

于 2010-12-02T21:43:44.890 に答える