Перечислите объекты GCP Bucket в Firebase с помощью nodej - PullRequest
1 голос
/ 21 марта 2019

Я пытаюсь получить список объектов из корзины GCP в мое приложение, развернутое в firebase. Код для него выглядит следующим образом:

apis.js

const {Storage} = require('@google-cloud/storage');

const storage = new Storage();
const bucketName = 'gs://cloud-dev-setup';

exports.getBucketData = (req, res) => {
    storage.bucket(bucketName).getFiles().then(files => {
        [files] = files;
        let data = [];
        files.forEach(file => {
            data.push(file.name);
        });
        res.send(data);
    }).catch( error => {
        res.send('catch');
    });
}

index.js

const functions = require('firebase-functions');
const express = require('express');

const apis = require('./apis');
const app = express();
app.get('/test', (req, res) => {
    res.send("Hello from Firebase!");
});

app.get('/fileList', apis.getBucketData);

exports.app = functions.https.onRequest(app);

firebase.json

{
  "hosting": {
    "public": "public",
    "rewrites": [{
        "source": "**",
        "function": "app"
    }],
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

Когда он запускается локально, он получает список объектов и работает как положено.

Но при развертывании на сервере firebase я получаю следующую ошибку:

TypeError: stream.destroy не является функцией atResultSet (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/paginator/build/src/index.js:245:24) по запросу (/user_code/node_modules/@google-cloud/storage/build/src/bucket.js:1344:17) в Util.handleResp (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:141:9) в retryRequest (/user_code/node_modules/@google-cloud/storage/node_modules/@google-cloud/common/build/src/util.js:422:22) по адресу onResponse (/user_code/node_modules/@google-cloud/storage/node_modules/retry-request/index.js:200:7) по адресу /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)

Выполнение функции заняло 841 мс, завершено со статусом: 'crash'

Ошибка: функция вышла из области действия. Функция не может быть казнены.

Я ссылаюсь на эту страницу GCP для настройки приложения.

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