- Google App Engine в Node.js на Windows 10
- Я использую эмулятор Googles Datastore для локальной разработки в соответствии с этим учебным пособием .
- I используйте этот Node.js учебник для создания и запроса данных в хранилище данных.
Когда я использую локальный эмулятор, все работает нормально. Когда я использую удаленное хранилище данных из моего локального проекта, я получаю следующее сообщение об ошибке:
Error: 9 FAILED_PRECONDITION: no matching index found.
at Object.callErrorFromStatus (C:\Users\Code\google-cloud\nodejs-docs-samples\appengine\datastore\node_modules\@grpc\grpc-js\build\src\call.js:30:26)
at Http2CallStream.call.on (C:\Users\Code\google-cloud\nodejs-docs-samples\appengine\datastore\node_modules\@grpc\grpc-js\build\src\client.js:96:33)
at Http2CallStream.emit (events.js:203:15)
at process.nextTick (C:\Users\Code\google-cloud\nodejs-docs-samples\appengine\datastore\node_modules\@grpc\grpc-js\build\src\call-stream.js:97:22)
at process._tickCallback (internal/process/next_tick.js:61:11)
Предполагается, что при запуске эмулятора в каталоге ~gcloud\emulators\datastore\WEB-INF\index.yaml
создается индекс. Файл пуст после запуска эмулятора и запуска запроса из проекта:
app. js
/**
* Retrieve the latest 10 visit records from the database.
*/
const getVisits = () => {
const query = datastore
.createQuery('visit')
.order('timestamp', {descending: true})
.limit(10);
return datastore.runQuery(query);
};
index.yaml
indexes:
# AUTOGENERATED
# This index.yaml is automatically updated whenever the Cloud Datastore
# emulator detects that a new type of query is run. If you want to manage the
# index.yaml file manually, remove the "# AUTOGENERATED" marker line above.
# If you want to manage some indexes manually, move them above the marker line.
Я так понимаю что удаленная база данных не имеет индекса, который вызывает ошибку сверху. Я запускал запрос из проекта несколько раз, но индекс не обновлялся.
Я пытался загрузить index.yaml, но из-за отсутствия комментариев, ошибка продолжается.
Как создать индекс, чтобы удаленное хранилище данных работало без ошибок?