Мне не удается удалить файлы из моего хранилища Firebase с помощью функций Firebase.Я занимаюсь этим уже почти неделю, и «самым близким», которое я получил, я считаю, является ошибка в самой ошибке, «Невозможно проанализировать ответ JSON в ApiError ».
Теперь я хочу, чтобы после удаления пользователя Firebase я хотел очистить базу данных и хранилище от файлов и данных пользователей.
const admin = require('firebase-admin');
const {Storage} = require('@google-cloud/storage');
exports.deleteUserHandler = (event, context) => {
const userUID = event.uid;
const bucketname = "gs://MY_PROJECT.appspot.com/user/"+userUID;
const storage = new Storage({
projectId: "MY_PROJECT_ID",
});
return admin.database().ref('/user/' + userUID).remove().then(() => {
console.log("User " + userUID + " database removed");
return storage.bucket(bucketname).file("profilepic.jpeg").delete();
}).then(() => {
return storage.bucket(bucketname).file("smallprofilepic.jpeg").delete();
}).then(() => {
console.log("User " + userUID + " firestore removed");
});
}
Триггер функциикогда предполагается, и удаляет данные из базы данных в реальном времени.Однако я не могу удалить изображения из хранилища.Мне кажется, что я ближе всего к тому, что должно быть в данный момент, но ошибка, которую я получаю из журналов функций, выглядит следующим образом.
Error: Cannot parse JSON response
at ApiError (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:43:9)
at Util.parseHttpRespBody (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:167:42)
at Util.handleResp (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:116:117)
at retryRequest (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:403:22)
at onResponse (/user_code/node_modules/@google-cloud/storage/node_modules/retry-request/index.js:200:7)
at /user_code/node_modules/@google-cloud/storage/node_modules/teeny-request/build/src/index.js:222:13
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
Я не знаю, что это значит.
Я установил мой сервисный агент API Google и Сервисная учетная запись App Engine по умолчанию в качестве администраторов хранилища.
Мои зависимости на момент публикации:
"@google-cloud/storage": "^2.3.4",
"firebase-admin": "^6.4.0",
"firebase-functions": "^2.1.0"