Como posso remover índices não utilizados no Google Application Engine?
-
03-07-2019 - |
Pergunta
Eu tenho adicionado acidentalmente um novo filtro para o meu aplicativo GAE. O status do índice é 'servir' agora - no entanto, eu não preciso desse índice e gostaria de remover. Como eu posso fazer isso?
Solução
Está documentado aqui. Espero que ajude.
Excluindo índices não utilizados
Quando você altera ou remove um índice do índice.yaml, o índice original não é excluído do mecanismo do aplicativo automaticamente. Isso oferece a oportunidade de deixar uma versão mais antiga do aplicativo em execução enquanto novos índices estão sendo construídos ou de reverter para a versão mais antiga imediatamente se um problema for descoberto com uma versão mais recente.
Quando você tem certeza de que os índices antigos não são mais necessários, você pode excluí -los do App Engine usando o seguinte comando:
appcfg.py vacuum_indexes myapp/
Este comando exclui todos os índices para o aplicativo que não são mencionados na versão local do index.yaml.
Outras dicas
Para Gae / Java, a documentação inclui Essa informação:
Excluindo índices não utilizados
...
Quando você tem certeza de que os índices antigos não são mais necessários, você pode excluí -los do App Engine usando a ação Vacuum_indexes:
./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war
Este comando exclui todos os índices para o aplicativo que não são mencionados nas versões locais do DataStore-Indexes.xml e gerado/datastore-indexes-auto.xml.
Dentro Windows Google AppEngine Java, temos que usar appcfg.cmd comando para Excluir índices não utilizados de aplicativo implantado.
Sintaxe:
AppEngine-Java-SDK-Path Bin Appcfg.cmd Vacuum_indexes Project-Root-Path Poject-Name War
Para Gae-Java, como Jochenjung mencionou, a ferramenta "vacuum_indexes" funcionará, mas você terá que imitar um projeto Python da seguinte maneira:
Observe que a ferramenta de vácuo parece funcionar apenas quando apontada para *.AppSpot.com, não o desenvolvedor local. meio Ambiente.
- Criar app.yaml para o seu aplicativo e coloque isso no seu diretório / myApp / root, minimamente:
application: myproj
version: 4
runtime: python
api_version: 1
Onde "versão" é a versão do seu aplicativo, "MyProj", o nome Gae do seu projeto.
- Crie um índice.yaml e coloque -o no mesmo diretor de raiz. Em vez de colocar laboriosamente nesse arquivo as informações do índice para os índices que você deseja manter, verifica -se que a ferramenta lhe dará uma confirmação sim/não para cada índice que ele exclui, por isso é mais simples apenas para indicar que tudo Os índices devem ser descartados e usar a confirmação para preservar os que você deseja manter.
indexes:
# AUTOGENERATED
Em seguida, execute o comando como mostrado acima,
/appcfg.py vacuum_indexes /path/to/myproj/
Em fevereiro de 2019, é agora:
gcloud datastore indexes cleanup index.yaml
Se você está usando Maven mvn appengine:vacuum_indexes
. Não precisa de mvn appengine:update
, o comando atualiza o servidor remoto.
Uma lista completa de comandos maven aqui.
No Windows usando Java, este comando funcionou para mim:
appcfg.cmd vacuum_indexes C:\Users\Name\AndroidStudioProjects\Project\backend\src\main\webapp\
Observação: Certifique -se de ter um datastore-indexes.xml
no webapp
Pasta (esses índices serão poupados).
Com a versão atual do Gcloud, você pode simplesmente fazer:
gcloud datastore cleanup-indexes index.yaml
O que é mais intuitivo do que chamar AppCfg.cmd [...].
gcloud datastore cleanup-indexes /path/to/file/index.yaml
este comando não funciona mais.
gcloud datastore indexes cleanup /path/to/index.yaml
Isto é o novo comando.
você deveria executá -los em google cloud console
. Normalmente você pode fazer upload do index.yaml
arquivo usando file upload
recurso em google cloud console
. Seu arquivo vai para um chamado diretamente _admin
você pode cd
para lá e ligar,
gcloud datastore indexes cleanup index.yaml
Dica
Se você está usando datastore
em um Projeto Java, Você tem datastore-indexes.xml
ao invés de index.yaml
. Você pode ter algum problema para encontrar o index.yaml
Arquivo se você não souber onde procurar.
você pode simplesmente encontrar o caminho do index.yaml
Arquivo olhando para o deploy console
no seu IDE.