用于 PUBACK 和 PUBLISH 的 aws iot MQTT 计量详细信息

aws iot MQTT metering details for PUBACK & PUBLISH

为了了解 AWS IOT 计量详细信息,我参考了以下内容 link

AWS IoT Core 附加计量详细信息 [https://aws.amazon.com/iot-core/pricing/additional-details/#Messaging]

问题 1:PUBACK

MQTT PUBACK(从设备接收)按单个 5 KB 消息计量

MQTT PUBACK(由服务发送)从计量中排除

请您解释一下以上两者的区别? 据我了解,只有当 device/client 发布到 QOS = 1 的主题时,PUBACK 才会从 AWS 代理发送到设备/客户端。所以这应该是 由服务 发送的,对吗?那么从设备收到的PUBACK是什么?设备何时发送 PUBACK ?请解释这两种情况的通信流程。

第 2 期:发布

MQTT PUBLISH(从设备接收)根据负载和主题的大小(以字节为单位)计量

MQTT PUBLISH(由服务发送)根据负载和主题的大小(以字节为单位)计量

根据我的理解,Client/device 将消息发布到代理,即 从设备 收到。那么服务发送的PUBLISH 是什么?请您解释这两种情况的通信流程?

PUBLISH 消息可以向两个方向之一发送

  • 从客户端到服务器,或者
  • 从服务器到客户端。

如果客户端订阅了一个主题并且收到了关于匹配主题的消息,就会出现服务器到客户端的情况。在这种情况下,代理(服务器)使用 PUBLISH 消息向客户端发送消息。

详情

让我们在这里澄清一下术语 - PUBACK 和 PUBLISH 指的是 MQTT 消息类型。

一条 PUBLISH 消息(来自 http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718037)是(我强调的):

A PUBLISH Control Packet is sent from a Client to a Server or from Server to a Client to transport an Application Message.

PUBACK 消息(来自 http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718043)是:

A PUBACK Packet is the response to a PUBLISH Packet with QoS level 1.

PUBLISH 消息可以由设备发送到代理由代理发送到设备。如果使用 QoS,则接收方发回 PUBACK。

Request you to explain the difference between the above two? As I understood PUBACK sent from AWS broker to device/ client only when device/client publishes to a topic with QOS = 1. So this should be sent by service is it correct? then what is PUBACK received from device? when the device sends PUBACK ?

两种情况都假设 QoS 1:

MQTT PUBACK (sent by service) 在设备发布到代理之后发生。代理将 PUBACK 发送回设备。

MQTT PUBACK (received from device) 就是上面描述的情况:设备订阅了一个主题,代理收到了关于该主题的消息,代理将消息发布到设备。设备发送 PUBACK 响应给代理。

Then what is PUBLISH sent by service ?

这个和上面的情况是一样的。代理(服务)在订阅相关主题后正在向设备发送消息。