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
asked a year ago271 views
2 Answers
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
EXPERT
answered a year ago
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
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions