来自 bash CLI 的 InfluxDB 查询

InfluxDB query from bash CLI

我从 bash CLI 测试了以下对 InfluxDB 查询的许多语法。但是还是报错。 maciej-test 语句中破折号(连字符)的接缝有问题。是否有任何解决方法或正确的语法将此类名称传递给 CLI InfluxDB?这很奇怪,因为一切都在 InfluxDB 提示符下工作。

查询:

influx -precision rfc3339 -format csv -database test -execute “select mean(“Hum”) as “Hum” from “autogen”.“maciej-test” GROUP BY time(1s) FILL(none) limit 6 tz(‘Europe/Warsaw’)”

错误报告:

ERR: error parsing query: found -, expected ; at line 1, char 44
error parsing query: found -, expected ; at line 1, char 44

知道我做错了什么吗?

编辑 1

如果我使用标准输入作为 SELECT 命令的输入,一切正常,如下所示:

influx -database test -format csv -precision rfc3339 << 'EOF'
select mean("Hum") as "Hum" from "autogen"."maciej-test" GROUP BY time(1s) FILL(none) limit 6 tz('Europe/Warsaw')
EOF

很奇怪...

问题出在嵌套引号上。在 select

周围使用单引号
influx -precision rfc3339 -format csv -database test -execute 'select mean(“Hum”) as “Hum” from “autogen”.“maciej-test” GROUP BY time(1s) FILL(none) limit 6 tz("Europe/Warsaw")'

或转义 select 中的嵌套引号:

influx -precision rfc3339 -format csv -database test -execute “select mean(\“Hum\”) as \“Hum\” from \“autogen\”.\“maciej-test\” GROUP BY time(1s) FILL(none) limit 6 tz(‘Europe/Warsaw’)”