

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Courtier MQTT 3.1.1 (Moquette)
<a name="mqtt-broker-moquette-component"></a>

Le composant Moquette MQTT broker (`aws.greengrass.clientdevices.mqtt.Moquette`) gère les messages MQTT entre les appareils clients et un appareil principal Greengrass. Ce composant fournit une version modifiée du broker [ Moquette MQTT. ](https://github.com/moquette-io/moquette) Déployez ce courtier MQTT pour exécuter un courtier MQTT léger. Pour plus d'informations sur le choix d'un courtier MQTT, consultez[Choisissez un courtier MQTT](choose-local-mqtt-broker.md).

Ce broker implémente le protocole MQTT 3.1.1. Il inclut la prise en charge des messages conservés QoS 0, QoS 1, QoS 2, des messages de dernière volonté et des sessions persistantes.

**Note**  <a name="client-device-component-context"></a>
Les appareils clients sont des appareils IoT locaux qui se connectent à un appareil central Greengrass pour envoyer des messages MQTT et des données à traiter. Pour de plus amples informations, veuillez consulter [Interagissez avec les appareils IoT locaux](interact-with-local-iot-devices.md).

**Topics**
+ [Versions](#mqtt-broker-moquette-component-versions)
+ [Type](#mqtt-broker-moquette-component-type)
+ [Système d’exploitation](#mqtt-broker-moquette-component-os-support)
+ [Exigences](#mqtt-broker-moquette-component-requirements)
+ [Dépendances](#mqtt-broker-moquette-component-dependencies)
+ [Configuration](#mqtt-broker-moquette-component-configuration)
+ [Fichier journal local](#mqtt-broker-moquette-component-log-file)
+ [Journal des modifications](#mqtt-broker-moquette-component-changelog)

## Versions
<a name="mqtt-broker-moquette-component-versions"></a>

Les versions de ce composant sont les suivantes :
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Type
<a name="mqtt-broker-moquette-component-type"></a>

<a name="public-component-type-plugin-para1"></a>Ce composant est un composant de plug-in (`aws.greengrass.plugin`). Le noyau [ Greengrass ](greengrass-nucleus-component.md) exécute ce composant dans la même machine virtuelle Java (JVM) que le noyau. Le noyau redémarre lorsque vous modifiez la version de ce composant sur le périphérique principal.

<a name="public-component-type-plugin-para2"></a>Ce composant utilise le même fichier journal que le noyau Greengrass. Pour de plus amples informations, veuillez consulter [AWS IoT Greengrass Journaux de surveillance](monitor-logs.md).

<a name="public-component-type-more-information"></a>Pour de plus amples informations, veuillez consulter [Types de composant](develop-greengrass-components.md#component-types).

## Système d’exploitation
<a name="mqtt-broker-moquette-component-os-support"></a>

Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
+ Linux
+ Windows

## Exigences
<a name="mqtt-broker-moquette-component-requirements"></a>

Ce composant répond aux exigences suivantes :
+ Le périphérique principal doit être en mesure d'accepter des connexions sur le port sur lequel le courtier MQTT opère. Ce composant exécute le broker MQTT sur le port 8883 par défaut. Vous pouvez spécifier un port différent lorsque vous configurez ce composant.

  <a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Si vous spécifiez un port différent et que vous utilisez le composant de pont [ MQTT ](mqtt-bridge-component.md) pour relayer les messages MQTT à d'autres courtiers, vous devez utiliser le pont MQTT v2.1.0 ou version ultérieure. Configurez-le pour utiliser le port sur lequel le courtier MQTT opère.

  <a name="mqtt-broker-configuration-ip-detector-requirement"></a>Si vous spécifiez un port différent et que vous utilisez le composant de détection [ IP ](ip-detector-component.md) pour gérer les points de terminaison du courtier MQTT, vous devez utiliser le détecteur IP v2.1.0 ou version ultérieure. Configurez-le pour indiquer le port sur lequel le courtier MQTT opère.
+ Le composant de courtage Moquette MQTT est pris en charge pour fonctionner dans un VPC.

## Dépendances
<a name="mqtt-broker-moquette-component-dependencies"></a>

Lorsque vous déployez un composant, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les versions [ publiées ](#mqtt-broker-moquette-component-changelog) de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances pour chaque version du composant dans la [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass). Sur la page des détails des composants, recherchez la ** liste des ** dépendances.

------
#### [ 2.3.7 ]

Le tableau suivant répertorie les dépendances pour la version 2.3.7 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,2,0 < 2,6,0 | Stricte | 

------
#### [ 2.3.2 – 2.3.6 ]

Le tableau suivant répertorie les dépendances pour les versions 2.3.2 à 2.3.6 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,2,0 < 2,5,0 | Stricte | 

------
#### [ 2.3.0 and 2.3.1 ]

Le tableau suivant répertorie les dépendances pour les versions 2.3.0 et 2.3.1 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,2,0 < 2,4,0 | Stricte | 

------
#### [ 2.2.0 ]

Le tableau suivant répertorie les dépendances pour la version 2.2.0 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,2,0 < 2,3,0 | Stricte | 

------
#### [ 2.1.0 ]

Le tableau suivant répertorie les dépendances pour la version 2.1.0 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,0,0 < 2,2,0 | Stricte | 

------
#### [ 2.0.0 - 2.0.2 ]

Le tableau suivant répertorie les dépendances pour les versions 2.0.0 à 2.0.2 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Authentification de l'appareil client ](client-device-auth-component.md) | > = 2,0,0 < 2,1,0 | Stricte | 

------

Pour plus d'informations sur les dépendances des composants, consultez la référence des recettes des [ composants](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuration
<a name="mqtt-broker-moquette-component-configuration"></a>

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

`moquette`  
(Facultatif) La [ configuration du broker ](https://github.com/moquette-io/moquette) Moquette MQTT à utiliser. Vous pouvez configurer un sous-ensemble d'options de configuration Moqeutte dans ce composant. Pour plus d'informations, consultez les commentaires en ligne dans le fichier de configuration de [ Moquette. ](https://github.com/moquette-io/moquette/blob/main/distribution/src/main/resources/moquette.conf)  
Cet objet contient les informations suivantes :    
`ssl_port`  
(Facultatif) Port sur lequel le courtier MQTT opère.  
<a name="mqtt-broker-configuration-mqtt-bridge-requirement"></a>Si vous spécifiez un port différent et que vous utilisez le composant de pont [ MQTT ](mqtt-bridge-component.md) pour relayer les messages MQTT à d'autres courtiers, vous devez utiliser le pont MQTT v2.1.0 ou version ultérieure. Configurez-le pour utiliser le port sur lequel le courtier MQTT opère.  
<a name="mqtt-broker-configuration-ip-detector-requirement"></a>Si vous spécifiez un port différent et que vous utilisez le composant de détection [ IP ](ip-detector-component.md) pour gérer les points de terminaison du courtier MQTT, vous devez utiliser le détecteur IP v2.1.0 ou version ultérieure. Configurez-le pour indiquer le port sur lequel le courtier MQTT opère.
Valeur par défaut : `8883`  
`host`  
(Facultatif) L'interface à laquelle le courtier MQTT se lie. Par exemple, vous pouvez modifier ce paramètre afin que le courtier MQTT se lie uniquement à un réseau local spécifique.  
Par défaut : `0.0.0.0` (se lie à toutes les interfaces réseau)

démarrage TimeoutSeconds  
(Facultatif) Durée maximale en secondes pendant laquelle le composant démarre. L'état du composant passe à un `BROKEN` état supérieur à ce délai.  
Valeur par défaut : `120`

**Example Exemple : fusion de configuration et mise à jour**  
L'exemple de configuration suivant indique d'utiliser le broker MQTT sur le port 443.  

```
{
  "moquette": {
    "ssl_port": "443"
  }
}
```

## Fichier journal local
<a name="mqtt-broker-moquette-component-log-file"></a>

Ce composant utilise le même fichier journal que le [ composant ](greengrass-nucleus-component.md) Greengrass Nucleus.

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/greengrass.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\greengrass.log
```

------

**Pour afficher les journaux de ce composant**
+ Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez `{{/greengrass/v2}}` ou {{C:\\greengrass\\v2}} par le chemin du dossier AWS IoT Greengrass racine.

------
#### [ Linux ]

  ```
  sudo tail -f {{/greengrass/v2}}/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content {{C:\greengrass\v2}}\logs\greengrass.log -Tail 10 -Wait
  ```

------

## Journal des modifications
<a name="mqtt-broker-moquette-component-changelog"></a>

Le tableau suivant décrit les modifications apportées à chaque version du composant.


|  **Version**  |  **Modifications**  | 
| --- | --- | 
| 2.3.7 | Version mise à jour pour la [ version 2.5.0 d'authentification des appareils ](client-device-auth-component.md) clients. | 
| 2.3.6 |  **Corrections de bugs et améliorations**<br />   Correction et amélioration de bogues généraux     | 
| 2.3.5 |  **Corrections de bugs et améliorations**<br />   Mise à jour de Moquette vers la version 0.17.     | 
| 2.3.4 |  **Corrections de bugs et améliorations**<br />   Résout un problème où les clients peuvent rencontrer des erreurs de session non valides lors de l'envoi ou de la réception de messages, en raison d'ID client dupliqués. Ce problème a entraîné la fermeture de la session du client.     | 
| 2.3.3 |  <a name="changelog-mqtt-broker-moquette-2.3.3"></a>**Nouvelles fonctionnalités**<br /> Ajoute une nouvelle option `startupTimeoutSeconds` de configuration.   | 
| 2.3.2 | Version mise à jour pour la [ version 2.4.0 d'authentification des appareils ](client-device-auth-component.md) clients. | 
| 2.3.1 |  **Corrections de bugs et améliorations**<br />   Corrige une situation de concurrence dans laquelle les clients peuvent être déconnectés après avoir tenté de se reconnecter, en raison d'une session non valide.     | 
| 2.3.0 | Ajoute la prise en charge des chaînes de certificats. | 
| 2.2.0 | Version mise à jour pour la [ version 2.2.0 d'authentification des appareils ](client-device-auth-component.md) clients. | 
| 2.1.0 |  **Corrections de bugs et améliorations**<br />   Met à jour ce composant pour utiliser [ la version 0.16 de ](https://github.com/moquette-io/moquette) Moquette, qui améliore les performances et inclut plusieurs autres améliorations.   Résout un problème en raison duquel le certificat du serveur MQTT local change plus souvent que prévu dans certains scénarios. <br />Pour appliquer ce correctif, vous devez également utiliser la version 2.1.0 ou ultérieure du composant d'authentification de l'appareil [ client. ](client-device-auth-component.md)     | 
| 2.0.2 |  **Corrections de bugs et améliorations**<br />   Augmente la taille maximale des messages MQTT de 8 092 octets à 128 kilo-octets. La limite de charge utile effective des messages MQTT est légèrement inférieure, car la limite de taille des messages inclut les en-têtes des messages.   Ajoute la prise en charge des valeurs entières dans le `ssl_port` paramètre.     | 
| 2.0.1 | Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. | 
| 2.0.0 | Première version. | 