2011-11-03 12 views
8

Estoy intentando descargar los datos de mi aplicación de Google App Engine, utilizando the official instructionsGAE descarga de datos muestra datastore_errors.BadRequestError

API remota está configurado & que llamo:

appcfg.py download_data --application=appname --url=http://app.address.com/_ah/remote_api --filename=alldata.csv 

se establece la conexión , me están pidiendo para mi e-mail & contraseña, y después de un largo traza aparece terminar con esto:

google.appengine.api.datastore_errors.BadRequestError: app s~appname cannot access app appname's data

¿Algunas ideas?

+0

¿Está literalmente pasando "application = appname" o ha limpiado su ID de la aplicación del comando y el error? –

+0

Estoy pasando mi id de la aplicación :) Pero ya encontré la solución - el nombre del servidor estaba equivocado ... – kolinko

Respuesta

25

Si utiliza el almacén de datos de alta replicación, cambie el valor pasado a --application desde appname a s~appname.

+0

Esto solucionó mi problema. ¿Puedes explicar por qué es necesario pasar s ~ para un almacén de datos de alta replicación? – LuxuryMaster

0

Encontré el problema: como URL estaba dando el nombre de dominio de mi propia aplicación en lugar de 1.appname.appspot.com.

0

Me encontré con este mismo problema, pero al intentar utilizar la API remota desde una secuencia de comandos personalizada en contraposición a la descarga masiva de appcfg.py.

Este problema puede haber sido abordado en versiones más recientes de GAE SDK, pero por varias razones todavía estoy usando la versión 1.7 anterior. Encontré la respuesta en este informe de error: https://code.google.com/p/googleappengine/issues/detail?id=4374

Básicamente, al llamar a ConfigureRemoteApi, no especifique el argumento APP_ID (simplemente pase None) y especifique su ID de la aplicación a través del argumento del host, p. 'myapp-hrd.appspot.com'. ConfigureRemoteApi resolverá correctamente tu ID de aplicación y no agregará la 's ~' que causa este problema.