python stackdriver google functions webhook listener

Я пытаюсь создать прослушиватель веб-перехватчика stackdriver в облачных функциях Google, используя следующий скрипт:

import sys
import logging
import json

from flask import Flask
from flask import Response, request

def webhook(request):
    logging.info("Stackdriver ga360_merge_ready starting up on %s" % (str.replace(sys.version, '\n', ' ')))

    app = Flask(__name__)


    @app.route('/', methods=['POST'])
    def simple_handler():
        """ Handle a webhook post with no authentication method """
        json_data = json.loads(request.data)
        logging.info(json.dumps(json_data, indent=4))
        return Response("OK")

Для приведенного выше у меня есть следующий URL:

https://xxxxx.cloudfunctions.net/webhook

«webhook» - это имя облачной функции. когда я вставляю этот URL-адрес с конечной косой чертой, в соответствии с кодом, он, похоже, не отправляет сообщение из stackdriver, по сути, я хочу, чтобы сообщение также пришло, в настоящее время все, что я получаю, это следующие три записи журнала:

введите описание изображения здесь

Не уверен, что мне не хватает, я новичок в мире python / webhooks


person Meisam Ebrahimi    schedule 23.01.2019    source источник


Ответы (1)


Ваш simple_handler никогда не вызывается, потому что request никогда не направляется к app, который вы создали.

Есть ли причина, по которой ваша функция настроена таким образом? Я ожидал, что это будет что-то вроде этого:

import sys
import logging
import json

logging.info("Stackdriver ga360_merge_ready starting up on %s" % (str.replace(sys.version, '\n', ' ')))

def webhook(request):
    """ Handle a webhook post with no authentication method """
    logging.info(json.dumps(request.get_json(), indent=4))
    return Response("OK")
person Dustin Ingram    schedule 23.01.2019
comment
Спасибо! без причины, просто мое новизну! : D Но я понимаю, что сейчас происходит, большое спасибо. - person Meisam Ebrahimi; 24.01.2019