使用InfluxDB v2 API与InfluxDB集群
使用InfluxDB v2 API /api/v2/write
端点进行新的写入工作负载以及将现有v2写入工作负载带到InfluxDB集群。了解如何对请求进行身份验证,调整现有v2工作负载的请求参数,以及找到兼容的工具,用于写入和查询存储在InfluxDB集群数据库中的数据。
如需找到最适合您情况的最佳工作流程,请联系支持。
验证API请求
InfluxDB API端点要求每个请求都使用数据库令牌进行身份验证。
使用令牌进行验证
使用Authorization: Bearer
方案或Authorization: Token
方案传递具有执行操作所需权限的数据库令牌。
Bearer
和Token
在InfluxDB集群中是等价的。在InfluxDB 2.x API中使用Token
方案。Bearer
由OAuth 2.0框架定义。不同InfluxDB API客户端可能支持其中之一或另一个。
语法
Authorization: Bearer DATABASE_TOKEN
Authorization: Token DATABASE_TOKEN
示例
使用Bearer
对写入请求进行身份验证
替换以下内容
DATABASE_NAME
:您的InfluxDB集群数据库DATABASE_TOKEN
:具有足够权限访问指定数据库的数据库令牌
响应
InfluxDB API响应使用标准的HTTP状态码。对于成功的写入,InfluxDB以204 No Content
状态码响应。错误响应包含一个包含描述错误的code
和message
属性的JSON对象。响应体消息可能因InfluxDB集群v1 API、v2 API、InfluxDB Cloud和InfluxDB OSS而异。
错误示例
缺少桶值
400 Bad Request
{ "code": "invalid", "message":"missing bucket value" }
请求中缺少
?bucket=
参数值。提供数据库名称。反序列化org/bucket/precision失败
400 Bad Request
{ "code":"invalid", "message":"failed to deserialize org/bucket/precision in request: unknown variant `u`, expected one of `s`, `ms`, `us`, `ns`" }
?precision=
参数包含未知值。提供时间戳精度。
写入数据
我们建议使用 InfluxDB v2 API 的 /api/v2/write
端点进行新的写入负载以及现有的 v2 负载。
POST https://cluster-host.com/api/v2/write
/api/v2/write参数
对于 InfluxDB 集群版 v2 API 的 /api/v2/write
请求,设置参数如下表所示
参数 | 允许使用于 | 忽略 | 值 |
---|---|---|---|
org | 查询字符串 | 忽略 | 非零长度的字符串(忽略,但不能为空) |
orgID | 查询字符串 | 忽略 | 不适用 |
bucket * | 查询字符串 | 尊重 | 数据库名 |
精度 | 查询字符串 | 尊重 | 时间戳精度 |
接受 | 头 | 尊重 | 用户定义 |
Authorization * | 头 | 尊重 | Bearer DATABASE_TOKEN 或 Token DATABASE_TOKEN |
内容编码 | 头 | 尊重 | gzip (压缩数据)或 identity (未压缩) |
内容长度 | 头 | 尊重 | 用户定义 |
内容类型 | 头 | 忽略 | 不适用(仅支持行协议) |
Zap-Trace-Span | 头 | 忽略 |
时间戳精度
在 v2 API 的 /api/v2/write
请求中使用以下任一 精度
值
ns
: 纳秒us
: 微秒ms
: 毫秒s
: 秒m
: 分钟h
: 小时
写入v2 API的工具
以下工具与 InfluxDB 集群 /api/v2/write
端点配合使用
Telegraf
了解如何配置 Telegraf 以写入 InfluxDB 集群。
交互式客户端
要交互式测试 InfluxDB v2 API 写入,请使用 influx3
数据 CLI 或 cURL 和 Postman 等常见的 HTTP 客户端。
要设置和使用交互式客户端,请参阅 入门 教程。
influx CLI不受支持
不要使用 influx
CLI 与 InfluxDB 集群一起使用。虽然它可能偶然工作,但不是官方支持。
客户端库
InfluxDB v3 客户端库 和 v2 客户端库 可将数据写入 InfluxDB v2 API 的 /api/v2/write
端点。客户端库是特定于语言的包,它将 InfluxDB API 与您的应用程序集成。
要设置和使用客户端库,请参阅 入门 教程。
查询数据
InfluxDB 集群提供以下协议来执行查询
- Flight+gRPC 请求,其中包含 SQL 或 InfluxQL 查询。要了解如何使用 Flight 和 SQL 查询 InfluxDB 集群,请参阅 入门 教程。
- 包含 InfluxQL 查询的 InfluxDB v1 API
/query
请求。
执行查询的工具
InfluxDB 集群支持许多不同的查询数据工具,包括
/api/v2/query不受支持
InfluxDB API 的 /api/v2/query
端点无法查询 InfluxDB 集群。在 InfluxDB 集群中,/api/v2/query
API 端点和相关的工具(如 influx
CLI 和 InfluxDB v2 客户端库)**不受** 支持。
这个页面有帮助吗?
感谢您的反馈!