python stackdriver google 运行 webhook 侦听器

python stackdriver google functions webhook listener

我正在尝试使用以下脚本在 google 云函数中创建一个 stackdriver webhook 侦听器:

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 世界的新手

您的 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")