I have read the numerous questions on this, but found no solution that works :(
$ appcfg.py download_data --url=http://THING.appspot.com/_ah/remote_api --filename=backup1 .
08:47 PM Application: THING
08:47 PM Downloading data records.
[INFO ] Logging to bulkloader-log-20120910.204726
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20120910.204726.sql3
[INFO ] Opening database: bulkloader-results-20120910.204726.sql3
[INFO ] Connecting to THING.appspot.com/_ah/remote_api
[INFO ] Authentication Failed
So I have several questions about what's going on:
builtins: - remote_api: on
in my app.yaml (which is in this directory - hence the ".", right?), do I need to put a handler in?Edit: Sebastian kindly pointed me in the right direction, but I now have this error:
$ appcfg.py download_data --application='s~THING' --url=http://THING.appspot.com/_ah/remote_api --filename=backup1 --kind=Article .
09:47 PM Application: s~THING (was: THING)
09:47 PM Downloading data records.
[INFO ] Logging to bulkloader-log-20120910.214744
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20120910.214744.sql3
[INFO ] Opening database: bulkloader-results-20120910.214744.sql3
[INFO ] Connecting to THING.appspot.com/_ah/remote_api
[INFO ] Downloading kinds: ['Article']
.[ERROR ] [WorkerThread-1] WorkerThread:
Traceback (most recent call last):
File "/home/me/google_appengine/google/appengine/tools/adaptive_thread_pool.py", line 176, in WorkOnItems
status, instruction = item.PerformWork(self.__thread_pool)
File "/home/me/google_appengine/google/appengine/tools/bulkloader.py", line 764, in PerformWork
transfer_time = self._TransferItem(thread_pool)
File "/home/me/google_appengine/google/appengine/tools/bulkloader.py", line 1170, in _TransferItem
self, retry_parallel=self.first)
File "/home/me/google_appengine/google/appengine/tools/bulkloader.py", line 1471, in GetEntities
results = self._QueryForPbs(query)
File "/home/me/google_appengine/google/appengine/tools/bulkloader.py", line 1442, in _QueryForPbs
raise datastore._ToDatastoreError(e)
Error: API error 4 (datastore_v3: NEED_INDEX): no matching index found.
[INFO ] An error occurred. Shutting down...
[ERROR ] Error in WorkerThread-1: API error 4 (datastore_v3: NEED_INDEX): no matching index found.
[INFO ] Have 10 entities, 0 previously transferred
[INFO ] 10 entities (12985 bytes) transferred in 1.6 seconds
I am still left with errors (see above) but the basics appear to be covered by https://developers.google.com/appengine/docs/go/tools/uploadingdata as recommended in a comment. Thanks for that. If I fix the other errors I will update this.
There's a small bug in the Go remote_api support. To work around it you can either add the relevant index, or use a dummy Python version to download the data. It should be fixed in a future release.