如何使用 com.google.appengine.api.datastore.Text

发布于 2024-10-06 05:54:29 字数 992 浏览 3 评论 0原文

我使用 Quercus 在 google 应用引擎上运行 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一无所知。 有谁知道如何使用 com.google.appengine.api.datastore.Text 在我的 PHP 代码中。

谢谢

i use Quercus to run php on google app engine and and i use below code to insert value to the 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);
?>

but return flowing error because story value is more than 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.

i don't know any thing about java.
Does anyone have any idea how to use com.google.appengine.api.datastore.Text in my php code.

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

木緿 2024-10-13 05:54:29

这行得通吗?

<?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);
?>

Will this work?

<?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);
?>
您的好友蓝忘机已上羡 2024-10-13 05:54:29

不要为“setProperty”的第二个参数传入字符串,而是创建一个新的 com.google.appengine.api.datastore.Text 并将其传入。

看来您应该知道如何执行此操作。

请参阅此处“setProperty”的定义:http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html

Instead of passing in a string for the second parameter of 'setProperty', create a new com.google.appengine.api.datastore.Text and pass that in.

It looks like you should know how to do that.

See the definition of 'setProperty' here: http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/Entity.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文