Как я могу использовать flask маршрутизацию в облачных функциях Google? - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу создать простой серверный бэкэнд, поэтому я пытаюсь использовать облачные функции Google с маршрутизацией flask.

Я пытаюсь протестировать простой код, но он не работает. Следующий источник всегда возвращает 404 ошибки.

from flask import Flask, make_response

class Services:
    pass

def create_app(test_config = None):
    app = Flask(__name__)

    services = Services

    create_endpoints(app, services)

    return app

def create_endpoints(app, services):

    @app.route("/test", methods=['GET'])
    def test():
        return make_response('Test worked!', 200)

URL функции: ######. Cloudfunctions.net/test1

Я пытался "######. Cloudfunctions. net / test1 "и" ######. cloudfunctions.net/test1/test ", но всегда возвращает ошибку 404.

можно ли использовать flask маршрутизацию?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Я думаю, что это необычный способ добавить маршрутизатор в облачную функцию, но он работает.

Я использовал свойство "путь" объекта "запрос" (это flask .request объект) для чтения пути после домена в запрошенном URL-адресе

from flask import abort

def coolrouter(request):
    path = (request.path)

    if (path == "/test"):
        return "test page"
    elif (path == "/home" or path =="/"):
        return "ḧome page"
    else:
        abort (404)

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

Если вы хотите загрузить полный сайт, я рекомендую вам использовать App Engine , который является полностью управляемым безсерверным приложением платформы.

0 голосов
/ 01 апреля 2020

Согласно официальной документации:

Cloud Functions - это безсерверная среда исполнения для построения и подключения облачных сервисов. С помощью облачных функций вы пишете простые универсальные функции , которые присоединяются к событиям, генерируемым вашей облачной инфраструктурой и сервисами. Ваша функция срабатывает при срабатывании просматриваемого события.

Python Быстрый запуск облачных функций

...