代码之家  ›  专栏  ›  技术社区  ›  kuma

如何识别健康检查请求?

  •  4
  • kuma  · 技术社区  · 6 年前

    我的应用程序每小时收到大约10个健康检查请求,这使得我的对话日志很混乱。 由于健康检查没有屏幕功能,我们的后端服务器响应Google Home的请求。

    是否有任何方法可以检测该请求是否为健康检查请求?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Prisoner    6 年前

    首先,你 应该 像谷歌主页一样回应。您必须使用有效的输出进行响应,否则它将拒绝您。所以,不要试图在你的回答中太花哨,只要使用它来避免混乱你的分析和日志。

    health check 看起来像是一个普通的欢迎请求。ping将包含一个名为 is_health_check 用一个 boolValue 真的和 textValue 共1页。如果您使用的是Dialogflow,这将是 originalRequest.data.inputs[0] . 对于Actions SDK,它将位于 data.inputs[0] .

    以下是Dialogflow的部分示例:

    {
        "originalRequest": {
            "source": "google",
            "version": "2",
            "data": {
                "surface": {
                    "capabilities": [
                        {
                            "name": "actions.capability.AUDIO_OUTPUT"
                        }
                    ]
                },
                "inputs": [
                    {
                        "rawInputs": [
                            {
                                "query": "Sample",
                                "inputType": "VOICE"
                            }
                        ],
                        "arguments": [
                            {
                                "textValue": "1",
                                "name": "is_health_check",
                                "boolValue": true
                            }
                        ],
                        "intent": "actions.intent.MAIN"
                    }
                ],
    ...
    }