Как создать резервную копию сайта AppEngine?

Итак, вы создаете отличный блестящий облачный веб-сайт 2.0 поверх AppEngine, с тысячами и тысячами изображений, сохраненных в хранилище данных и показов данных в блочном магазине. Как вы их создаете?

Ответы

Ответ 2

Команда не работает

http://code.google.com/appengine/docs/python/tools/uploadingdata.html#Downloading_and_Uploading_All_Data

--dump необходимо заменить на download_data, --restore необходимо заменить на upload_data и --app_id необходимо изменить на --application

Затем он читал

Загрузка и загрузка всех данных

Вы можете загружать и загружать все объекты в формате, подходящем для резервного копирования и восстановления, без написания дополнительного кода или конфигурации. Чтобы загрузить все сущности всех видов, запустите следующую команду:

appcfg.py download_data --application=<app-id> --url=http://<appname>.appspot.com/remote_api --filename=<data-filename>

Вы также можете использовать аргумент --kind =... для загрузки всех объектов определенного типа:

appcfg.py download_data --application=<app-id> --kind=<kind> --url=http://<appname>.appspot.com/remote_api --filename=<data-filename>

Примечание. Загрузка всех объектов всех видов работает только в App Engine и не работает с сервером разработки. Чтобы загрузить данные в хранилище приложений из файла, созданного appcfg.py --dump, выполните следующую команду:

appcfg.py upload_data --application=<app-id> --kind=<kind> --filename=<data-filename> <app-directory>

Когда данные загружаются, объекты сохраняются вместе с их исходными ключами. Когда данные восстанавливаются, используются исходные ключи. Если объект существует в хранилище данных с тем же ключом, что и восстанавливаемый объект, объект в хранилище данных заменяется. Вы можете использовать --restore для замены данных в приложении, из которого оно было сброшено, или вы можете использовать его для загрузки данных в другое приложение. Объекты с числовыми идентификаторами системы будут восстановлены с одинаковыми идентификаторами, а ссылочные свойства будут сохранены.

Ответ 3

Теперь в панели управления имеется резервная копия. См. "Администратор хранилища данных".

Ответ 4

У меня были проблемы с предлагаемым решением, поэтому мне пришлось немного с ним бороться. Вот что я придумал:
1. Добавьте remote_api в app.yaml, как описано выше, или просто как
builtins:
- remote_api: on

2. Создание загрузчика по объему, как описано выше, привело к ошибке аутентификации для меня, как bug1125. Приведенная ниже команда
appcfg.py create_bulkloader_config --filename=<appfolder>/bulkloader.yaml <appfolder>/
3. Измените все TODO в загрузчике. В моем случае я заменил все разъемы на "csv" и дал всем иностранным ключам значимые имена.
4. Я использовал следующую команду (bash) для резервного копирования всех видов for f in cat <appfolder>/bulkloader.yaml | grep "\- kind" | awk '{print $3}'
сделать
    appcfg.py download_data <appfolder> /--filename = backup/$f.csv --config_file = <appfolder> /bulkloader.yaml --kind = $f
Молодцы
Код >

Примечание. Обе команды предназначены для работы в папке над папкой приложения.