将 InfluxDB v2 API 与 InfluxDB Clustered 结合使用
将 InfluxDB v2 API /api/v2/write
端点用于新的写入工作负载以及您带到 InfluxDB Clustered 的现有 v2 写入工作负载。 了解如何验证请求、调整现有 v2 工作负载的请求参数,以及查找兼容的工具来写入和查询存储在 InfluxDB Clustered 数据库中的数据。
如需帮助为您的具体情况找到最佳工作流程,请联系支持团队。
验证 API 请求
InfluxDB API 端点要求每个请求都使用数据库令牌进行身份验证。
使用令牌进行身份验证
使用 Authorization: Bearer
方案或 Authorization: Token
方案传递具有执行操作所需权限的数据库令牌。
Bearer
和 Token
在 InfluxDB Clustered 中是等效的。 Token
方案在 InfluxDB 2.x API 中使用。 Bearer
由 OAuth 2.0 框架定义。 对其中一个或另一个的支持可能因 InfluxDB API 客户端而异。
语法
Authorization: Bearer DATABASE_TOKEN
Authorization: Token DATABASE_TOKEN
示例
使用 Bearer
验证写入请求
替换以下内容
响应
InfluxDB API 响应使用标准 HTTP 状态代码。 对于成功的写入,InfluxDB 响应 204 No Content
状态代码。 错误响应包含一个 JSON 对象,其中包含描述错误的 code
和 message
属性。 跨 InfluxDB Clustered v1 API、v2 API、InfluxDB Cloud 和 InfluxDB OSS,响应正文消息可能有所不同。
错误示例
缺少 bucket 值
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 Clustered v2 API /api/v2/write
请求,请按照下表列出的参数进行设置
参数 | 允许在 | 已忽略 | 值 |
---|---|---|---|
org | 查询字符串 | 已忽略 | 非零长度字符串(已忽略,但不能为空) |
orgID | 查询字符串 | 已忽略 | 不适用 |
bucket * | 查询字符串 | 已接受 | 数据库名称 |
precision | 查询字符串 | 已接受 | 时间戳精度 |
接受 | 标头 | 已接受 | 用户定义 |
Authorization * | 标头 | 已接受 | Bearer DATABASE_TOKEN 或 Token DATABASE_TOKEN |
Content-Encoding | 标头 | 已接受 | gzip (压缩数据)或 identity (未压缩) |
Content-Length | 标头 | 已接受 | 用户定义 |
Content-Type | 标头 | 已忽略 | 不适用(仅支持 Line Protocol) |
Zap-Trace-Span | 标头 | 已忽略 |
时间戳精度
在 v2 API /api/v2/write
请求中使用以下 precision
值之一
ns
:纳秒us
:微秒ms
:毫秒s
:秒m
:分钟h
:小时
用于写入 v2 API 的工具
以下工具可与 InfluxDB Clustered /api/v2/write
端点配合使用
Telegraf
请参阅如何配置 Telegraf 以写入 InfluxDB Clustered。
交互式客户端
要交互式测试 InfluxDB v2 API 写入,请使用 influx3
数据 CLI 或常见的 HTTP 客户端(例如 cURL 和 Postman)。
要设置并开始使用交互式客户端,请参阅开始使用教程。
不支持 influx CLI
请勿将 influx
CLI 与 InfluxDB Clustered 一起使用。 虽然它可能碰巧可以工作,但官方不支持。
客户端库
InfluxDB v3 客户端库和v2 客户端库可以将数据写入 InfluxDB v2 API /api/v2/write
端点。 客户端库是特定于语言的软件包,可将 InfluxDB API 与您的应用程序集成。
要设置并开始使用客户端库,请参阅开始使用教程。
查询数据
InfluxDB Clustered 提供以下协议来执行查询
- 包含 SQL 或 InfluxQL 查询的 Flight+gRPC 请求。 要了解如何使用 Flight 和 SQL 查询 InfluxDB Clustered,请参阅开始使用教程。
- 包含 InfluxQL 查询的 InfluxDB v1 API
/query
请求。
用于执行查询的工具
InfluxDB Clustered 支持许多不同的工具来查询数据,包括
不支持 /api/v2/query
InfluxDB API /api/v2/query
端点无法查询 InfluxDB 集群。 InfluxDB Clustered 中不支持 /api/v2/query
API 端点以及关联的工具,例如 influx
CLI 和 InfluxDB v2 客户端库。
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子! 我们欢迎并鼓励您提供关于 InfluxDB Clustered 和本文档的反馈和错误报告。 如需查找支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持团队。