<!-- review: finished -->

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

# MQTT Preread

Permite extrair IDs de cliente e nomes de usuário
de pacotes `CONNECT` para Message Queuing Telemetry Transport (MQTT)
versões
[3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718028)
e
[5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901033).

Ao [compilar a partir do código-fonte](https://pt.angie.software//angie/docs/installation/sourcebuild.md#sourcebuild),
o módulo deve ser habilitado com o [parâmetro de compilação](https://pt.angie.software//angie/docs/installation/sourcebuild.md#configure)
`--with-stream_mqtt_preread_module`.
Em pacotes e imagens dos
[nossos repositórios](https://pt.angie.software//angie/docs/installation/index.md#install-packages),
o módulo está incluído na compilação.

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

## Exemplo de Configuração

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

### Escolhendo um servidor em um grupo por ID do cliente:

```nginx
stream {

    mqtt_preread on;

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

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

## Diretivas

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

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

### mqtt_preread

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `mqtt_preread` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|--------------------------------|
| Padrão                                                                                    | `mqtt_preread off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                 |

Controla a extração de informações de pacotes `CONNECT`
durante a
[fase de preread](https://pt.angie.software//angie/docs/configuration/processing.md#stream-sessions).
Se o parâmetro estiver habilitado (`on`),
as variáveis listadas abaixo são preenchidas
no contexto onde é especificado.

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

## Variáveis Integradas

Para descrição detalhada da semântica dos valores,
consulte as especificações do protocolo MQTT versões
[3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718031)
e [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 do cliente.

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

### `$mqtt_preread_username`

Nome de usuário opcional.
