如何识别健康检查请求?

How to identify health check request?

我的应用每小时收到大约 10 个健康检查请求的健康检查,这让我的对话日志变得混乱。 由于健康检查没有屏幕功能,我们的后端服务器将请求响应为Google首页正在请求。

有什么方法可以检测请求是否是健康检查请求?

首先,您应该像Google家一样回应。你必须用有效的输出来回应,否则它会拒绝你。因此,不要试图在您的回复中过于花哨 - 只需使用它来避免使您的分析和日志混乱。

health check 看起来像一个普通的欢迎请求。 ping 将包含一个名为 is_health_check 的参数,其中 boolValue 为真,textValue 为 1。如果您使用的是 Dialogflow,这将是 [=14= 处的参数之一].对于 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"
                }
            ],
...
}