Как использовать эмулятор Google Cloud FireStore с проектом NodeJS? - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь использовать этот инструмент для тестирования моего NodeJS приложения:

https://cloud.google.com/sdk/gcloud/reference/beta/emulators/firestore

, когда я пытаюсь добавить что-то в пожарный магазин база данных, я получаю эту ошибку:

Error: Unable to detect a Project Id in the current environment.

Это нормально, я думаю, потому что локально нет проекта GCP.

Я думаю, что я должен настроить firestore:

const Firestore = require('@google-cloud/firestore');

const db = new Firestore({
  projectId: 'YOUR_PROJECT_ID',
  keyFilename: '/path/to/keyfile.json',
});

Как при использовании эмулятора Google Cloud Firestore как создать виртуальный идентификатор проекта? Кроме того, является ли ключевой файл обязательным?

Конечная цель - использовать локальный эмулятор для firestore, если существует env var "FIRESTORE_EMULATOR_HOST".

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Вам нужно будет настроить и запустить эмулятор в отдельном терминале

gcloud beta emulators firestore start

Затем для идентификатора проекта вы можете следовать документации и инструкциям github:

firebase serve --only firestore

, а затем

require "google/cloud/firestore"

# Make Firestore use the emulator
ENV["FIRESTORE_EMULATOR_HOST"] = "127.0.0.1:8080"

firestore = Google::Cloud::Firestore.new project_id: "emulator-project-id"

# Get a document reference
nyc_ref = firestore.doc "cities/NYC"

nyc_ref.set({ name: "New York City" }) # Document created

Вы также можете проверить этот пример здесь

0 голосов
/ 05 марта 2020

Вам нужно использовать express.js framework с node js, чтобы отправлять запросы на @google-cloud/firestore, и лучшие практики будут начинаться с https://cloud.google.com/nodejs/getting-started?hl=fa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...