Google 애플리케이션 엔진에서 사용되지 않은 색인을 제거하려면 어떻게해야합니까?
-
03-07-2019 - |
문제
나는 실수로 추가되었습니다 내 GAE 응용 프로그램에 대한 새 필터. 인덱스의 상태는 지금 '서빙'입니다. 그러나 그 지수가 전혀 필요하지 않으며 제거하고 싶습니다. 어떻게 할 수 있습니까?
해결책
문서화되어 있습니다 여기. 도움이되기를 바랍니다.
사용되지 않은 인덱스 삭제
index.yaml에서 인덱스를 변경하거나 제거하면 원래 인덱스가 App Engine에서 자동으로 삭제되지 않습니다. 이를 통해 새 인덱스가 구축되는 동안 이전 버전의 앱을 실행하거나 최신 버전으로 문제가 발견되면 즉시 이전 버전으로 되돌릴 수 있습니다.
이전 인덱스가 더 이상 필요하지 않다고 확신하면 다음 명령을 사용하여 App Engine에서 삭제할 수 있습니다.
appcfg.py vacuum_indexes myapp/
이 명령은 로컬 버전의 index.yaml에 언급되지 않은 앱의 모든 인덱스를 삭제합니다.
다른 팁
GAE / Java의 경우 문서에는 포함됩니다 이 정보:
사용되지 않은 인덱스 삭제
...
이전 인덱스가 더 이상 필요하지 않다고 확신하면 Vacuum_Indexes 작업을 사용하여 App Engine에서 삭제할 수 있습니다.
./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war
이 명령은 DataStore-Indexes.xml의 로컬 버전 및 생성/Datastore-Indexes-Auto.xml에서 언급되지 않은 앱의 모든 인덱스를 삭제합니다.
~ 안에 Windows Google Appengine Java, 우리는 사용해야합니다 appcfg.cmd 명령 사용되지 않은 인덱스를 삭제합니다 배포 된 응용 프로그램.
구문 :
Appengine-Java-SDK-PATH bin appcfg.cmd Vacuum_indexes Project-Root-Path poject-name war
Gae-Java의 경우 Jochenjung이 언급했듯이 "Vacuum_indexes"도구가 작동하지만 다음과 같은 방식으로 Python 프로젝트를 모방해야합니다.
진공 도구는 로컬 개발자가 아닌 *.appspot.com에서만 지적 할 때만 작동하는 것 같습니다. 환경.
- 앱 용 app.yaml을 만들고 최소한 / myapp / root 디렉토리에 넣으십시오.
application: myproj
version: 4
runtime: python
api_version: 1
"버전"이 앱의 버전 인 "MyProj"는 프로젝트의 GAE 이름입니다.
- index.yaml을 만들고 같은 루트에 넣습니다. 보관하려는 지수에 대한 인덱스 정보를 인덱스 정보를 중력적으로 넣는 대신, 도구가 삭제하는 각 인덱스에 대한 예/아니오 확인을 제공 할 것이라는 것이 밝혀졌습니다. 지수를 삭제하고 확인을 사용하여 유지하려는 것을 보존해야합니다.
indexes:
# AUTOGENERATED
그런 다음 위와 같이 명령을 실행하면
/appcfg.py vacuum_indexes /path/to/myproj/
2019 년 2 월 현재는 지금입니다.
gcloud datastore indexes cleanup index.yaml
사용하는 경우 Maven mvn appengine:vacuum_indexes
. 할 필요가 없습니다 mvn appengine:update
, 명령은 원격 서버를 업데이트합니다.
Maven 명령의 전체 목록 여기.
Java를 사용하는 Windows 에서이 명령은 다음과 같습니다.
appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\
메모: 당신이 가지고 있는지 확인하십시오 datastore-indexes.xml
에서 webapp
폴더 (이 인덱스는 구축됩니다).
GCLOUD의 현재 버전을 사용하면 간단히 할 수 있습니다.
gcloud datastore cleanup-indexes index.yaml
APPCFG.CMD를 호출하는 것보다 더 직관적입니다. [...].
gcloud datastore cleanup-indexes /path/to/file/index.yaml
이 명령 더 이상 작동하지 않습니다.
gcloud datastore indexes cleanup /path/to/index.yaml
이것이 새로운 명령.
당신은 그들을 실행해야합니다 google cloud console
. 일반적으로 업로드 할 수 있습니다 index.yaml
파일 사용 file upload
기능 google cloud console
. 파일은 직접 호출됩니다 _admin
당신은 할 수 있습니다 cd
거기에 전화를 걸어
gcloud datastore indexes cleanup index.yaml
팁
사용중인 경우 datastore
안에 자바 프로젝트, 당신은 가지고 있습니다 datastore-indexes.xml
대신에 index.yaml
. 당신은 찾는 데 어려움이있을 수 있습니다 index.yaml
어디를 볼지 모르는 경우 파일.
당신은 단순히 경로를 찾을 수 있습니다 index.yaml
파일을보고 파일 deploy console
당신의 IDE에서.