如何浏览本地Java App Engine数据存储区?

Jim*_*ler 84 java google-app-engine google-cloud-datastore

对于Google App Engine的Java实现,似乎没有相应的Python App Engine的_ah/admin.

有没有手动方式我可以浏览数据存储区?我的机器上的文件在哪里?(我在OS X上使用Eclipse的App Engine插件).

dfr*_*kow 111

http://googleappengine.blogspot.com/2009/07/google-app-engine-for-java-sdk-122.html:"最后,dev appserver有一个数据查看器.在本地启动你的应用程序并指出你的浏览器*来检查它."http://localhost:8888/_ah/admin http://localhost:8000/datastore

*截至1.7.7

  • http:// localhost:8888/_ah/admin对我来说就像一个冠军(请注意端口已更改) - 但我会尝试使用AppWrench进行比较. (15认同)

Nic*_*son 40

目前没有Java SDK的数据存储区查看器 - 应该会在下一个SDK版本中出现.与此同时,您最好的选择是使用数据存储区查看代码编写自己的管理界面 - 或者等待下一个SDK版本.

Java App Engine现在有一个本地数据存储区查看器,可从中访问http://localhost:8080/_ah/admin.

  • 你是指几天后发布的博客帖子的链接_after_我发布了这个回复?'过时'我会接受,但多余和投票有点残酷. (23认同)

小智 6

我在Windows + Eclipse环境中的\ war\WEB-INF\appengine-generated\local_db.bin上有本地数据存储区

据我所知,它使用名为"协议缓冲区"的内部格式.我没有外部工具以人类可读的格式呈现文件.

我正在使用这样简单的"查看器"代码:

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
    throws IOException 
{

    resp.setContentType("text/plain");

    final DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    final Query query = new Query("Table/Entity Name");
    //query.addSort(Entity.KEY_RESERVED_PROPERTY, Query.SortDirection.DESCENDING);

    for (final Entity entity : datastore.prepare(query).asIterable()) {
        resp.getWriter().println(entity.getKey().toString());

        final Map<String, Object> properties = entity.getProperties();
        final String[] propertyNames = properties.keySet().toArray(
            new String[properties.size()]);
        for(final String propertyName : propertyNames) {
            resp.getWriter().println("-> " + propertyName + ": " + entity.getProperty(propertyName));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)