Попытка загрузки в хранилище firebase через облачную функцию - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь загрузить zip-файл, созданный в облачной функции Firebase, в хранилище Firebase.У меня есть настройки кода следующим образом:

const appConfig = {
  credential: admin.credential.cert(ServiceAccount),
  databaseURL: 'https://xxx.firebaseio.com',
  storageBucket: 'https://xxx.firebaseio.com',
};
const app = admin.initializeApp(appConfig);
export const db = app.firestore();
export const auth = app.auth();
export const storage = app.storage().bucket();

Затем я импортирую хранилище в свою функцию и запускаю следующее:

const options = {
    gzip: true,
    uploadType: 'media',
    destination: `${filename}.zip`,
    metadata: {
      metadata,
      contentType: 'application/zip',
      cacheControl: 'public, max-age=31536000',
    },
  };

  const storageData = await storage.upload(file, options)
    .catch((error) => {
      throwError('unknown', 'Error uploading exported data to store', error);
    });

при попытке загрузить файл я получаю следующую ошибку.

error: { Error: Cannot parse JSON response
    at Util.parseHttpRespBody (functions/node_modules/@google-cloud/common/build/src/util.js:167:42)
    at Util.handleResp (functions/node_modules/@google-cloud/common/build/src/util.js:116:117)
    at retryRequest (functions/node_modules/@google-cloud/common/build/src/util.js:404:22)
    at onResponse (functions/node_modules/retry-request/index.js:200:7)
    at functions/node_modules/teeny-request/build/src/index.js:158:17
    at process._tickCallback (internal/process/next_tick.js:68:7) message: 'Cannot parse JSON response' }

Похоже, что Util.parseHttpRespBody получает тело "Not Found".Я видел похожие вопросы, но все они, кажется, связаны с именем корзины.Я использую ведро по умолчанию, и я немного потерян.Что мне не хватает?Почему тело вызова в хранилище установлено как "Не найдено"?

...