Лучший способ использовать библиотеку python в проекте Firebase - PullRequest
1 голос
/ 20 июня 2020

Я нашел пакет python, который хочу использовать в своем проекте firebase на основе angular (он выполняет сложный анализ текстового файла). Как лучше всего его использовать? Я вижу следующие варианты:

  1. Собственный docker контейнер с flask, работающий в облаке (например, тот ) - передать файл в запросе AJAX, вернуть JSON результат.
    • Недостатки: собственная конечная точка, которая должна быть записана где-то в основном проекте, собственный репозиторий: нет в другом Node.js облачные функции
  2. Вызов python скрипт в облачной функции Node.js (например, this )
    • немного хакерский файл конвейера и вывод журнала в виде строк, вероятно, нелегко заставить все python зависимости работать (будет ли это работать вообще?)
  3. Полностью независимый микросервис, который просто берет файл, анализирует его и отправляет обратно JSON. Может быть как AWS лямбда?
    • снова «вырезано» из основного проекта

Хотелось бы иметь «чистую и легкую» интеграцию в мое существующее Node.js облако функции, которые я использую в firebase. Затем интерфейс командной строки firebase может взять на себя всю обработку конечных точек URL et c. Но я не вижу способа сделать это.

Лучше всего использовать go с 1. или 3. и иметь облачную функцию Node.js, вызывающую конечную точку. При этом у меня также не было бы кода клиента, вызывающего конечную точку, и у меня были бы лучшие возможности для ее настройки без необходимости обновлять код клиента.

Мне не хватает подхода? Как лучше всего это сделать?

Пример использования: пользователь загружает файл, файл и некоторые другие значения сохраняются в его учетной записи. Содержимое файла должно быть проанализировано (может быть выполнено асинхронно), и результаты должны быть доступны пользователю для отображения.

1 Ответ

0 голосов
/ 31 июля 2020

Я выбрал вариант 1, и он пока работает достаточно хорошо. Развернуть dockerized flask сервер в Cloud Run очень просто. Также можно управлять доступом и аутентификацией из функции firebase в контейнер Cloud Run с помощью Google IAM.

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