Merge pull request #10355 from lafirest/fix/auto_sub_doc

chore: update README for auto subscribe
This commit is contained in:
lafirest 2023-04-12 15:47:58 +08:00 committed by GitHub
commit a49eea5838
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 51 additions and 6 deletions

View File

@ -1,9 +1,54 @@
emqx_auto_subscribe # Auto Subscribe
=====
An OTP application This application can help clients automatically subscribe to topics compiled from user definitions when they connect, and the clients no longer need to send the MQTT `SUBSCRIBE ` request.
Build # How To Use
-----
$ rebar3 compile Add the following configuration items to the `emqx.conf` file
```yaml
auto_subscribe {
topics = [
{
topic = "c/${clientid}"
},
{
topic = "client/${clientid}/username/${username}/host/${host}/port/${port}"
qos = 1
rh = 0
rap = 0
nl = 0
}
]
}
```
This example defines two templates, all of which will be compiled into the final topic by replacing placeholders like `${clientid}` `${port}` with the actual values when the client connects.
# Configuration
## Configuration Definition
| Field | Definition | Value Range | Default |
| -------------- | ----------------------------- | ----------------------------------------------------------- | ------- |
| auto_subscribe | Auto subscribe configuration | topics | topics |
| topics | Subscription Options | Subscription configurations list. See `Subscription Option` | [] |
## Subscription Option
| Field | Definition | Value Range | Default |
|-------|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|------------------|
| topic | Required. Topic template. | String, placeholders supported | No default value |
| qos | Optional. Subscription QoS | 0 or 1 or 2. Refer to the MQTT QoS definition | 0 |
| rh | Optional. MQTT version 5.0. Whether to send retain message when a subscription is created. | 0: Not send the retain message </br>1: Send the retain message | 0 |
| rap | Optional. MQTT version 5.0. When forwarding messages, Whether to send with retain flag | 0: Set retain 0</br>1: Keep retain flag | 0 |
| nl | Optional. MQTT version 5.0. Whether the message can be forwarded to the client when published by itself | 0: Forwarded to self</br>1: Not forwarded to self | 0 |
## Subscription Placeholders
| Placeholder | Definition |
| ----------- | -------------------------------------- |
| ${clientid} | Client ID |
| ${username} | Client Username |
| ${ip} | Client TCP connection local IP address |
| ${port} | Client TCP connection local Port |