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
gefragt vor einem Jahr284 Aufrufe
2 Antworten
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
EXPERTE
beantwortet vor einem Jahr
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
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen