довольно долго искал решение:
У меня есть контактная форма.Каждый раз, когда кто-то отправляет письмо через него, в Esper выдается ContactEvent (получатель, senderIpAddress).Теперь я хотел бы, чтобы Esper сообщил мне, когда конкретный IP-адрес выдает более 50 событий контакта за 10 минут.
Синтаксис Ошибки в приведенном ниже коде связаны с упрощением кода
create window ContactWindow.win:time(10 min) as select ipAddress, mail from ContactEvent
затем я заполняю это так:
insert into ContactWindow select ipAddress, mail from ContactEvent";
В конце концов, есть Eventlistener примерно так:
select ip, count(ip) as cnt from ContactWindow group by ip
, который на самом деле работает.Это не совсем то, что я хотел бы жестко, так как мой слушатель выдается каждый раз, когда изменяется количество сообщений ip-адресата.(«IP X отправил 43 сообщения за последние 10 минут», «IP X отправил 44 сообщения за последние 10 минут», ...) Я хотел бы получить только одно событие, сообщающее мне «IP X превышает 50 сообщений впоследние 10 минут »и еще один говорит мне, что сейчас он опустился ниже этой границы.
Есть ли способ заставить это работать?