Я пытаюсь загрузить 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".Я видел похожие вопросы, но все они, кажется, связаны с именем корзины.Я использую ведро по умолчанию, и я немного потерян.Что мне не хватает?Почему тело вызова в хранилище установлено как "Не найдено"?