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 |