Is IoT Greengrass core QoS 2

0

When I use awscrt.mqtt.Connection to Greengrass Moquette component:

future, id = connection.publish(topic, message, QoS.EXACTLY_ONCE)
future.result()

return ValueError in both IoT Core and Greengrass core cases:

File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 428, in result
return self.__get_result()
File "/usr/lib64/python3.7/concurrent/futures/_base.py", line 384, in __get_result
raise self._exception
File "/home/ec2-user/.local/lib/python3.7/site-packages/awscrt/mqtt.py", line 700, in publish
packet_id = _awscrt.mqtt_client_connection_publish(self._binding, topic, payload, qos.value, retain, puback)
ValueError

Is IoT Greengrass core support QoS 2?

Andrey
已提問 1 年前檢視次數 284 次
2 個答案
0

Hi,

AWS IoT Greengrass uses AWS IoT Core as MQTT backend and AWS IoT Core does not support QoS2. QoS1 gives the same reliability as QoS2 and the "only once" semantics of QoS2 can be achieved through other means, such as idempotency.

Cheers,

Massimiliano

AWS
專家
已回答 1 年前
0

Are you looking for QoS2 from a Client Device to the Greengrass Core via the local broker, or for communication to AWS IoT Core in the cloud? If the latter, @Massimiliano's answer is valid. If the intent is to use a local MQTT broker, both Moquette or EMQX support QoS2 within the local MQTT domain (but not to the cloud).

If you can provide more detail on what the message flow is, we can provide more specific details.

AWS
Gavin_A
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南