<!-- review: finished -->

<a id="stream-mqtt-preread"></a>

# MQTT Preread

Permite extraer identificadores de cliente y nombres de usuario
de los paquetes `CONNECT` para Message Queuing Telemetry Transport (MQTT)
versiones
[3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718028)
y
[5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901033).

Al [compilar desde el código fuente](https://es.angie.software//angie/docs/installation/sourcebuild.md#sourcebuild),
el módulo debe habilitarse con el [parámetro de compilación](https://es.angie.software//angie/docs/installation/sourcebuild.md#configure)
`--with-stream_mqtt_preread_module`.
En paquetes e imágenes de
[nuestros repositorios](https://es.angie.software//angie/docs/installation/index.md#install-packages),
el módulo está incluido en la compilación.

<a id="configuration-example-63"></a>

## Ejemplo de configuración

<a id="choosing-a-server-in-a-group-by-client-id"></a>

### Elegir un servidor en un grupo por ID de cliente:

```nginx
stream {

    mqtt_preread on;

    upstream mqtt {
        hash $mqtt_preread_clientid;
        # ...
    }
}
```

<a id="directives-72"></a>

## Directivas

<a id="index-0"></a>

<a id="s-mqtt-preread"></a>

### mqtt_preread

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `mqtt_preread` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|--------------------------------|
| Predeterminado                                                                             | `mqtt_preread off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | stream, server                 |

Controla la extracción de información de los paquetes `CONNECT`
durante la
[fase de prelectura](https://es.angie.software//angie/docs/configuration/processing.md#stream-sessions).
Si el parámetro está habilitado (`on`),
las variables listadas a continuación se rellenan
en el contexto donde se especifica.

<a id="built-in-variables-20"></a>

## Variables integradas

Para una descripción detallada de la semántica de los valores,
consulte la especificación del protocolo MQTT versiones
[3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718031)
y [5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901033).

<a id="v-mqtt-preread-clientid"></a>

### `$mqtt_preread_clientid`

Identificador único de cliente.

<a id="v-mqtt-preread-username"></a>

### `$mqtt_preread_username`

Nombre de usuario opcional.
