Я пытаюсь настроить облачную функцию, которая при запуске Cloud Scheduler будет вставлять определенные данные в мою базу данных Firestore. Я делаю это в Node.js, используя встроенный редактор, предоставленный при создании моей облачной функции.
Я получаю сообщение об ошибке:
"Ошибка: сбой функции. Детали:
7 PERMISSION_DENIED: отсутствует или недостаточно разрешений. "
На моей панели инструментов Firebase в журналах показана моя функция и ошибка, которую я получаю при тестировании своей облачной функции, поэтому я предполагаю, что моя функция работает с базой данных, а не с добавлением фиктивных данных, с которыми я тестировал.
index.js:
const Firestore = require('@google-cloud/firestore');
const PROJECTID = 'MY_PROJECT_ID';
const firestore = new Firestore({
projectId: PROJECTID,
timestampsInSnapshots: true,
});
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.helloWorld = (req, res) => {
return firestore.collection("users").add({
first: "Ada",
last: "Lovelace",
born: 1815
});
};
Package.json:
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"@google-cloud/firestore": "0.17.0",
"semver": "^5.5.1"
}
}
У меня также есть правила для моей базы данных:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}