Documentation

使用 InfluxDB v1 HTTP 查询 API 和 InfluxQL

使用 InfluxDB v1 HTTP API /query 端点和 InfluxQL 查询存储在 InfluxDB Cloud Serverless 中的数据,并以 JSON 或 CSV 格式返回结果。/query 端点为您带到 InfluxDB 3 的 InfluxDB 1.x 工作负载提供了兼容性。

在您使用v1查询API之前, 数据库和保留策略必须映射到存储桶

航班查询不使用DBRP映射

在使用 Flight RPC 或 Flight SQL 查询 InfluxDB 时,指定 bucket name。 Flight 查询不使用 DBRP 映射。 查看如何 开始使用 Flight 和 SQL 或 InfluxQL 查询

查询 v1 /query 端点

要使用HTTP和InfluxQL进行查询,请向v1 /query端点发送一个GETPOST请求。

GET https://cloud2.influxdata.com/query

参数

对于 InfluxDB Cloud Serverless v1 API /query 请求,设置参数如下面表格所列:

参数允许在被忽略
chunked查询字符串已尊重以流式批次而不是单个响应返回点。如果设置为 true,InfluxDB 将按系列或每 10,000 个点分块响应,以先发生者为准。
chunked_size查询字符串已遵守需要将 chunked 设置为 true。如果设置为特定值,InfluxDB 将按系列或按此点数进行分块响应。
db查询字符串已授权数据库名称 映射到一个桶
epoch查询字符串荣誉时间戳精度
pretty查询字符串被忽略不适用
rp查询字符串荣誉保留策略 映射到一个桶
q查询字符串被尊敬的InfluxQL
Authorization 头或者 up令牌

将 v1 API 工作负载迁移到 InfluxDB Cloud Serverless 时,您需要在客户端配置或代码中调整请求参数。

时间戳精度

使用以下值之一作为时间戳精度 (epoch):

  • ns: 纳秒
  • us: 微秒
  • ms: 毫秒
  • s: 秒
  • m: 分钟
  • h: 小时

授权

要授权查询请求,请包含一个具有读取权限的token。 使用Token身份验证或v1兼容的用户名和密码身份验证在请求中包含一个token。

以JSON或CSV格式返回结果

默认情况下,/query 端点以 JSON 格式返回结果。

要以CSV格式返回结果,请在请求中包含Accept头部,使用application/csvtext/csv MIME类型,例如:

curl --get https://cloud2.influxdata.com/query \
  --header "Authorization: Token 
DATABASE_TOKEN
"
\
--header "Accept: application/csv" \ --data-urlencode "db=
DATABASE_NAME
"
\
--data-urlencode "q=SELECT * FROM home"

用于查询v1 API的工具

交互式客户端

要从命令行交互式地测试InfluxDB v1 API查询,使用常见的HTTP客户端,如cURL和Postman。

curl https://cloud2.influxdata.com/query \
  --header "Authorization: Token 
API_TOKEN
"
\
--data-urlencode "db=
DATABASE_NAME
"
\
--data-urlencode "q=SELECT * FROM home"

替换以下内容:

  • DATABASE_NAME: 映射到存储桶的数据库名称
  • API_TOKEN: 一个 API token 具有对指定数据库的 读取 权限。
curl --get https://cloud2.influxdata.com/query \
  -user "":"API_TOKEN" \
  --data-urlencode "db=
DATABASE_NAME
"
\
--data-urlencode "q=SELECT * FROM home"
curl --get https://cloud2.influxdata.com/query \
  --data-urlencode "u=ignored" \
  --data-urlencode "p=
DATABASE_TOKEN
"
\
--data-urlencode "db=
DATABASE_NAME
"
\
--data-urlencode "q=SELECT * FROM home"

故障排除

排查在使用HTTP API查询InfluxDB Cloud Serverless时遇到的问题和错误。

数据库未找到

如果查询请求中不存在 db=DATABASE_NAMErp=RETENTION_POLICY_NAME 组合的 DBRP,响应主体将包含错误消息,例如 "database not found:..."

配额和限制错误

HTTP API /query 请求受限于 使用配额和限制



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看:

InfluxDB 云端无服务器