2

Wenn ich update_indexes auf Google Datastore ausführen, erhalte ich die folgende Nachricht. Es sagt mir, dass ich feststellen muss, welche Indizes fehlerhaft sind, indem ich auf die GUI schaue, und dann diese Indizes lösche.Wie kann ich programmgesteuert feststellen, welche Datenspeicherindizes fehlerhaft sind?

Ich habe 51 fehlerhafte Indizes von 200, und kopieren sie aus der GUI ist nicht machbar.

(Edit: Durch mühselig Entfernen und Hinzufügen von Indizes aus dem Datenspeicher-indexes.xml identifizierten wir den einen problematischen Index.)

Gut DevOps Verfahren verlangt, dass wir automatisch diese Art der Sache zu tun.

Wie ermittelt man, welche Indexe programmatisch fehlerhaft sind? (Python, Bash, oder auch Java ist in Ordnung.)

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/" 

Antwort

2

Leider Cloud Datastor keine öffentliche API für die Verwaltung von Indizes und die aktuellen Kommandozeilen-Tools eine interne API verwenden, die keinen Zugriff auf das haben Information.

Wir wollen irgendwann im nächsten Jahr eine API für die Indexverwaltung haben (die bereits an Designs arbeitet) und ich werde sicherstellen, dass dieser wichtige Anwendungsfall etwas ist, das wir abdecken.

Verwandte Themen