Проблема с развертыванием функции Cloud для планирования ежедневного экспорта Cloud SQL в Google Cloud Storage - PullRequest
1 голос
/ 17 марта 2020

Я сделал облачную функцию для экспорта базы данных Cloud SQL в облачное хранилище, используя эту статью: https://medium.com/@kennethteh90 / как запланировать ежедневное облако- sql -export-to-google-cloud -storage-4c1bd360af06

Это моя функция:

const {google} = require("googleapis");
const {auth} = require("google-auth-library");
var sqladmin = google.sqladmin("v1beta4");

exports.exportDatabase = (_req, res) => {
  async function doBackup() {
    const authRes = await auth.getApplicationDefault();
    let authClient = authRes.credential;
    var request = {
      project: "project ID",
      instance: "instance ID",
      resource: {
        // Contains details about the export operation.
        exportContext: {
          kind: "sql#exportContext",
          fileType: "SQL", // CSV
          uri: `gs://bucketName/folderName/backup-${Date.now()}.gz`,
          databases: ["database"]
        }
      },
      // Auth client
      auth: authClient
    };

    // Kick off export with requested arguments.
    sqladmin.instances.export(request, function(err, result) {
      if (err) {
        console.log(err);
      } else {
        console.log(result);
      }
      res.status(200).send("Command completed", err, result); 
    });
  }
  doBackup();
};

пакет. json:

{
  "name": "export-database",
  "version": "0.0.1",
  "dependencies": {
    "googleapis": "^39.2.0",
    "google-auth-library": "3.1.2"
  }
}

В качестве времени выполнения я использую Node.js 8 Функция для выполнения: doBackup ()

Ошибка, которую я получаю во время:

Не удалось выполнить функцию при загрузке кода пользователя. Сообщение об ошибке: Node.js модуль, определенный индексом файла. js ожидается экспорт функции с именем doBackup ()

Может кто-нибудь помочь мне с этой ошибкой? Я не понимаю, почему я получаю это и не могу go дальше.

1 Ответ

1 голос
/ 17 марта 2020

Не удалось выполнить функцию при загрузке кода пользователя. Сообщение об ошибке: Node.js модуль, определенный индексом файла. js ожидается экспорт функции с именем doBackup ()

Ваша облачная функция для выполнения имени, согласно сообщению об ошибке doBackup, но функция, которую вы вызываете в index.js, равна exportDatabase. Убедитесь, что эти имена совпадают, например, измените exportDatabase на doBackup или измените функцию для выполнения на exportDatabase

...