Загрузка базы данных Google App Engine - PullRequest
1 голос
/ 13 сентября 2010

Я создал веб-приложение и развернул его в Google App Engine после того, как создал таблицу (сущность) в хранилище данных Google App Engine.Мое сомнение, возможно ли загрузить объект / базу данных?

Ответы [ 3 ]

5 голосов
/ 29 января 2011

, чтобы включить remote_api, добавьте это к вашим web.xml:

<servlet>
  <servlet-name>remote-api</servlet-name>
  <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>remote-api</servlet-name>
  <url-pattern>/remote_api</url-pattern>
</servlet-mapping>

деталям в этой теме: http://groups.google.com/group/google-appengine/browse_thread/thread/1bb013cbdd30750b

, затем, как упомянуто Шей, используйте массовый загрузчик .

(добавлено в качестве ответа вместо комментария только потому, что XML не будет правильно форматироваться в комментарии.)

3 голосов
/ 17 сентября 2012

У меня было простое требование выгрузить сущности из Java-приложения GAE и восстановить их в локальном хранилище данных. Я мог бы наконец сделать это с помощью следующих шагов

  1. Добавьте RemoteApiServlet в web.xml и разверните приложение

    <servlet>
        <servlet-name>RemoteApi</servlet-name>
        <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    </servlet>
    <servlet-mapping>
         <servlet-name>RemoteApi</servlet-name>
         <url-pattern>/remote_api</url-pattern>
    </servlet-mapping>
    
  2. Загрузите SDK Google App Engine для Python и распакуйте его

  3. Используйте bulkloader.py для выгрузки хранилища данных из GAE

    bulkloader.py --dump --application = s ~ appid --url = http://appid.appspot.com/remote_api --filename = xyz.dump

    - приложение задано как s ~ appid, т.е. приложение tilda, так как приложение использовало хранилище данных HR. Для Master / Slave datasotre простой appid подойдет.

    bulkload.py запросит учетные данные для входа в приложение. При аутентификации он будет сбрасывать объекты в указанный файл.

  4. Для восстановления используйте следующую команду

    bulkloader.py --restore --application = appid --url = http://127.0.0.1:8888/remote_api --filename = xyz.dump

    Для локальных учетных данных используйте адрес электронной почты администратора и пустой пароль. Даже для HRD в локальном хранилище данных используйте простой appid (s ~ appid восстанавливает данные, но объекты не доступны в Консоли разработки - Средство просмотра хранилища данных. Я не знаю почему)

    Дамп может быть восстановлен в том же приложении или даже в другом приложении

1 голос
/ 13 сентября 2010

Да, используя BulkLoader

...