使用logstah解析范围请求标头(Parsing range request header with logstah)
我需要将范围请求值解析为logstash中的start_range和end_range。 数据来自json对象,如下所示:
byte_range: "bytes=10-200"
我想将start和end提取为单独的值,如下所示:
start_range:10 end_range:200
我还需要考虑到值可能如下所示:
byte_range: "bytes=10-"
并且仍然应该导致:
start_range: 10 end_range: -
我尝试使用grok过滤器这样做,但它不起作用:
bytes=%{NUMBER:start_range}-%{NUMBER:end_range}
有没有人知道如何尽可能简单地解决这个问题?
I need to parse a range request value into start_range and end_range in logstash. The data comes from a json object and looks like this:
byte_range: "bytes=10-200"
and I want to extract start and end into separate values like this:
start_range:10 end_range:200
I also need to take into account that the value could look like this:
byte_range: "bytes=10-"
and should still result in:
start_range: 10 end_range: -
I tried doing it like this with a grok filter but it does not work:
bytes=%{NUMBER:start_range}-%{NUMBER:end_range}
Does anyone have any idea how to solve this as simple as possible?
原文:https://stackoverflow.com/questions/42010430
最满意答案
您需要将表连接在一起并应用
DISTINCT
:SELECT DISTINCT p.PrdNo, p.PrdName, o.OrdState FROM Product AS p INNER JOIN OrderList AS ol ON p.PrdNo = ol.PrdNo INNER JOIN Orders AS o ON o.OrdNo = ol.OrdNo WHERE o.OrdState = 'CA' ORDER BY PrdName
You need to join the tables together and apply
DISTINCT
:SELECT DISTINCT p.PrdNo, p.PrdName, o.OrdState FROM Product AS p INNER JOIN OrderList AS ol ON p.PrdNo = ol.PrdNo INNER JOIN Orders AS o ON o.OrdNo = ol.OrdNo WHERE o.OrdState = 'CA' ORDER BY PrdName
相关问答
更多-
SELECT NAME, CASE WHEN seq > 1 THEN '' ELSE manager END AS Manager, CASE WHEN seq > 1 THEN '' ELSE dept END AS dept FROM (SELECT b.NAME,b.dept,a.NAME AS manager, Row_number()OVER(partition BY a.dept ORDER BY a.dept DESC) seq FROM complex a JOIN c ...
-
您需要将表连接在一起并应用DISTINCT : SELECT DISTINCT p.PrdNo, p.PrdName, o.OrdState FROM Product AS p INNER JOIN OrderList AS ol ON p.PrdNo = ol.PrdNo INNER JOIN Orders AS o ON o.OrdNo = ol.OrdNo WHERE o.OrdState = 'CA' ORDER BY PrdName 在这里演示 You need to join the tabl ...
-
为什么你需要加入? 将COUNT()与GROUP BY将为您提供相同的所需结果: SELECT item_name, COUNT(*) AS count FROM stocks GROUP BY item_name; Why do you need a join at all? Using COUNT() with a GROUP BY will provide you with the same desired result: SELECT item_name, ...
-
加入行不同的地方(join where row is distinct)[2022-06-27]
以下是使用聚合的一种方法: select user_id, 2 from roles r group by user_id having min(role_id) = 2 and min(role_id) = max(role_id); 如果role_id可能为NULL ,则可以将其调整为: having min(role_id) = 2 and min(role_id) = max(role_id) and count(role_id) = count(*) Here is one method us ... -
这个查询世界为你工作可能是语法错误,因为我没有数据库。 select SUBSTRING_INDEX(full, ' ', 1) AS email ,SUBSTRING_INDEX(full, ' ', -1) AS cliente_id , nome from (SELECT DISTINCT (concat(c.email as email,' ',pf.id_cliente )) as 'full' , c.nome as 'nome' FROM cliente c INNER JOIN pesso ...
-
你需要的是一个join和一个group by子句,如下所示: SELECT t.empNo,t.empName,t.empCommRate,count(distinct s.ordNo) as Total FROM Employee t INNER JOIN Orders s ON(t.empNo = s.empNo) WHERE t.empCommRate < 0.040 GROUP BY t.empNo,t.empName,t.empCommRate 它也可以使用这样的相关查询来完成: SELECT ...
-
select * where distinct(select * where distinct)[2021-12-08]
试试这个, SELECT a.* FROM tableName a INNER JOIN ( SELECT transactionID, MIN(item) minItem FROM tableName GROUP BY transactionID ) b ON a.transactionID = b.transactionID AND ... -
目录/文本搜索上的DISTINCT Select-String输出(DISTINCT Select-String output on directory/text search)[2022-01-19]
您可以使用Select-String和Unique参数消除重复: $text='folders' Get-ChildItem C:\Workspace\mydirectorytosearch1\,C:\Workspace\mydirectorytosearch2\ -Recurse -Filter '*.ps*1' | Select-String -Pattern $text | Where-Object {$_ -NotLike '*.invoke(*'} | Select-Object Path -U ... -
加入并不是我的专栏(Join doesnt distinct my columns)[2022-01-08]
您可以使用OUTER APPLY (另外,您应该尝试找出您真正想要的条形码): SELECT i.id, b.barcode FROM inventory i OUTER APPLY (SELECT TOP 1 * FROM barcodes WHERE id = i.id ORDER BY barcode) b; You can use OUTER APPLY (also, you should actual ... -
在我看来,你有一个给定的表B实体的多个表A记录,是吗? 顺便说一下,你的列名很糟糕...... table_B.id = table_A.TA_user ???? 如何检查您的数据库应该知道存在这种关系? 但这不是重点。 无论如何,我猜你是否试图返回在给定日期的table_A中有记录的表B实体? 如果是这样,不同应该对你有用。 我可能会使用group by,因为它通常更快。 但如果我理解正确的话,这应该做你想要的。 SELECT DISTINCT table_B.TB_name FROM table ...