Я использовал код из документации Firebase, чтобы запланировать резервное копирование данных в моем проекте Firestore в ведре каждые 6 часов. См. Ссылку и код здесь:
https://firebase.google.com/docs/firestore/solutions/schedule-export
const functions = require('firebase-functions');
const firestore = require('@google-cloud/firestore');
const client = new firestore.v1.FirestoreAdminClient();
// Replace BUCKET_NAME
const bucket = 'gs://BUCKET_NAME';
exports.scheduledFirestoreExport = functions.pubsub
.schedule('every 24 hours')
.onRun((context) => {
const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT;
const databaseName =
client.databasePath(projectId, '(default)');
return client.exportDocuments({
name: databaseName,
outputUriPrefix: bucket,
// Leave collectionIds empty to export all collections
// or set to a list of collection IDs to export,
// collectionIds: ['users', 'posts']
collectionIds: []
})
.then(responses => {
const response = responses[0];
console.log(`Operation Name: ${response['name']}`);
})
.catch(err => {
console.error(err);
throw new Error('Export operation failed');
});
});
Все работает хорошо, мои данные сохраняются, как я хочу, но, тем не менее, я получаю ошибка:
Ошибка сериализации возвращаемого значения: TypeError: Преобразование круговой структуры в JSON
Может ли кто-нибудь сказать мне, что мне следует изменить? Буду рад получить подсказку.