Domanda

Ho aggiunto accidentalmente un nuovo filtro per la mia applicazione GAE. Lo stato dell'indice ora è "disponibile", tuttavia non ho bisogno di tale indice e vorrei rimuoverlo. Come posso farlo?

È stato utile?

Soluzione

È documentato qui . Spero che sia d'aiuto.

  

Eliminazione di indici non utilizzati

     

Quando cambi o rimuovi un indice   da index.yaml, l'indice originale è   non cancellato da App Engine   automaticamente. Questo ti dà il   possibilità di lasciare una versione precedente   dell'app in esecuzione mentre nuovi indici   sono in fase di creazione o per ripristinare il file   versione precedente immediatamente se un problema   viene scoperto con una versione più recente.

     

Quando sei sicuro che lo siano gli indici precedenti   non è più necessario, è possibile eliminarli   da App Engine utilizzando quanto segue   comando:

appcfg.py vacuum_indexes myapp/
     

Questo comando elimina tutti gli indici per l'app che non sono menzionati nella versione locale di index.yaml.

Altri suggerimenti

Per GAE / Java, la documentazione include queste informazioni :

  

Eliminazione di indici non utilizzati

     

...

     

Quando sei sicuro che i vecchi indici non sono più necessari, puoi farlo   eliminali da App Engine usando l'azione vacuum_indexes:

./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war
     

Questo comando elimina tutti gli indici per l'app che non sono menzionati in   le versioni locali di datastore-indexes.xml e   generata / datastore-indici-auto.xml.

In Windows Google AppEngine Java , dobbiamo usare il comando appcfg.cmd per eliminare gli indici inutilizzati dell'applicazione distribuita.

Sintassi:

  

appengine-java-sdk-path \ bin \ appcfg.cmd vacuum_indexes project-root-path \ poject-name \ war \

Per gae-java, come menzionato da JochenJung, il "vacuum_indexes" lo strumento funzionerà, ma dovrai emulare un progetto Python nel modo seguente:

Notare che lo strumento del vuoto sembra funzionare solo se puntato su * .appspot.com, non sul dev locale. ambiente.

  • crea app.yaml per la tua app e inseriscilo nella tua directory / myapp / root, almeno:

    application: myproj
    version: 4
    runtime: python
    api_version: 1

dove " versione " è la versione della tua app, " myproj " il nome GAE del tuo progetto.

  • crea un index.yaml e mettilo nella stessa directory root. Invece di mettere faticosamente in quel file le informazioni sugli indici per gli indici che vuoi conservare, si scopre che lo strumento ti darà una conferma sì / no per ogni indice che elimina, quindi è più semplice solo per indicare che TUTTI gli indici dovrebbero essere eliminati e utilizzare la conferma per preservare quelli che si desidera conservare.

indexes:

# AUTOGENERATED

Quindi esegui il comando come mostrato sopra,


  /appcfg.py vacuum_indexes /path/to/myproj/

Da febbraio 2019 è ora:

gcloud datastore indexes cleanup index.yaml

Se stai usando maven mvn appengine: vacuum_indexes . Non è necessario mvn appengine: update , il comando aggiorna il server remoto.

Un elenco completo dei comandi maven qui .

Su Windows che utilizza Java, questo comando ha funzionato per me:

appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\

Nota: assicurati di avere un datastore-indexes.xml nella cartella webapp (questi indici verranno risparmiati).

Con l'attuale versione di gcloud, puoi semplicemente fare:

gcloud datastore cleanup-indexes index.yaml

che è più intuitivo di chiamare appcfg.cmd [...].

gcloud datastore cleanup-indexes /path/to/file/index.yaml

questo comando non funziona più .

gcloud datastore indicizza cleanup /path/to/index.yaml

questo è il nuovo comando .

dovresti eseguirli in google cloud console . normalmente puoi caricare il file index.yaml utilizzando la funzione upload file nella console di Google Cloud . il tuo file va a un _admin chiamato direttamente cd e chiama,

gcloud datastore indicizza cleanup index.yaml

Suggerimento

se stai usando archivio dati in un progetto java , hai datastore-indexes.xml invece di index.yaml . Potresti avere qualche problema a trovare il file index.yaml se non sai dove cercare.

puoi semplicemente trovare il percorso del file index.yaml guardando la console di distribuzione nel tuo IDE.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top