Как программно поместить данные в базу данных Google Appengine с удаленного исполняемого файла? - PullRequest
4 голосов
/ 14 апреля 2011

Я хотел бы предварительно заполнить и периодически помещать данные в базу данных Google Appengine.

Я хотел бы написать программу на Java и Python, которая подключается к моей службе GAE и загружает данные в мою базу данных.

Как я могу это сделать?

Спасибо

1 Ответ

3 голосов
/ 14 апреля 2011

Пожалуйста, используйте RemoteAPI для этого программно.

В python вы можете сначала настроить appengine_console.py, как описано здесь

Получив это, вы можете запустить и написать следующие команды в оболочке python:

$ python appengine_console.py yourapp

>>> import yourdbmodelclassnamehere
>>> m = yourmodelclassnamehere(x='',y='')
>>> m.put()

А вот код из java-версии, который не требует пояснений (непосредственно заимствован со страницы remote api в gae docs ):

package remoteapiexample;

import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.tools.remoteapi.RemoteApiInstaller;
import com.google.appengine.tools.remoteapi.RemoteApiOptions;
import java.io.IOException;

public class RemoteApiExample {
    public static void main(String[] args) throws IOException {
        String username = System.console().readLine("username: ");
        String password = 
            new String(System.console().readPassword("password: "));
        RemoteApiOptions options = new RemoteApiOptions()
            .server("<your app>.appspot.com", 443)
            .credentials(username, password);
        RemoteApiInstaller installer = new RemoteApiInstaller();
        installer.install(options);
        try {
            DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
            System.out.println("Key of new entity is " + 
                ds.put(new Entity("Hello Remote API!")));
        } finally {
            installer.uninstall();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...