Использование хранилища с облачными функциями Google для Firebase - PullRequest
0 голосов
/ 21 октября 2018

Я вижу много противоречивой документации по использованию Storage with Cloud Functions.Я действительно не понимаю, какую документацию мне следует использовать.Во всяком случае, я думаю, что я попробовал все из них, и ничего не работает.Пожалуйста, помогите мне.Например: я пытаюсь использовать эту документацию: https://firebase.google.com/docs/storage/admin/start

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const database = admin.database();

var bucket = admin.storage().bucket("my-custom-bucket");

У меня ошибка

Необработанная ошибка TypeError: storage.bucket не является функцией

Если я увижу следующие документы: https://firebase.google.com/docs/storage/extend-with-functions.

Что это?

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const database = admin.database();
const gcs = require('@google-cloud/storage')(); //!!! - is it mistype?
const spawn = require('child-process-promise').spawn;
const path = require('path');
const os = require('os');
const fs = require('fs');

const bucket = gcs.bucket('fileBucket');

Ошибка типа: require (...) не является функцией

, но в любом случае, даже если это неправильный тип, будет следующая ошибка:

TypeError: gcs.bucket не является функцией

И да, я установил:

npm install --save child-process-promise
npm install --save @google-cloud/storage

Кто-нибудь знает, как его использовать?Или где находится правильная документация?

1 Ответ

0 голосов
/ 21 октября 2018

Скорее всего, это не имеет ничего общего с облачными функциями.

Прежде всего, вы должны знать, что Firebase Admin SDK просто упаковывает Cloud Storage SDK.В конечном итоге он предоставляет все те же объекты и API.

Во-вторых, знайте, что версия 2.0.0 Cloud Storage SDK для узла внесла некоторые существенные изменения в то, как вы используете его API.Сравните старый способ с новым способом импорта библиотеки.

Admin SDK (и документация, которую вы просматриваете) были созданы для старогопуть с 1.7.0.Если вы вручную обновили Cloud Storage до 2.0.0, то из-за этого изменения может произойти сбой Admin SDK, поскольку основной экспортируемый объект из SDK Cloud Storage отличается.

Вы должны использовать Admin SDK безтакже обновите зависимость Cloud Storage или пропустите Admin SDK и просто используйте Cloud Storage SDK напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...