Wie kann ich nicht verwendeten Indizes in Google Application Engine entfernen?
-
03-07-2019 - |
Frage
Ich habe versehentlich hinzugefügt ein neuer Filter auf meine GAE Anwendung. Der Status des Index ‚dienen‘ jetzt - aber ich brauche nicht diesen Index überhaupt und ich würde entfernen möchten. Wie kann ich das tun?
Lösung
Es ist dokumentiert, hier . Hoffe, das hilft.
Löschen nicht verwendeten Indizes
Wenn Sie einen Index ändern oder löschen von index.yaml, ist der ursprüngliche Index nicht von App Engine gelöscht automatisch. Dies gibt Ihnen die Möglichkeit eine ältere Version zu verlassen der App läuft, während neue Indizes werden an den eingebauten oder zurückkehren ältere Version sofort, wenn ein Problem mit einer neueren Version entdeckt wird.
Wenn Sie sicher sind, dass alte Indizes nicht mehr benötigt werden, können Sie sie löschen von App Engine unter Verwendung der folgenden Befehl:
appcfg.py vacuum_indexes myapp/
Dieser Befehl löscht alle Indizes für die Anwendung, die in der lokalen Version von index.yaml nicht erwähnt werden.
Andere Tipps
Für GAE / Java, enthält die Dokumentation dieser Informationen :
Löschen nicht verwendeten Indizes
...
Wenn Sie sicher sind, dass alte Indizes nicht mehr benötigt werden, können Sie löschen Sie sie aus App Engine mit der vacuum_indexes Aktion:
./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war
Dieser Befehl löscht alle Indizes für die App, die nicht erwähnt werden die lokalen Versionen von Datenspeicher-indexes.xml und erzeugt / Datenspeicher-Indizes-auto.xml.
Windows-Google App Engine Java , müssen wir mit appcfg.cmd Befehl Löschen nicht verwendeter Indizes der bereitgestellten Anwendung.
Syntax:
appengine-java-sdk-Pfad \ bin \ appcfg.cmd vacuum_indexes Projekt-root-Pfad \ poject-name \ Krieg \
Für gae-java, wie JochenJung erwähnt, sind die „vacuum_indexes“ Werkzeug funktioniert, aber Sie werden ein Python-Projekt in der folgenden Art und Weise emulieren müssen:
Beachten Sie, dass das Vakuumwerkzeug nur scheint zu funktionieren, wenn an * .appspot.com, nicht den lokalen Entwicklern gerichtet. Umwelt.
- app.yaml für Ihre Anwendung erstellen und dies in Ihrem / myapp / root-Verzeichnis, minimal:
application: myproj
version: 4
runtime: python
api_version: 1
, wobei "Version" ist die App-Version "myproj" der GAE Name Ihres Projektes.
- Geben Sie eine index.yaml erstellen und es in der gleichen Wurzel dir setzen. Statt mühsam die Indexinformationen für die Indizes Sie behalten möchten, stellt sich heraus in die Datei des Setzens, dass das Werkzeug, um Ihnen einen ja wird / keine Bestätigung für jeden Index löscht, so ist es einfacher, nur, dass ALLE, um anzuzeigen, Indizes fallen gelassen werden sollte, und verwenden Sie die Bestätigung diejenigen bewahren Sie behalten möchten.
indexes:
# AUTOGENERATED
Dann den Befehl ausführen, wie oben gezeigt,
/appcfg.py vacuum_indexes /path/to/myproj/
Ab Februar 2019 ist es jetzt:
gcloud datastore indexes cleanup index.yaml
Wenn Sie mit Maven mvn appengine:vacuum_indexes
. Keine Notwendigkeit, mvn appengine:update
, der Befehl aktualisiert den Remote-Server.
Eine vollständige Liste der Maven-Befehle hier .
Unter Windows mit Hilfe von Java, dieser Befehl funktionierte für mich:
appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\
. Hinweis: Vergewissern Sie sich ein datastore-indexes.xml
im webapp
Ordner haben (diese Indizes werden geschont werden)
Mit der aktuellen Version von gcloud, können Sie einfach tun:
gcloud datastore cleanup-indexes index.yaml
, die intuitiver als Aufruf appcfg.cmd ist [...].
gcloud datastore cleanup-indexes /path/to/file/index.yaml
Mit diesem Befehl nicht mehr funktioniert .
gcloud datastore indexes cleanup /path/to/index.yaml
Dies ist der neue Befehl .
Sie sollten sie in google cloud console
laufen. normalerweise können Sie die Datei mit index.yaml
file upload
Funktion in google cloud console
hochladen. Ihre Datei zu einem direkt aufgerufen _admin
geht, kann man dort cd
und ruft,
gcloud datastore indexes cleanup index.yaml
Tipp
, wenn Sie mit datastore
in einem Java-Projekt , Sie haben statt datastore-indexes.xml
index.yaml
. Vielleicht haben Sie einige Probleme haben die index.yaml
Datei zu finden, wenn Sie nicht wissen, wo sie suchen müssen.
Sie können einfach den Pfad der index.yaml
Datei finden Sie in der deploy console
in Ihrem IDE suchen.