2010-12-17 6 views
20

recientemente Habilité de almacén de datos de App Engine de administración. No entiendo las instrucciones sobre cómo copiar mis datos a otra aplicación.de almacén de datos de App Engine de administración: Copiar a otra aplicación Característica

Nota: La aplicación de destino debe permitir remote_api y debe incluir Identificación de esta aplicación en su lista HTTP_X_APPENGINE_INBOUND_APPID.

ADVERTENCIA Los datos de esta aplicación es escritura. Solo podemos garantizar una copia consistente cuando los datos que se copian son de solo lectura. Nota: Blobs (datos binarios) no se copiarán.

Para habilitar la remote_api que se incluye lo siguiente en el app.yaml:

builtins: 
    - remote_api: on 

no tengo idea de lo que es HTTP_X_APPENGINE_INBOUND_APPID, y una búsqueda en Google no da resultados .... alguna idea? función de copia alt text alt text

+0

¿Algún enlace de referencia sobre esa característica? – systempuntoout

+0

http://code.google.com/appengine/docs/python/datastore/creatinggettinganddeletingdata.html#Deleting_Entities_in_Bulk –

Respuesta

7

El almacén de datos está actualmente disponible sólo para aplicaciones Python.

Si está utilizando GAE para Java que debe hacer los pasos siguientes:

Notas: Suponiendo que va a copiar de aplicación example1.appspot.com a App example2.appspot.com y su carpeta de aplicaciones Java WEB-INF se encuentra en /Users/admin/src/main/webapp/WEB-INF

  1. Descargar SDK Python https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
  2. ejecutar el SDK Python
  3. Crear un nuevo archivo dentro de su WEB-INF carpeta: app.yaml
  4. Crear un nuevo archivo dentro de la carpeta WEB-INF: appengine_config.py
  5. Despliegue su nueva versión (ejecutar en el terminal): appcfg.py -A example2 update **/Users/admin/src/main/webapp/WEB-INF
  6. Vaya a su example1 almacén de datos de la vista de administración y puso: datastore-admin.example2.appspot.com/_ah/remote_api

app.yaml:

application: example2 
version: datastore-admin 
runtime: python 
api_version: 1 


builtins: 
- remote_api: on 
- datastore_admin: on 

appengin e_config.py:

remoteapi_CUSTOM_ENVIRONMENT_AUTHENTICATION = (
    'HTTP_X_APPENGINE_INBOUND_APPID', ['example1']) 
+0

¿Necesito usar el SDK de python o puedo simplemente cargar los archivos (app.yaml y appengine_config.py) cuando Implemento mi proyecto de eclipse – JohnIdol

+0

@Tiago Fernandes Me salvaste el día. Gracias. :) ya que 'GAE' ahora usa pythin2.7,' app.yaml' debe actualizarse. – Bishan

+0

Esta es una respuesta mejor y más completa. ¡Gracias! – Jabberwockey

2

Si está utilizando Java y ya intentado this y no su trabajo (que tenía el mismo problema) he añadido:

<servlet> 
    <display-name>Remote API Servlet</display-name> 
    <servlet-name>RemoteApiServlet</servlet-name> 
    <servletclass>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RemoteApiServlet</servlet-name> 
    <url-pattern>/remote_api</url-pattern> 
</servlet-mapping> 

en web.xml y la actualización con este comando : appcfg.py -A appid actualización/yourappfolder/war/WEB-INF

extraño pero después de que lo hice funcionó.

0

Si está utilizando GAE para Java, debe seguir los pasos en este answer.

GAE ahora usa Python 2.7. Entonces necesitas crear tu app.yaml como a continuación.

application: example2 
version: datastore-admin 
runtime: python27 
api_version: 1 
threadsafe: true 


builtins: 
- remote_api: on 

La herramienta datastore_admin debe permitir a través de la consola de administración en lugar de permitir que la orden interna en su app.yaml.

+0

Probablemente ya lo ha descubierto ... – codermaster

Cuestiones relacionadas