文档文档

mqtt.to() 函数

mqtt.to() 是实验性的,并且随时可能更改

仅在 InfluxDB Cloud (TSM) 中受支持

experimental/mqtt 包仅在 InfluxDB Cloud (TSM) 中受支持。它仍然可以在 InfluxDB OSS 和 Enterprise 中导入,但函数将无法成功发布到 MQTT broker。 exclude_from: nightly: true oss: ^* enterprise: ^*

mqtt.to() 使用 MQTT 协议将表流中的数据输出到 MQTT broker。

函数类型签名
(
    <-tables: stream[A],
    broker: string,
    ?clientid: string,
    ?name: string,
    ?password: string,
    ?qos: int,
    ?retain: bool,
    ?tagColumns: [string],
    ?timeColumn: string,
    ?timeout: duration,
    ?topic: string,
    ?username: string,
    ?valueColumns: [string],
) => stream[B] where A: Record, B: Record

有关更多信息,请参阅函数类型签名

参数

broker

(必需) MQTT broker 连接字符串。

topic

要将数据发送到的 MQTT 主题。

qos

MQTT 服务质量 (QoS) 级别。值范围为 [0-2]。默认为 0

retain

MQTT retain 标志。默认为 false

clientid

MQTT 客户端 ID。

username

发送到 MQTT broker 的用户名。

仅当 broker 需要身份验证时才需要用户名。如果您提供用户名,则必须提供密码。

password

发送到 MQTT broker 的密码。仅当 broker 需要身份验证时才需要密码。如果您提供密码,则必须提供用户名。

name

MQTT 消息的名称。

timeout

MQTT 连接超时。默认为 1s

timeColumn

在输出行协议中用作时间值的列。默认为 "_time"

tagColumns

在输出行协议中用作标签集的列。默认为 []

valueColumns

在输出行协议中用作字段值的列。默认为 ["_value"]

tables

输入数据。默认为管道转发数据 (<-)。

示例

发送数据到 MQTT broker

import "experimental/mqtt"
import "sampledata"

sampledata.float()
    |> mqtt.to(
        broker: "tcp://localhost:8883",
        topic: "example-topic",
        clientid: r.id,
        tagColumns: ["id"],
        valueColumns: ["_value"],
    )

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速、近实时数据引擎,可以实时收集和处理数据,并将其持久化到本地磁盘或对象存储。InfluxDB 3 企业版建立在 Core 的基础上,增加了高可用性、读取副本、增强的安全性以及数据压缩,以实现更快的查询和优化的存储。InfluxDB 3 企业版提供免费层级,供非商业家庭或业余爱好者使用。

有关更多信息,请查看