docs: add a string value quote example

This commit is contained in:
Zaiming (Stone) Shi 2022-09-24 23:52:14 +02:00
parent 00e4b4da5a
commit cf76267155
2 changed files with 25 additions and 3 deletions

View File

@ -143,7 +143,19 @@ to even set complex values from environment variables.
For example, this environment variable sets an array value.
```
export EMQX_LISTENERS__SSL__L1__AUTHENTICATION__SSL__CIPHERS="[\"TLS_AES_256_GCM_SHA384\"]"
export EMQX_LISTENERS__SSL__L1__AUTHENTICATION__SSL__CIPHERS='["TLS_AES_256_GCM_SHA384"]'
```
However this also means a string value should be quoted if it happen to contain special
characters such as `=` and `:`.
For example, a string value `"localhost:1883"` would be
parsed into object (struct): `{"localhost": 1883}`.
To keep it as a string, one should quote the value like below:
```
EMQX_BRIDGES__MQTT__MYBRIDGE__CONNECTOR_SERVER='"localhost:1883"'
```
::: tip Tip

View File

@ -127,14 +127,24 @@ authentication.1.enable = true
例如 `node.name` 的重载变量名是 `EMQX_NODE__NAME`
环境变量的值,是解析成HOCON值的。所以这也使得环境变量可以用来传递复杂数据类型的值。
环境变量的值,是按 HOCON 值解析的,这也使得环境变量可以用来传递复杂数据类型的值。
例如,下面这个环境变量传入一个数组类型的值。
```
export EMQX_LISTENERS__SSL__L1__AUTHENTICATION__SSL__CIPHERS="[\"TLS_AES_256_GCM_SHA384\"]"
export EMQX_LISTENERS__SSL__L1__AUTHENTICATION__SSL__CIPHERS='["TLS_AES_256_GCM_SHA384"]'
```
这也意味着有些带特殊字符(例如`:` 和 `=`),则需要用双引号对这个值包起来。
例如`localhost:1883` 会被解析成一个结构体 `{"localhost": 1883}`
想要把它当字符串使用时,就必需使用引号,如下:
```
EMQX_BRIDGES__MQTT__MYBRIDGE__CONNECTOR_SERVER='"localhost:1883"'
```
::: tip Tip
未定义的根路径会被EMQX忽略例如 `EMQX_UNKNOWN_ROOT__FOOBAR` 这个环境变量会被EMQX忽略
因为 `UNKNOWN_ROOT` 不是预先定义好的根路径。