使用 InfluxDB v1 HTTP 查询 API 和 InfluxQL 查询数据
使用 InfluxDB v1 HTTP 查询 API 通过 InfluxQL 查询 InfluxDB 集群中的数据。
下面的示例使用 cURL 向 InfluxDB v1 HTTP API 发送 HTTP 请求,但您可以使用任何 HTTP 客户端。
InfluxQL特性支持
InfluxQL 正在重新架构以与 InfluxDB 3 存储引擎配合使用。 这个过程仍在进行中,一些 InfluxQL 功能仍在实施中。 有关 InfluxQL 功能当前实施状态的信息, 请参见 InfluxQL feature support。
使用 v1 /query 端点和 GET 请求方法来使用 InfluxQL 查询数据:
GET https://cluster-host.com/query
请提供以下内容与您的请求:
- 头部:
- 授权:
Bearer DATABASE_TOKEN
- 授权:
- 查询参数:
- db: 要查询的数据库
- rp: 可选:要查询的保留策略
- q: URL编码的InfluxQL查询
curl --get https://cluster-host.com/query \
--header "Authorization: Bearer DATABASE_TOKEN" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM home"
替换以下配置值:
使用用户名和密码进行身份验证
如果使用基本认证或查询字符串认证(用户名和密码)与v1 HTTP查询API交互,请提供以下凭据:
- username: 一个任意字符串 (InfluxDB Clustered 忽略用户名)
- 密码: 一个 数据库令牌,具有对指定数据库的 读取 权限。
curl --get https://cluster-host.com/query \
--header "Authorization: Basic ignored:DATABASE_TOKEN" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM home"
curl --get https://cluster-host.com/query \
--data-urlencode "u=ignored" \
--data-urlencode "p=DATABASE_TOKEN" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM home"
以JSON或CSV格式返回结果
默认情况下,/query 端点返回的结果为 JSON,但它也可以返回 CSV 格式的结果。要将结果作为 CSV 返回,请包含 Accept 头,并使用 application/csv 或 text/csv MIME 类型:
curl --get https://cluster-host.com/query \
--header "Authorization: Token DATABASE_TOKEN" \
--header "Accept: application/csv" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM home"