How to browse local Java App Engine datastore?
It seems there is no equivalent of Python App Engine's _ah/admin for the Java implementation of Google App Engine.
Is there a manual way I can browse the datastore? Where are the files to be found on my machine? (I am using the App Engine plugin with Eclipse on OS X).
Solution 1:
http://googleappengine.blogspot.com/2009/07/google-app-engine-for-java-sdk-122.html: "At long last, the dev appserver has a data viewer. Start your app locally and point your browser to http://localhost:8888/_ah/admin
http://localhost:8000/datastore
* to check it out."
* as of 1.7.7
Solution 2:
There's currently no datastore viewer for the Java SDK - one should be coming in the next SDK release. In the meantime, your best bet is to write your own admin interface with datastore viewing code - or wait for the next SDK release.
Java App Engine now has a local datastore viewer, accessible at http://localhost:8080/_ah/admin
.
Solution 3:
I have local datastore on my Windows+Eclipse environment on \war\WEB-INF\appengine-generated\local_db.bin
As far as I understood it uses internal format named "protocol buffers". I don't have external tools to present the file in human-readable format.
I'm using simple "viewer" code like this:
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));
}
}
}
Solution 4:
In the newest versions of the SDK (1.7.6+) the admin part of the dev server comes with it changed its location
Analyzing the server output logs we can see that it is accessible at:
http://localhost:8000
And the Datastore viewer:
http://localhost:8000/datastore
Looks pretty neat - according to google's new design guidlines.