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
posta un anno fa284 visualizzazioni
2 Risposte
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
ESPERTO
con risposta un anno fa
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
con risposta un anno fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande