Облачные функции Algolia + Firebase: index.browseObjects не является функцией - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь написать облачную функцию http-запроса для экспорта индексов из Algolia и сохранения их в Firebase Storage, но обнаружилось указанное выше сообщение об ошибке, например:

TypeError: index.browseObjects is not функция

Код экспорта по существу взят из примера кода на Algolia здесь . Мой код как таковой:

//functions/index.js
exports.exportIndex = require('./tests/export_index.f')

//export_index.f.js
const exporter = require('../algolia/exporter')

module.exports = functions.region('asia-northeast1')
.https
.onRequest((req, res) => {
    return exporter.exportIndex()
    .then(() => {
        res.end()
    })
});

//exporter.js
const client = algoliasearch(appId, apiKey)
const index = client.initIndex('the_index')
function exportIndex() {
    let hits = []
    return index.browseObjects({
        batch: objects => (hits = hits.concat(objects))
    })
    .then(() => {
        console.log('Finished!');
        console.log('We got %d hits', hits.length);

        let json = JSON.stringify(hits, null, 2)
        let path = `exports/algolia/the_index/${new Date().toISOString()}/index.json`
        return firebase.saveToStorage(json, path) // file.save() method
    })
}

module.exports = {
    exportIndex
}

Я пробовал подобный набор кода в автономном режиме, запустив node exporter.js, и функция exportIndex() работает. Однако при развертывании в облачной функции выдает ошибку. Я проверил, что мои appId и apiKeys верны, и что я включил план Blaze.

Любой совет?

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