Firestore: экспорт по расписанию - PullRequest
1 голос
/ 16 июня 2020

Я использовал код из документации 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

Может ли кто-нибудь сказать мне, что мне следует изменить? Буду рад получить подсказку.

...