Серии не отброшены, хотя отклик от InfluxDB равен HTTP 200 - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь использовать DROP SERIES вместе с оператором WITH в InfluxDB.Я хочу отбросить некоторые значения, используя следующий запрос:

DROP SERIES FROM "measurement_name" WHERE "tag_name"='tag_value'

В моем случае для теста необходимо отбросить все значения из измерения, поскольку у меня нет отдельных тегов.

cURL

curl -i -XPOST 'http://localhost:8086/query?db=testNimble' --data-urlencode 'q=drop series from "pressure" where "unit"='hPa''

Ответ на демон InfluxDB

2019-03-18T18:36:37.818018Z     info    Executing query {"log_id": "0EGWa~nl000", "service": "query", "query": "DROP SERIES FROM pressure WHERE unit = hPa"}
[httpd] 127.0.0.1 - - [18/Mar/2019:19:36:37 +0100] "POST /query?db=testNimble HTTP/1.1" 200 33 "-" "curl/7.35.0" c3b5ba54-49ac-11e9-800e-000000000000 0

Ответ от HTTP

HTTP/1.1 200 OK
Content-Type: application/json
Request-Id: ebd5b2a4-49ab-11e9-800b-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.1
X-Request-Id: ebd5b2a4-49ab-11e9-800b-000000000000
Date: Mon, 18 Mar 2019 18:30:35 GMT
Transfer-Encoding: chunked

{"results":[{"statement_id":0}]}

Однако данные все еще существуют:

select * from pressure limit 10

name: pressure
time                unit v
----                ---- -
1545153813714000000 hPa  101997
1545153814761000000 hPa  102004
1545153816045000000 hPa  102006
1545153817203000000 hPa  102003
1545153818265000000 hPa  102003
1545153819446000000 hPa  102003
1545153820498000000 hPa  102004
1545153821680000000 hPa  102007
1545153822854000000 hPa  102003
1545153823904000000 hPa  102003

Я попытался перезапустить демон, но данные все еще существуют.

Журнал InfluxD

В нем упоминается, что я пытаюсь запросить этот

 "query": "DROP SERIES FROM pressure WHERE unit = hPa"

Двойные кавычки и одинарные кавычкиздесь не экранируются.

Я попытался изменить свой запрос с помощью escape для кавычек следующим образом:

 curl -X POST 'http://localhost:8086/query?db=test' --data-urlencode 'q=DROP SERIES WHERE "unit"=\'hPa\' '

тогда он запрашивает дополнительную одинарную кавычку (ПОЧЕМУ? все кавычки закрыты)

и ответ выдает ошибку:

{"error":"error parsing query: found \\, expected identifier, string, number, bool at line 1, char 26"}

1 Ответ

0 голосов
/ 25 марта 2019

Мне удалось решить эту проблему в WSL с помощью многострочного форматирования для bash следующим образом:

curl -i -XPOST \
> 'http://localhost:8086/query?db=test' \
> --date-urlencode \
> "q=DROP SERIES FROM WHERE "unit"='hPa'"
...