Ich bin neu bei Google Datastore und dieser Google-Dokumentation folgend.Die Projektionsabfrage kann nicht auf Google Datenspeicher angewendet werden. Fehler: Kein passender Index gefunden
https://cloud.google.com/datastore/docs/datastore-api-tutorial
Ich habe durch das Lesen dieses Dokument für den Aufruf von Google APIs Genehmigung erfolgen.
https://developers.google.com/identity/protocols/application-default-credentials#callingpython
Ich habe nur zwei Dateien:
1. client_secret.json
2. datastoreConnection.py
und das ist mein datastoreConnection.py bis jetzt:
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/path/to/client_secret.json'
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
from google.cloud import datastore
client = datastore.Client(project ="xyz",namespace = "staging")
def list_tasks(client):
query = client.query(kind='testData')
query.projection = ['patientName']
return list(query.fetch(limit=10))
print(list_tasks(client))
Dieser Code funktioniert gut und die Rückkehr mir die erforderlichen Daten .
Problem tritt auf, wenn ich Projektion mit mehreren Eigenschaften anwende. beispiels
query.projection = ['patientName','age']
Code gibt mir den Fehler:
google.cloud.exceptions.PreconditionFailed: 412 no matching index found. recommended index is:<br/>- kind: testData<br/> properties:<br/> - name: age<br/> - name: patientName<br/>
Zur Projektion Abfrage machen ich das las. https://cloud.google.com/datastore/docs/concepts/queries#datastore-projection-query-python
Ich habe die Eigenschaftsnamen überprüft, aber immer noch den gleichen Fehler. Wie kann ich das lösen?
Ich habe index.yaml Datei in anderen Fragen im Zusammenhang mit dieser Art von Problem gesehen. Ist das notwendig zu nutzen und was nützt es?