2010-12-17 3 views
20

최근에 AppEngine의 Datastore Admin을 활성화했습니다. 데이터를 다른 앱에 복사하는 방법에 대한 지침을 이해할 수 없습니다.AppEngine의 데이터 저장소 관리 : 다른 앱 기능으로 복사하기

참고 : 대상 응용 프로그램이 remote_api를 사용하도록 설정해야하고 HTTP_X_APPENGINE_INBOUND_APPID을 목록에서 이 응용 프로그램의 ID를 포함해야합니다.

경고이 응용 프로그램의 데이터는 쓰기 가능 입니다. 복사 된 데이터가 읽기 전용 인 경우에만 일관성있는 복사본을 보장 할 수 있습니다. 참고 : Blob (이진 데이터)은 복사되지 않습니다. 내가 HTTP_X_APPENGINE_INBOUND_APPID이 무엇인지 모른다, 그리고 구글 검색 결과가 .... 어떤 아이디어를 얻을 수 없습니다

builtins: 
    - remote_api: on 

:

는 remote_api을 사용하려면 나는하여 애플리케이션 제목에 다음을 포함? alt text alt text

+0

해당 기능에 대한 참조 링크가 있습니까? – systempuntoout

+0

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

답변

7

데이터 저장소 복사 기능은 현재 Python 응용 프로그램에서만 사용할 수 있습니다.

자바에 대한 GAE를 사용하는 경우 다음 단계를 수행해야합니다

주 : example2.appspot.com을 앱간에 example1.appspot.com에서 복사 및 자바 WEB-INF 응용 프로그램 폴더가 /Users/admin/src/main/webapp/WEB-INF

  1. 에 위치한 가정 Python SDK 다운로드 https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python
  2. Python SDK 실행
  3. 새 파일을 만듭니다. WEB-INF 폴더 : appengine_config.py
  4. (터미널에서 실행) 새 버전 배포 : app.yaml
  5. WEB-INF 폴더 안에 새 파일을 작성하여 example1 데이터 저장소 관리보기로 appcfg.py -A example2 update **/Users/admin/src/main/webapp/WEB-INF
  6. 이동을 넣어 : 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 : web.xml의 업데이트에

<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> 

이 명령 : 당신은 this하고는 (내가 같은 문제가 없었다) 내가 추가 작동하지 않는 시도 이미 자바를 사용하는 경우

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

Python SDK를 사용해야합니까, 아니면 파일 (app.yaml 및 appengine_config.py)을 업로드 할 수 있습니까? 이클립스에서 내 프로젝트를 배포합니까? – JohnIdol

+0

@Tiago Fernandes 당신은 나의 날을 구합니다. 감사. :) GAE에서 pythin2.7을 사용하기 때문에 app.yaml이 업데이트되어야합니다. – Bishan

+0

더 나은 답변입니다. 고맙습니다! – Jabberwockey

2

: appcfg.py -A appid update/yourappfolder/war/WEB-INF

이상한 일을했지만 그 후에 효과가있었습니다.

0

Java 용 GAE를 사용하는 경우이 answer의 단계를 수행해야합니다.

GAE는 이제 Python 2.7을 사용합니다. 따라서 아래와 같이 app.yaml을 만들어야합니다.

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


builtins: 
- remote_api: on 

datastore_admin 도구 대신 app.yaml에 내장을 가능하게하는 관리 콘솔을 통해 사용하도록 설정해야합니다.

+0

그는 probbebly 그것을 가지고 지금 밖으로 figuerd ... – codermaster

관련 문제