用于 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 ?
这个和上面的情况是一样的。代理(服务)在订阅相关主题后正在向设备发送消息。
为了了解 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 ?
这个和上面的情况是一样的。代理(服务)在订阅相关主题后正在向设备发送消息。