Импорт данных Sqlite в Google App Engine - PullRequest
5 голосов
/ 20 мая 2010

У меня относительно обширная база данных sqlite, которую я хотел бы импортировать в свое приложение Python для Google App Engine.

Я создал свои модели с использованием API appengine, которые близки, но не совсем идентичны существующей схеме. Я написал скрипт импорта для загрузки данных из sqlite и создания / сохранения новых объектов appengine, но среда appengine блокирует мне доступ к библиотеке sqlite. Этот скрипт должен быть запущен только на моем локальном экземпляре ядра приложения, и оттуда я надеюсь отправить данные в Google.

Я неправильно подхожу к этой проблеме, или есть способ импортировать библиотеку sqlite при работе в среде локального экземпляра?

Ответы [ 4 ]

5 голосов
/ 20 мая 2010

Я бы сделал подходящие файлы CSV из данных Sqlite в отдельном сценарии, а затем использовал массовая загрузка , чтобы передать данные из файлов CSV в механизм приложений.

1 голос
/ 02 апреля 2011

Если вам нужен доступ к вашему хранилищу данных вне среды App Engine (например, если вам нужно использовать библиотеки, отсутствующие в App Engine, или делать другие вещи, которые App Engine не поддерживает с хранилищем данных), тогда лучшим вариантом будет Remote Api .

Здесь есть отличное руководство по этому вопросу: http://code.google.com/appengine/articles/remote_api.html

По сути, вы импортируете модуль remote_api, проходите аутентификацию в Google, чтобы получить доступ к вашему хранилищу данных, а затем запускаете команды доступа к данным (запрос, обновление, удаление и т. Д.), Как обычно, в движке приложения.

0 голосов
/ 20 мая 2010

У меня не было проблем с импортом pysqlite2, чтением данных, их преобразованием и записью в AppEngine с помощью remote_api.

Какую ошибку вы видите?

0 голосов
/ 20 мая 2010

Согласно Google, вы делаете это в обратном направлении . Приложение должно получать данные от вас, если у вас есть больше возможностей для перехода на новую модель в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...