Когда я запускаю update_indexes в Google Datastore, я получаю сообщение ниже. Он предлагает мне определить, какие индексы ошибочны, посмотрев на графический интерфейс, а затем удалить эти индексы.
У меня 51 ошибочный индекс из 200, и скопировать их из графического интерфейса невозможно.
(Изменить: кропотливо удалив и добавив индексы из datastore-indexes.xml, мы выявили один проблемный индекс.)
Хорошая процедура DevOps требует, чтобы мы делали подобные вещи автоматически.
Как программно определить, какие индексы имеют ошибку? (Python, bash или даже Java в порядке.)
Cannot build indexes that are in state ERROR.To vacuum and rebuild your indexes:
1. Create a backup of your index.yaml specification.
2. Determine the indexes in state ERROR from your admin console: https://appengine.google.com/datastore/indexes?&app_id=s~myproject
3. Remove the definitions of the indexes in ERROR from your index.yaml file.
4. Run "appcfg.py vacuum_indexes your_app_dir/"
5. Wait until the ERROR indexes no longer appear in your admin console.
6. Replace the modified version of your index.yaml file with the original.
7. Run "appcfg.py update_indexes your_app_dir/"