Merge pull request #9238 from zmstone/1026-fix-docs

docs: fix zh punctuations
This commit is contained in:
Zaiming (Stone) Shi 2022-10-27 10:39:22 +02:00 committed by GitHub
commit fd2a3f816e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 277 additions and 375 deletions

View File

@ -171,7 +171,7 @@ Once the limit is reached, the restricted client will be slow down even be hung
en: """The bytes_in limiter. en: """The bytes_in limiter.
This is used to limit the inbound bytes rate for this EMQX node. This is used to limit the inbound bytes rate for this EMQX node.
Once the limit is reached, the restricted client will be slow down even be hung for a while.""" Once the limit is reached, the restricted client will be slow down even be hung for a while."""
zh: """流入字节率控制器. zh: """流入字节率控制器
这个是用来控制当前节点上的数据流入的字节率,每条消息将会消耗和其二进制大小等量的令牌,当达到最大速率后,会话将会被限速甚至被强制挂起一小段时间""" 这个是用来控制当前节点上的数据流入的字节率,每条消息将会消耗和其二进制大小等量的令牌,当达到最大速率后,会话将会被限速甚至被强制挂起一小段时间"""
} }
label: { label: {

View File

@ -3,10 +3,10 @@ emqx_schema {
force_shutdown_enable { force_shutdown_enable {
desc { desc {
en: "Enable `force_shutdown` feature." en: "Enable `force_shutdown` feature."
zh: "启用 `force_shutdown` 功能" zh: "启用 `force_shutdown` 功能"
} }
label { label {
en: "Enable `force_shutdown` feature." en: "Enable `force_shutdown` feature"
zh: "启用 `force_shutdown` 功能" zh: "启用 `force_shutdown` 功能"
} }
} }
@ -14,7 +14,7 @@ emqx_schema {
force_shutdown_max_message_queue_len { force_shutdown_max_message_queue_len {
desc { desc {
en: "Maximum message queue length." en: "Maximum message queue length."
zh: "消息队列的最大长度" zh: "消息队列的最大长度"
} }
label { label {
en: "Maximum mailbox queue length of process." en: "Maximum mailbox queue length of process."
@ -25,7 +25,7 @@ emqx_schema {
force_shutdown_max_heap_size { force_shutdown_max_heap_size {
desc { desc {
en: "Total heap size" en: "Total heap size"
zh: "Heap 的总大小" zh: "Heap 的总大小"
} }
label { label {
en: "Total heap size" en: "Total heap size"
@ -35,8 +35,8 @@ emqx_schema {
overload_protection_enable { overload_protection_enable {
desc { desc {
en: "React on system overload or not" en: "React on system overload or not."
zh: "是否对系统过载做出反应" zh: "是否对系统过载做出反应"
} }
label { label {
en: "React on system overload or not" en: "React on system overload or not"
@ -46,9 +46,8 @@ emqx_schema {
overload_protection_backoff_delay { overload_protection_backoff_delay {
desc { desc {
en: "Some unimportant tasks could be delayed " en: "When at high load, some unimportant tasks could be delayed for execution, here set the duration in milliseconds precision."
"for execution, here set the delays in ms" zh: "高负载时,一些不重要的任务可能会延迟执行,在这里设置允许延迟的时间。单位为毫秒。"
zh: "一些不重要的任务可能会延迟执行,以毫秒为单位设置延迟"
} }
label { label {
en: "Delay Time" en: "Delay Time"
@ -58,8 +57,8 @@ emqx_schema {
overload_protection_backoff_gc { overload_protection_backoff_gc {
desc { desc {
en: "Skip forceful GC if necessary" en: "When at high load, skip forceful GC."
zh: "如有必要跳过强制GC" zh: "高负载时,跳过强制 GC。"
} }
label { label {
en: "Skip GC" en: "Skip GC"
@ -69,8 +68,8 @@ emqx_schema {
overload_protection_backoff_hibernation { overload_protection_backoff_hibernation {
desc { desc {
en: "Skip process hibernation if necessary" en: "When at high load, skip process hibernation."
zh: "如有必要,跳过进程休眠" zh: "高负载时,跳过进程休眠。"
} }
label { label {
en: "Skip hibernation" en: "Skip hibernation"
@ -80,8 +79,8 @@ emqx_schema {
overload_protection_backoff_new_conn { overload_protection_backoff_new_conn {
desc { desc {
en: "Close new incoming connections if necessary" en: "When at high load, close new incoming connections."
zh: "如有必要,关闭新进来的连接" zh: "高负载时,拒绝新进来的客户端连接。"
} }
label { label {
en: "Close new connections" en: "Close new connections"
@ -92,7 +91,7 @@ emqx_schema {
conn_congestion_enable_alarm { conn_congestion_enable_alarm {
desc { desc {
en: "Enable or disable connection congestion alarm." en: "Enable or disable connection congestion alarm."
zh: "启用或者禁用连接阻塞告警功能" zh: "启用或者禁用连接阻塞告警功能"
} }
label { label {
en: "Enable/disable congestion alarm" en: "Enable/disable congestion alarm"
@ -102,14 +101,14 @@ emqx_schema {
conn_congestion_min_alarm_sustain_duration { conn_congestion_min_alarm_sustain_duration {
desc { desc {
en: "Minimal time before clearing the alarm.\n\n" en: "Minimal time before clearing the alarm.<br/>"
"The alarm is cleared only when there's no pending data in\n" "The alarm is cleared only when there's no pending data in<br/>"
"the queue, and at least `min_alarm_sustain_duration`\n" "the queue, and at least <code>min_alarm_sustain_duration</code>"
"milliseconds passed since the last time we considered the connection \"congested\".\n\n" "milliseconds passed since the last time we considered the connection 'congested'.<br/>"
"This is to avoid clearing and raising the alarm again too often." "This is to avoid clearing and raising the alarm again too often."
zh: "清除警报前的最短时间。\n\n" zh: "清除警报前的最短时间。<br/>"
"只有当队列中没有挂起的数据,并且连接至少被堵塞了 \"min_alarm_sustain_duration\" 毫秒时,\n" "只有当队列中没有挂起的数据,并且连接至少被堵塞了 <code>min_alarm_sustain_duration</code> 毫秒时,</br>"
"报警才会被清除。这是为了避免太频繁地清除和再次发出警报." "报警才会被清除。这是为了避免太频繁地清除和再次发出警报"
} }
label { label {
en: "Sustain duration" en: "Sustain duration"
@ -120,10 +119,10 @@ emqx_schema {
force_gc_enable { force_gc_enable {
desc { desc {
en: "Enable forced garbage collection." en: "Enable forced garbage collection."
zh: "启用强制垃圾回收" zh: "启用强制垃圾回收"
} }
label { label {
en: "Enable forced garbage collection." en: "Enable forced garbage collection"
zh: "启用强制垃圾回收" zh: "启用强制垃圾回收"
} }
} }
@ -131,7 +130,7 @@ emqx_schema {
force_gc_count { force_gc_count {
desc { desc {
en: "GC the process after this many received messages." en: "GC the process after this many received messages."
zh: "在进程收到多少消息之后,对此进程执行垃圾回收" zh: "在进程收到多少消息之后,对此进程执行垃圾回收"
} }
label { label {
en: "Process GC messages num" en: "Process GC messages num"
@ -142,7 +141,7 @@ emqx_schema {
force_gc_bytes { force_gc_bytes {
desc { desc {
en: "GC the process after specified number of bytes have passed through." en: "GC the process after specified number of bytes have passed through."
zh: "在进程处理过多少个字节之后,对此进程执行垃圾回收" zh: "在进程处理过多少个字节之后,对此进程执行垃圾回收"
} }
label { label {
en: "Process GC bytes" en: "Process GC bytes"
@ -190,7 +189,7 @@ emqx_schema {
sysmon_vm_long_gc { sysmon_vm_long_gc {
desc { desc {
en: "Enable Long GC monitoring." en: "Enable Long GC monitoring."
zh: "启用长垃圾回收监控" zh: "启用长垃圾回收监控"
} }
label { label {
en: "Enable Long GC monitoring." en: "Enable Long GC monitoring."
@ -201,7 +200,7 @@ emqx_schema {
sysmon_vm_long_schedule { sysmon_vm_long_schedule {
desc { desc {
en: "Enable Long Schedule monitoring." en: "Enable Long Schedule monitoring."
zh: "启用长调度监控" zh: "启用长调度监控"
} }
label { label {
en: "Enable Long Schedule monitoring." en: "Enable Long Schedule monitoring."
@ -212,7 +211,7 @@ emqx_schema {
sysmon_vm_large_heap { sysmon_vm_large_heap {
desc { desc {
en: "Enable Large Heap monitoring." en: "Enable Large Heap monitoring."
zh: "启用大 heap 监控" zh: "启用大 heap 监控"
} }
label { label {
en: "Enable Large Heap monitoring." en: "Enable Large Heap monitoring."
@ -223,7 +222,7 @@ emqx_schema {
sysmon_vm_busy_dist_port { sysmon_vm_busy_dist_port {
desc { desc {
en: "Enable Busy Distribution Port monitoring." en: "Enable Busy Distribution Port monitoring."
zh: "启用分布式端口过忙监控" zh: "启用分布式端口过忙监控"
} }
label { label {
en: "Enable Busy Distribution Port monitoring." en: "Enable Busy Distribution Port monitoring."
@ -234,7 +233,7 @@ emqx_schema {
sysmon_vm_busy_port { sysmon_vm_busy_port {
desc { desc {
en: "Enable Busy Port monitoring." en: "Enable Busy Port monitoring."
zh: "启用端口过忙监控" zh: "启用端口过忙监控"
} }
label { label {
en: "Enable Busy Port monitoring." en: "Enable Busy Port monitoring."
@ -316,7 +315,7 @@ emqx_schema {
sysmon_top_num_items { sysmon_top_num_items {
desc { desc {
en: "The number of top processes per monitoring group" en: "The number of top processes per monitoring group"
zh: "每个监视组的顶级进程数" zh: "每个监视组的顶级进程数"
} }
label { label {
en: "Top num items" en: "Top num items"
@ -327,7 +326,7 @@ emqx_schema {
sysmon_top_sample_interval { sysmon_top_sample_interval {
desc { desc {
en: "Specifies how often process top should be collected" en: "Specifies how often process top should be collected"
zh: "指定应收集进程顶部的频率" zh: "指定应收集进程顶部的频率"
} }
label { label {
en: "Top sample interval" en: "Top sample interval"
@ -339,7 +338,7 @@ emqx_schema {
desc { desc {
en: "Stop collecting data when the number of processes\n" en: "Stop collecting data when the number of processes\n"
"in the VM exceeds this value" "in the VM exceeds this value"
zh: "当VM中的进程数超过此值时停止收集数据" zh: "当 VM 中的进程数超过此值时,停止收集数据"
} }
label { label {
en: "Max procs" en: "Max procs"
@ -350,7 +349,7 @@ emqx_schema {
sysmon_top_db_hostname { sysmon_top_db_hostname {
desc { desc {
en: "Hostname of the PostgreSQL database that collects the data points" en: "Hostname of the PostgreSQL database that collects the data points"
zh: "收集数据点的 PostgreSQL 数据库的主机名" zh: "收集数据点的 PostgreSQL 数据库的主机名"
} }
label { label {
en: "DB Hostname" en: "DB Hostname"
@ -360,8 +359,8 @@ emqx_schema {
sysmon_top_db_port { sysmon_top_db_port {
desc { desc {
en: "Port of the PostgreSQL database that collects the data points" en: "Port of the PostgreSQL database that collects the data points."
zh: "收集数据点的 PostgreSQL 数据库的端口" zh: "收集数据点的 PostgreSQL 数据库的端口"
} }
label { label {
en: "DB Port" en: "DB Port"
@ -454,7 +453,7 @@ emqx_schema {
flapping_detect_enable { flapping_detect_enable {
desc { desc {
en: "Enable flapping connection detection feature." en: "Enable flapping connection detection feature."
zh: "启用抖动检测功能" zh: "启用抖动检测功能"
} }
label: { label: {
en: "Enable flapping detection" en: "Enable flapping detection"
@ -465,7 +464,7 @@ emqx_schema {
flapping_detect_max_count { flapping_detect_max_count {
desc { desc {
en: "The maximum number of disconnects allowed for a MQTT Client in `window_time`" en: "The maximum number of disconnects allowed for a MQTT Client in `window_time`"
zh: "MQTT 客户端在\"窗口\"时间内允许的最大断开次数" zh: "MQTT 客户端在“窗口”时间内允许的最大断开次数。"
} }
label: { label: {
en: "Max count" en: "Max count"
@ -487,11 +486,11 @@ emqx_schema {
flapping_detect_ban_time { flapping_detect_ban_time {
desc { desc {
en: "How long the flapping clientid will be banned." en: "How long the flapping clientid will be banned."
zh: "抖动的客户端将会被禁止登陆多长时间" zh: "抖动的客户端将会被禁止登录多长时间。"
} }
label: { label: {
en: "Ban time" en: "Ban time"
zh: "禁止登时长" zh: "禁止登时长"
} }
} }
@ -605,7 +604,7 @@ emqx_schema {
persistent_session_builtin_session_table { persistent_session_builtin_session_table {
desc { desc {
en: "Performance tuning options for built-in session table." en: "Performance tuning options for built-in session table."
zh: "用于内建会话表的性能调优参数" zh: "用于内建会话表的性能调优参数"
} }
label: { label: {
en: "Persistent session" en: "Persistent session"
@ -627,7 +626,7 @@ emqx_schema {
persistent_session_builtin_messages_table { persistent_session_builtin_messages_table {
desc { desc {
en: "Performance tuning options for built-in messages table." en: "Performance tuning options for built-in messages table."
zh: "用于内建消息表的性能调优参数" zh: "用于内建消息表的性能调优参数"
} }
label: { label: {
en: "Persistent messages" en: "Persistent messages"
@ -638,7 +637,7 @@ emqx_schema {
stats_enable { stats_enable {
desc { desc {
en: "Enable/disable statistic data collection." en: "Enable/disable statistic data collection."
zh: "启用/禁用统计数据收集功能" zh: "启用/禁用统计数据收集功能"
} }
label: { label: {
en: "Enable/disable statistic data collection." en: "Enable/disable statistic data collection."
@ -780,8 +779,8 @@ mqtt 下所有的配置作为全局的默认值存在,它可以被 <code>zone<
mqtt_ignore_loop_deliver { mqtt_ignore_loop_deliver {
desc { desc {
en: """Ignore loop delivery of messages for MQTT v3.1.1/v3.1.0, similar to <code>No Local</code> subscription option in MQTT 5.0""" en: """Ignore loop delivery of messages for MQTT v3.1.1/v3.1.0, similar to <code>No Local</code> subscription option in MQTT 5.0."""
zh: """是否为 MQTT v3.1.1/v3.1.0 客户端忽略投递自己发布的消息,类似于 MQTT 5.0 中的 <code>No Local</code> 订阅选项""" zh: """是否为 MQTT v3.1.1/v3.1.0 客户端忽略投递自己发布的消息,类似于 MQTT 5.0 中的 <code>No Local</code> 订阅选项"""
} }
label: { label: {
en: """Ignore Loop Deliver""" en: """Ignore Loop Deliver"""
@ -1000,7 +999,7 @@ Supported configurations are the following:
- <code>pem</code>: Convert <code>DER</code> certificate content to <code>PEM</code> format as Username - <code>pem</code>: Convert <code>DER</code> certificate content to <code>PEM</code> format as Username
- <code>md5</code>: Take the MD5 value of the content of the <code>DER</code> or <code>PEM</code> certificate as Username - <code>md5</code>: Take the MD5 value of the content of the <code>DER</code> or <code>PEM</code> certificate as Username
""" """
zh: """使用对端证书中的 CN, DN 字段或整个证书内容来作为用户名。仅适用于 TLS 连接。 zh: """使用对端证书中的 CNDN 字段或整个证书内容来作为用户名。仅适用于 TLS 连接。
目前支持配置为以下内容: 目前支持配置为以下内容:
- <code>cn</code>: 取证书的 CN 字段作为 Username - <code>cn</code>: 取证书的 CN 字段作为 Username
- <code>dn</code>: 取证书的 DN 字段作为 Username - <code>dn</code>: 取证书的 DN 字段作为 Username
@ -1025,7 +1024,7 @@ Supported configurations are the following:
- <code>pem</code>: Convert <code>DER</code> certificate content to <code>PEM</code> format as Client ID - <code>pem</code>: Convert <code>DER</code> certificate content to <code>PEM</code> format as Client ID
- <code>md5</code>: Take the MD5 value of the content of the <code>DER</code> or <code>PEM</code> certificate as Client ID - <code>md5</code>: Take the MD5 value of the content of the <code>DER</code> or <code>PEM</code> certificate as Client ID
""" """
zh: """使用对端证书中的 CN, DN 字段或整个证书内容来作为客户端 ID。仅适用于 TLS 连接。 zh: """使用对端证书中的 CNDN 字段或整个证书内容来作为客户端 ID。仅适用于 TLS 连接。
目前支持配置为以下内容: 目前支持配置为以下内容:
- <code>cn</code>: 取证书的 CN 字段作为 Client ID - <code>cn</code>: 取证书的 CN 字段作为 Client ID
- <code>dn</code>: 取证书的 DN 字段作为 Client ID - <code>dn</code>: 取证书的 DN 字段作为 Client ID
@ -1064,10 +1063,10 @@ Supported configurations are the following:
""" """
zh: """Session 在集群中的锁策略。 zh: """Session 在集群中的锁策略。
- `loca`: 仅锁本节点的 Session - `loca`:仅锁本节点的 Session
- `one`: 任选一个其它节点加锁 - `one`:任选一个其它节点加锁;
- `quorum`: 选择集群中半数以上的节点加锁 - `quorum`:选择集群中半数以上的节点加锁;
- `all`: 选择所有节点加锁 - `all`:选择所有节点加锁。
""" """
} }
} }
@ -1082,10 +1081,10 @@ Supported configurations are the following:
""" """
zh: """共享订阅消息派发策略。 zh: """共享订阅消息派发策略。
- `random`: 随机挑选一个共享订阅者派发 - `random`:随机挑选一个共享订阅者派发;
- `round_robin`: 使用 round-robin 策略派发 - `round_robin`:使用 round-robin 策略派发;
- `sticky`: 总是使用上次选中的订阅者派发,直到它断开连接 - `sticky`总是使用上次选中的订阅者派发,直到它断开连接
- `hash`: 使用发送者的 Client ID 进行 Hash 来选择订阅者 - `hash`使用发送者的 Client ID 进行 Hash 来选择订阅者
""" """
} }
} }
@ -1136,13 +1135,12 @@ until the subscriber disconnects.
subscriber was not found, send to a random subscriber cluster-wide subscriber was not found, send to a random subscriber cluster-wide
""" """
cn: """共享订阅的分发策略名称。 cn: """共享订阅的分发策略名称。
- `random`: 随机选择一个组内成员; - `random`:随机选择一个组内成员;
- `round_robin`: 循环选择下一个成员; - `round_robin`:循环选择下一个成员;
- `round_robin_per_group`: 在共享组内循环选择下一个成员; - `round_robin_per_group`:在共享组内循环选择下一个成员;
- `sticky`: 使用上一次选中的成员; - `sticky`:使用上一次选中的成员;
- `hash`: 根据 ClientID 哈希映射到一个成员; - `hash`:根据 ClientID 哈希映射到一个成员;
- `local`: 随机分发到节点本地成成员,如果本地成员不存在,则随机分发 - `local`:随机分发到节点本地成成员,如果本地成员不存在,则随机分发到任意一个成员。
到任意一个成员。
""" """
} }
@ -1162,9 +1160,9 @@ NOTE: when changing from/to `global` lock, it requires all nodes in the cluster
建议仅当通配符主题较多时才更改此参数。 建议仅当通配符主题较多时才更改此参数。
注:当从/更改为 `global` 锁时,它要求集群中的所有节点在更改之前停止。 注:当从/更改为 `global` 锁时,它要求集群中的所有节点在更改之前停止。
- `key`: 为 Mnesia 事务涉及到的每个 key 上锁,建议单节点时使用。 - `key`为 Mnesia 事务涉及到的每个 key 上锁,建议单节点时使用。
- `tab`: 为 Mnesia 事务涉及到的表上锁,建议在集群中使用。 - `tab`为 Mnesia 事务涉及到的表上锁,建议在集群中使用。
- `global`: 所以更新操作都被全局的锁保护,仅建议在超大规模集群中使用。 - `global`所以更新操作都被全局的锁保护,仅建议在超大规模集群中使用。
""" """
} }
} }
@ -1215,8 +1213,8 @@ NOTE: This is a cluster-wide configuration. It requires all nodes to be stopped
sys_event_messages { sys_event_messages {
desc { desc {
en: """Client events messages""" en: """Client events messages."""
zh: """客户端事件消息""" zh: """客户端事件消息"""
} }
} }
@ -1271,12 +1269,8 @@ Find more details in 'authorization.sources' config.
fields_authorization_deny_action { fields_authorization_deny_action {
desc { desc {
en: """ en: """The action when the authorization check rejects an operation."""
The action when the authorization check rejects an operation. zh: """授权检查拒绝操作时的操作。"""
"""
zh: """
授权检查拒绝操作时的操作。
"""
} }
label: { label: {
en: "Authorization deny action" en: "Authorization deny action"
@ -1286,12 +1280,8 @@ The action when the authorization check rejects an operation.
fields_cache_enable { fields_cache_enable {
desc { desc {
en: """ en: """Enable or disable the authorization cache."""
Enable or disable the authorization cache. zh: """启用或禁用授权缓存。"""
"""
zh: """
启用或禁用授权缓存。
"""
} }
label: { label: {
en: "Enable or disable the authorization cache." en: "Enable or disable the authorization cache."
@ -1301,12 +1291,8 @@ Enable or disable the authorization cache.
fields_cache_max_size { fields_cache_max_size {
desc { desc {
en: """ en: """Maximum number of cached items."""
Maximum number of cached items. zh: """缓存项的最大数量。"""
"""
zh: """
缓存项的最大数量。
"""
} }
label: { label: {
en: "Maximum number of cached items." en: "Maximum number of cached items."
@ -1316,12 +1302,8 @@ Maximum number of cached items.
fields_cache_ttl { fields_cache_ttl {
desc { desc {
en: """ en: """Time to live for the cached data. """
Time to live for the cached data. zh: """缓存数据的生存时间。"""
"""
zh: """
缓存数据的生存时间。
"""
} }
label: { label: {
en: "Time to live for the cached data." en: "Time to live for the cached data."
@ -1331,9 +1313,7 @@ Time to live for the cached data.
fields_deflate_opts_level { fields_deflate_opts_level {
desc { desc {
en: """ en: """Compression level. """
Compression level.
"""
zh: """压缩级别""" zh: """压缩级别"""
} }
label: { label: {
@ -1361,12 +1341,8 @@ Lower values decrease memory usage per connection.
fields_deflate_opts_strategy { fields_deflate_opts_strategy {
desc { desc {
en: """ en: """Specifies the compression strategy."""
Specifies the compression strategy. zh: """指定压缩策略。"""
"""
zh: """
指定压缩策略。
"""
} }
label: { label: {
en: "compression strategy" en: "compression strategy"
@ -1376,9 +1352,7 @@ Specifies the compression strategy.
fields_deflate_opts_server_context_takeover { fields_deflate_opts_server_context_takeover {
desc { desc {
en: """ en: """Takeover means the compression state is retained between server messages. """
Takeover means the compression state is retained between server messages.
"""
zh: """接管意味着在服务器消息之间保留压缩状态。""" zh: """接管意味着在服务器消息之间保留压缩状态。"""
} }
label: { label: {
@ -1389,12 +1363,8 @@ Takeover means the compression state is retained between server messages.
fields_deflate_opts_client_context_takeover { fields_deflate_opts_client_context_takeover {
desc { desc {
en: """ en: """Takeover means the compression state is retained between client messages. """
Takeover means the compression state is retained between client messages. zh: """接管意味着在客户端消息之间保留压缩状态。"""
"""
zh: """
接管意味着在客户端消息之间保留压缩状态。
"""
} }
label: { label: {
en: "Client context takeover" en: "Client context takeover"
@ -1404,12 +1374,8 @@ Takeover means the compression state is retained between client messages.
fields_deflate_opts_server_max_window_bits { fields_deflate_opts_server_max_window_bits {
desc { desc {
en: """ en: """Specifies the size of the compression context for the server."""
Specifies the size of the compression context for the server. zh: """指定服务器压缩上下文的大小。"""
"""
zh: """
指定服务器压缩上下文的大小。
"""
} }
label: { label: {
en: "Server compression max window size" en: "Server compression max window size"
@ -1419,12 +1385,8 @@ Specifies the size of the compression context for the server.
fields_deflate_opts_client_max_window_bits { fields_deflate_opts_client_max_window_bits {
desc { desc {
en: """ en: """Specifies the size of the compression context for the client."""
Specifies the size of the compression context for the client. zh: """指定客户端压缩上下文的大小。"""
"""
zh: """
指定客户端压缩上下文的大小。
"""
} }
label: { label: {
en: "Client compression max window size" en: "Client compression max window size"
@ -1434,10 +1396,8 @@ Specifies the size of the compression context for the client.
client_ssl_opts_schema_enable { client_ssl_opts_schema_enable {
desc { desc {
en: """ en: """Enable TLS. """
Enable TLS. zh: """启用 TLS。"""
"""
zh: """启用 TLS"""
} }
label: { label: {
en: "Enable TLS." en: "Enable TLS."
@ -1495,12 +1455,8 @@ PEM格式证书链文件</br>
common_ssl_opts_schema_keyfile { common_ssl_opts_schema_keyfile {
desc { desc {
en: """ en: """PEM format private key file. """
PEM format private key file. zh: """PEM格式的私钥文件。"""
"""
zh: """
PEM格式的私钥文件。
"""
} }
label: { label: {
en: "Keyfile" en: "Keyfile"
@ -1510,12 +1466,8 @@ PEM格式的私钥文件。
common_ssl_opts_schema_verify { common_ssl_opts_schema_verify {
desc { desc {
en: """ en: """Enable or disable peer verification. """
Enable or disable peer verification. zh: """启用或禁用对等验证。"""
"""
zh: """
启用或禁用对等验证。
"""
} }
label: { label: {
en: "Verify peer" en: "Verify peer"
@ -1525,12 +1477,8 @@ Enable or disable peer verification.
common_ssl_opts_schema_reuse_sessions { common_ssl_opts_schema_reuse_sessions {
desc { desc {
en: """ en: """Enable TLS session reuse. """
Enable TLS session reuse. zh: """启用 TLS 会话重用。"""
"""
zh: """
启用 TLS 会话重用。
"""
} }
label: { label: {
en: "TLS session reuse" en: "TLS session reuse"
@ -1541,7 +1489,8 @@ Enable TLS session reuse.
common_ssl_opts_schema_depth { common_ssl_opts_schema_depth {
desc { desc {
en: """ en: """
Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path. So, if depth is 0 the PEER must be signed by the trusted ROOT-CA directly; if 1 the path can be PEER, CA, ROOT-CA; if 2 the path can be PEER, CA, CA, ROOT-CA, and so on. The default value is 10. Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path.
So, if depth is 0 the PEER must be signed by the trusted ROOT-CA directly; if 1 the path can be PEER, CA, ROOT-CA; if 2 the path can be PEER, CA, CA, ROOT-CA, and so on. The default value is 10.
""" """
zh: """ zh: """
在有效的证书路径中可以跟随对等证书的非自颁发中间证书的最大数量。因此如果深度为0则对等方必须由受信任的根CA直接签名如果1路径可以是PEER、CA、ROOT-CA如果是2则路径可以是PEER、CA、CA、ROOT-CA等等。默认值为10。 在有效的证书路径中可以跟随对等证书的非自颁发中间证书的最大数量。因此如果深度为0则对等方必须由受信任的根CA直接签名如果1路径可以是PEER、CA、ROOT-CA如果是2则路径可以是PEER、CA、CA、ROOT-CA等等。默认值为10。
@ -1724,12 +1673,8 @@ RSA-PSK-DES-CBC3-SHA,RSA-PSK-RC4-SHA"</code></br>
common_ssl_opts_schema_user_lookup_fun { common_ssl_opts_schema_user_lookup_fun {
desc { desc {
en: """ en: """EMQX-internal callback that is used to lookup pre-shared key (PSK) identity. """
EMQX-internal callback that is used to lookup pre-shared key (PSK) identity. zh: """用于查找预共享密钥PSK标识的 EMQX 内部回调。"""
"""
zh: """
用于查找预共享密钥PSK标识的 EMQX 内部回调。
"""
} }
label: { label: {
en: "SSL PSK user lookup fun" en: "SSL PSK user lookup fun"
@ -1766,7 +1711,7 @@ are used.</br>
NOTE: The <code>dhfile</code> option is not supported by TLS 1.3. NOTE: The <code>dhfile</code> option is not supported by TLS 1.3.
""" """
zh: """ zh: """
如果协商使用Diffie-Hellman密钥交换的密码套件则服务器将使用包含PEM编码的Diffie-Hellman参数的文件的路径。如果未指定则使用默认参数</br> 如果协商使用Diffie-Hellman密钥交换的密码套件则服务器将使用包含PEM编码的Diffie-Hellman参数的文件的路径。如果未指定则使用默认参数</br>
注意TLS 1.3不支持<code>dhfile</code>选项。 注意TLS 1.3不支持<code>dhfile</code>选项。
""" """
@ -1875,10 +1820,8 @@ TLS/SSL握手建立后立即进行GC。
fields_listeners_tcp { fields_listeners_tcp {
desc { desc {
en: """ en: """TCP listeners."""
TCP listeners zh: """TCP 监听器。"""
"""
zh: """TCP 监听器"""
} }
label: { label: {
en: "TCP listeners" en: "TCP listeners"
@ -1888,10 +1831,8 @@ TCP listeners
fields_listeners_ssl { fields_listeners_ssl {
desc { desc {
en: """ en: """SSL listeners."""
SSL listeners zh: """SSL 监听器。"""
"""
zh: """SSL 监听器"""
} }
label: { label: {
en: "SSL listeners" en: "SSL listeners"
@ -1901,10 +1842,8 @@ SSL listeners
fields_listeners_ws { fields_listeners_ws {
desc { desc {
en: """ en: """HTTP websocket listeners."""
HTTP websocket listeners zh: """HTTP websocket 监听器。"""
"""
zh: """HTTP websocket 监听器"""
} }
label: { label: {
en: "HTTP websocket listeners" en: "HTTP websocket listeners"
@ -1914,10 +1853,8 @@ HTTP websocket listeners
fields_listeners_wss { fields_listeners_wss {
desc { desc {
en: """ en: """HTTPS websocket listeners."""
HTTPS websocket listeners zh: """HTTPS websocket 监听器。"""
"""
zh: """HTTPS websocket 监听器"""
} }
label: { label: {
en: "HTTPS websocket listeners" en: "HTTPS websocket listeners"
@ -1927,10 +1864,8 @@ HTTPS websocket listeners
fields_listeners_quic { fields_listeners_quic {
desc { desc {
en: """ en: """QUIC listeners."""
QUIC listeners zh: """QUIC 监听器。"""
"""
zh: """QUIC 监听器"""
} }
label: { label: {
en: "QUIC listeners" en: "QUIC listeners"
@ -1940,10 +1875,8 @@ QUIC listeners
fields_listener_enabled { fields_listener_enabled {
desc { desc {
en: """ en: """Enable listener. """
Enable listener. zh: """启停监听器。"""
"""
zh: """启停监听器"""
} }
label: { label: {
en: "Enable listener" en: "Enable listener"
@ -1953,10 +1886,8 @@ Enable listener.
fields_mqtt_quic_listener_certfile { fields_mqtt_quic_listener_certfile {
desc { desc {
en: """ en: """Path to the certificate file."""
Path to the certificate file. zh: """证书文件。"""
"""
zh: """证书文件"""
} }
label: { label: {
en: "Certificate file" en: "Certificate file"
@ -1966,10 +1897,8 @@ Path to the certificate file.
fields_mqtt_quic_listener_keyfile { fields_mqtt_quic_listener_keyfile {
desc { desc {
en: """ en: """Path to the secret key file. """
Path to the secret key file. zh: """私钥文件。"""
"""
zh: """私钥文件"""
} }
label: { label: {
en: "Key file" en: "Key file"
@ -1979,31 +1908,23 @@ Path to the secret key file.
fields_mqtt_quic_listener_idle_timeout { fields_mqtt_quic_listener_idle_timeout {
desc { desc {
en: """ en: """How long a connection can go idle before it is gracefully shut down. 0 to disable"""
How long a connection can go idle before it is gracefully shut down. 0 to disable zh: """一个连接在被关闭之前可以空闲多长时间。0表示禁用。"""
"""
zh: """
一个连接在被关闭之前可以空闲多长时间。0表示禁用
"""
} }
label: { label: {
en: "Idle Timeout" en: "Idle Timeout"
zh: "发呆超时时间" zh: "空闲超时时间"
} }
} }
fields_mqtt_quic_listener_handshake_idle_timeout { fields_mqtt_quic_listener_handshake_idle_timeout {
desc { desc {
en: """ en: """How long a handshake can idle before it is discarded. """
How long a handshake can idle before it is discarded. zh: """一个握手在被丢弃之前可以空闲多长时间。"""
"""
zh: """
一个握手在被丢弃之前可以空闲多长时间。
"""
} }
label: { label: {
en: "Handshake Idle Timeout" en: "Handshake Idle Timeout"
zh: "握手发呆超时时间" zh: "握手空闲超时时间"
} }
} }
@ -2013,7 +1934,7 @@ fields_mqtt_quic_listener_keep_alive_interval {
How often to send PING frames to keep a connection alive. 0 means disabled. How often to send PING frames to keep a connection alive. 0 means disabled.
""" """
zh: """ zh: """
发送 PING 帧的频率,以保活连接. 设为0禁用 发送 PING 帧的频率,以保活连接. 设为 0 表示禁用。
""" """
} }
label: { label: {
@ -2039,9 +1960,7 @@ IP address and port for the listening socket.
base_listener_acceptors { base_listener_acceptors {
desc { desc {
en: """ en: """The size of the listener's receiving pool."""
The size of the listener's receiving pool.
"""
zh: """监听器接收池的大小。""" zh: """监听器接收池的大小。"""
} }
label: { label: {
@ -2052,12 +1971,8 @@ The size of the listener's receiving pool.
base_listener_max_connections { base_listener_max_connections {
desc { desc {
en: """ en: """The maximum number of concurrent connections allowed by the listener. """
The maximum number of concurrent connections allowed by the listener. zh: """监听器允许的最大并发连接数。"""
"""
zh: """
监听器允许的最大并发连接数。
"""
} }
label: { label: {
en: "Max connections" en: "Max connections"
@ -2218,7 +2133,7 @@ If there is no decision after a full chain exhaustion, the login is rejected.
该配置可以被配置为: 该配置可以被配置为:
<ul> <ul>
<li><code>[]</code>: 默认值,允许所登录请求 <li><code>[]</code>: 默认值,允许所有的登录请求
<li>配置为单认证器,例如 <code>{enable:true,backend:\"built_in_database\",mechanism=\"password_based\"}</code></li> <li>配置为单认证器,例如 <code>{enable:true,backend:\"built_in_database\",mechanism=\"password_based\"}</code></li>
<li>配置为认证器数组</li> <li>配置为认证器数组</li>
</ul> </ul>
@ -2242,7 +2157,7 @@ When authenticating a login (username, client ID, etc.) the authenticators are c
监听器认证重载。 监听器认证重载。
认证配置可以是单个认证器实例,也可以是一个认证器数组组成的认证链。 认证配置可以是单个认证器实例,也可以是一个认证器数组组成的认证链。
执行登录验证时(用户名、客户端 ID 等),将按配置的顺序执行</br> 执行登录验证时(用户名、客户端 ID 等),将按配置的顺序执行
""" """
} }
label: { label: {
@ -2253,12 +2168,8 @@ When authenticating a login (username, client ID, etc.) the authenticators are c
fields_rate_limit_max_conn_rate { fields_rate_limit_max_conn_rate {
desc { desc {
en: """ en: """Maximum connections per second."""
Maximum connections per second. zh: """每秒最大连接数。"""
"""
zh: """
每秒最大连接数。
"""
} }
label: { label: {
en: "Max connection rate" en: "Max connection rate"
@ -2268,12 +2179,8 @@ Maximum connections per second.
fields_rate_limit_conn_messages_in { fields_rate_limit_conn_messages_in {
desc { desc {
en: """ en: """Message limit for the external MQTT connections."""
Message limit for the external MQTT connections. zh: """外部 MQTT 连接的消息限制。"""
"""
zh: """
外部 MQTT 连接的消息限制。
"""
} }
label: { label: {
en: "connecting messages in" en: "connecting messages in"
@ -2314,13 +2221,13 @@ Indication extension from being sent and disables the hostname
verification check. verification check.
""" """
zh: """ zh: """
指定要在 TLS 服务器名称指示扩展中使用的主机名</br> 指定要在 TLS 服务器名称指示扩展中使用的主机名</br>
例如,当连接到 "server.example.net" 时,接受连接并执行 TLS 握手的真正服务器可能与 TLS 客户端最初连接到的主机不同, 例如,当连接到 "server.example.net" 时,接受连接并执行 TLS 握手的真正服务器可能与 TLS 客户端最初连接到的主机不同,
例如,当连接到 IP 地址时,或者当主机具有多个可解析的 DNS 记录时</br> 例如,当连接到 IP 地址时,或者当主机具有多个可解析的 DNS 记录时</br>
如果未指定,它将默认为使用的主机名字符串 如果未指定,它将默认为使用的主机名字符串
建立连接,除非使用 IP 地址</br> 建立连接,除非使用 IP 地址</br>
然后,主机名也用于对等机的主机名验证 然后,主机名也用于对等机的主机名验证证书</br>
证书</br>特殊值'disable'阻止发送服务器名称指示扩展,并禁用主机名验证检查。 特殊值 <code>disable</code> 阻止发送服务器名称指示扩展,并禁用主机名验证检查。
""" """
} }
label: { label: {
@ -2364,12 +2271,8 @@ TCP backlog 定义了挂起连接队列可以增长到的最大长度。
fields_tcp_opts_send_timeout { fields_tcp_opts_send_timeout {
desc { desc {
en: """ en: """The TCP send timeout for the connections. """
The TCP send timeout for the connections. zh: """连接的 TCP 发送超时。"""
"""
zh: """
连接的TCP发送超时。
"""
} }
label: { label: {
en: "TCP send timeout" en: "TCP send timeout"
@ -2398,7 +2301,7 @@ fields_tcp_opts_recbuf {
The TCP receive buffer (OS kernel) for the connections. The TCP receive buffer (OS kernel) for the connections.
""" """
zh: """ zh: """
连接的 TCP 接收缓冲区OS内核 连接的 TCP 接收缓冲区OS 内核)。
""" """
} }
label: { label: {
@ -2413,7 +2316,7 @@ fields_tcp_opts_sndbuf {
The TCP send buffer (OS kernel) for the connections. The TCP send buffer (OS kernel) for the connections.
""" """
zh: """ zh: """
连接的 TCP 发送缓冲区OS内核 连接的 TCP 发送缓冲区OS 内核)。
""" """
} }
label: { label: {
@ -2494,7 +2397,7 @@ Determine the format of the payload format in the trace file.</br>
""" """
zh: """ zh: """
确定跟踪文件中有效负载格式的格式</br> 确定跟踪文件中有效负载格式的格式</br>
`text`:基于文本的协议或纯文本协议。 `text`:基于文本的协议或纯文本协议。
建议在有效负载为JSON编码时使用</br> 建议在有效负载为JSON编码时使用</br>
`hex`:二进制十六进制编码。当有效负载是自定义二进制协议时,建议使用此选项</br> `hex`:二进制十六进制编码。当有效负载是自定义二进制协议时,建议使用此选项</br>
@ -2568,7 +2471,7 @@ message within this interval.
} }
label: { label: {
en: "WS idle timeout" en: "WS idle timeout"
zh: "WS 发呆时间" zh: "WS 空闲时间"
} }
} }

View File

@ -57,7 +57,7 @@ emqx_authn_jwt {
endpoint { endpoint {
desc { desc {
en: """JWKS endpoint, it's a read-only endpoint that returns the server's public key set in the JWKS format.""" en: """JWKS endpoint, it's a read-only endpoint that returns the server's public key set in the JWKS format."""
zh: """JWKS 端点, 它是一个以 JWKS 格式返回服务端的公钥集的只读端点。""" zh: """JWKS 端点 它是一个以 JWKS 格式返回服务端的公钥集的只读端点。"""
} }
label { label {
en: """JWKS Endpoint""" en: """JWKS Endpoint"""

View File

@ -2,7 +2,7 @@ emqx_authz_api_cache {
authorization_cache_delete { authorization_cache_delete {
desc { desc {
en: """Clean all authorization cache in the cluster.""" en: """Clean all authorization cache in the cluster."""
zh: """清除集群中所有鉴权数据缓存""" zh: """清除集群中所有授权数据缓存。"""
} }
} }
} }

View File

@ -1,8 +1,8 @@
emqx_authz_api_schema { emqx_authz_api_schema {
enable { enable {
desc { desc {
en: """Set to <code>true</code> or <code>false</code> to disable this ACL provider""" en: """Set to <code>true</code> or <code>false</code> to disable this ACL provider."""
zh: """设为 <code>true</code> 或 <code>false</code> 以启用或禁用此访问控制数据源""" zh: """设为 <code>true</code> 或 <code>false</code> 以启用或禁用此访问控制数据源"""
} }
label { label {
en: """enable""" en: """enable"""
@ -13,7 +13,7 @@ emqx_authz_api_schema {
type { type {
desc { desc {
en: """Backend type.""" en: """Backend type."""
zh: """数据后端类型""" zh: """数据后端类型"""
} }
label { label {
en: """type""" en: """type"""
@ -26,7 +26,7 @@ emqx_authz_api_schema {
rules { rules {
desc { desc {
en: """Authorization static file rules.""" en: """Authorization static file rules."""
zh: """静态鉴权文件规则""" zh: """静态授权文件规则。"""
} }
label { label {
en: """rules""" en: """rules"""
@ -39,7 +39,7 @@ emqx_authz_api_schema {
method { method {
desc { desc {
en: """HTTP method.""" en: """HTTP method."""
zh: """HTTP 请求方法""" zh: """HTTP 请求方法"""
} }
label { label {
en: """method""" en: """method"""
@ -50,7 +50,7 @@ emqx_authz_api_schema {
url { url {
desc { desc {
en: """URL of the auth server.""" en: """URL of the auth server."""
zh: """认证服务器 URL""" zh: """认证服务器 URL"""
} }
label { label {
en: """url""" en: """url"""
@ -72,7 +72,7 @@ emqx_authz_api_schema {
headers_no_content_type { headers_no_content_type {
desc { desc {
en: """List of HTTP headers (without <code>content-type</code>).""" en: """List of HTTP headers (without <code>content-type</code>)."""
zh: """HTTP Headers 列表(无 <code>content-type</code>""" zh: """HTTP Headers 列表(无 <code>content-type</code>"""
} }
label { label {
en: """headers_no_content_type""" en: """headers_no_content_type"""
@ -83,7 +83,7 @@ emqx_authz_api_schema {
body { body {
desc { desc {
en: """HTTP request body.""" en: """HTTP request body."""
zh: """HTTP 请求体""" zh: """HTTP 请求体"""
} }
label { label {
en: """body""" en: """body"""
@ -94,7 +94,7 @@ emqx_authz_api_schema {
request_timeout { request_timeout {
desc { desc {
en: """Request timeout.""" en: """Request timeout."""
zh: """请求超时时间""" zh: """请求超时时间"""
} }
label { label {
en: """request_timeout""" en: """request_timeout"""
@ -111,7 +111,7 @@ emqx_authz_api_schema {
collection { collection {
desc { desc {
en: """`MongoDB` collection containing the authorization data.""" en: """`MongoDB` collection containing the authorization data."""
zh: """`MongoDB` 鉴权数据集""" zh: """`MongoDB` 授权数据集。"""
} }
label { label {
en: """collection""" en: """collection"""
@ -153,7 +153,7 @@ Filter supports the following placeholders:
cmd { cmd {
desc { desc {
en: """Database query used to retrieve authorization data.""" en: """Database query used to retrieve authorization data."""
zh: """访问控制数据查询命令""" zh: """访问控制数据查询命令"""
} }
label { label {
en: """cmd""" en: """cmd"""
@ -166,7 +166,7 @@ Filter supports the following placeholders:
query { query {
desc { desc {
en: """Database query used to retrieve authorization data.""" en: """Database query used to retrieve authorization data."""
zh: """访问控制数据查询语句""" zh: """访问控制数据查询语句"""
} }
label { label {
en: """query""" en: """query"""
@ -178,8 +178,8 @@ Filter supports the following placeholders:
position { position {
desc { desc {
en: """Where to place the source""" en: """Where to place the source."""
zh: """认证数据源位置""" zh: """认证数据源位置"""
} }
label { label {
en: """position""" en: """position"""

View File

@ -2,14 +2,14 @@ emqx_authz_api_settings {
authorization_settings_get { authorization_settings_get {
desc { desc {
en: """Get authorization settings""" en: """Get authorization settings"""
zh: """获取权配置""" zh: """获取权配置"""
} }
} }
authorization_settings_put { authorization_settings_put {
desc { desc {
en: """Update authorization settings""" en: """Update authorization settings"""
zh: """更新权配置""" zh: """更新权配置"""
} }
} }
} }

View File

@ -2,56 +2,56 @@ emqx_authz_api_sources {
authorization_sources_get { authorization_sources_get {
desc { desc {
en: """List all authorization sources""" en: """List all authorization sources"""
zh: """列出所有权数据源""" zh: """列出所有权数据源"""
} }
} }
authorization_sources_post { authorization_sources_post {
desc { desc {
en: """Add a new source""" en: """Add a new source"""
zh: """添加权数据源""" zh: """添加权数据源"""
} }
} }
authorization_sources_type_get { authorization_sources_type_get {
desc { desc {
en: """Get a authorization source""" en: """Get a authorization source"""
zh: """获取指定类型的权数据源""" zh: """获取指定类型的权数据源"""
} }
} }
authorization_sources_type_put { authorization_sources_type_put {
desc { desc {
en: """Update source""" en: """Update source"""
zh: """更新指定类型的权数据源""" zh: """更新指定类型的权数据源"""
} }
} }
authorization_sources_type_delete { authorization_sources_type_delete {
desc { desc {
en: """Delete source""" en: """Delete source"""
zh: """删除指定类型的权数据源""" zh: """删除指定类型的权数据源"""
} }
} }
authorization_sources_type_status_get { authorization_sources_type_status_get {
desc { desc {
en: """Get a authorization source""" en: """Get a authorization source"""
zh: """获取指定权数据源的状态""" zh: """获取指定权数据源的状态"""
} }
} }
authorization_sources_type_move_post { authorization_sources_type_move_post {
desc { desc {
en: """Change the exection order of sources""" en: """Change the exection order of sources"""
zh: """更新权数据源的优先执行顺序""" zh: """更新权数据源的优先执行顺序"""
} }
} }
sources { sources {
desc { desc {
en: """Authorization source""" en: """Authorization source"""
zh: """权数据源列表""" zh: """权数据源列表"""
} }
label { label {
en: """sources""" en: """sources"""
@ -62,7 +62,7 @@ emqx_authz_api_sources {
sources { sources {
desc { desc {
en: """Authorization sources""" en: """Authorization sources"""
zh: """权数据源列表""" zh: """权数据源列表"""
} }
label { label {
en: """sources""" en: """sources"""
@ -84,7 +84,7 @@ emqx_authz_api_sources {
source { source {
desc { desc {
en: """Authorization source""" en: """Authorization source"""
zh: """权数据源""" zh: """权数据源"""
} }
label { label {
en: """source""" en: """source"""

View File

@ -21,22 +21,22 @@ The source elements are identified by their 'type'.
It is NOT allowed to configure two or more sources of the same type. It is NOT allowed to configure two or more sources of the same type.
""" """
zh: """ zh: """
鉴权数据源.</br> 授权数据源。</br>
鉴权(ACL)数据源的列表. 授权ACL数据源的列表。
它被设计为一个数组,而不是一个散列映射, 它被设计为一个数组,而不是一个散列映射,
所以可以作为链式访问控制.</br> 所以可以作为链式访问控制</br>
当授权一个 'publish' 或 'subscribe' 行为时, 当授权一个 'publish' 或 'subscribe' 行为时
该配置列表中的所有数据源将按顺序进行检查。 该配置列表中的所有数据源将按顺序进行检查。
如果在某个客户端未找到时(使用 ClientID 或 Username), 如果在某个客户端未找到时(使用 ClientID 或 Username)
将会移动到下一个数据源. 直至得到 'allow' 或 'deny' 的结果.</br> 将会移动到下一个数据源。直至得到 'allow' 或 'deny' 的结果。</br>
如果在任何数据源中都未找到对应的客户端信息, 如果在任何数据源中都未找到对应的客户端信息
配置的默认行为 ('authorization.no_match') 将生效.</br> 配置的默认行为 ('authorization.no_match') 将生效</br>
注意: 注意
数据源使用 'type' 进行标识. 数据源使用 'type' 进行标识
使用同一类型的数据源多于一次不被允许. 使用同一类型的数据源多于一次不被允许
""" """
} }
label { label {
@ -83,7 +83,7 @@ It is NOT allowed to configure two or more sources of the same type.
file { file {
desc { desc {
en: """Authorization using a static file.""" en: """Authorization using a static file."""
zh: """使用静态文件权""" zh: """使用静态文件权"""
} }
label { label {
en: """file""" en: """file"""
@ -109,7 +109,7 @@ and the old file will not be used anymore.
那么可以将该文件置于任何 EMQX 可以访问到的位置。 那么可以将该文件置于任何 EMQX 可以访问到的位置。
如果从 EMQX Dashboard 或 HTTP API 创建或修改了规则集, 如果从 EMQX Dashboard 或 HTTP API 创建或修改了规则集,
那么EMQX将会生成一个新的文件并将它存放在 `data_dir` 下的 `authz` 子目录中, 那么EMQX将会生成一个新的文件并将它存放在 `data_dir` 下的 `authz` 子目录中
并从此弃用旧的文件。""" 并从此弃用旧的文件。"""
} }
label { label {
@ -123,7 +123,7 @@ and the old file will not be used anymore.
http_get { http_get {
desc { desc {
en: """Authorization using an external HTTP server (via GET requests).""" en: """Authorization using an external HTTP server (via GET requests)."""
zh: """使用外部 HTTP 服务器权(GET 请求)。""" zh: """使用外部 HTTP 服务器权(GET 请求)。"""
} }
label { label {
en: """http_get""" en: """http_get"""
@ -134,7 +134,7 @@ and the old file will not be used anymore.
http_post { http_post {
desc { desc {
en: """Authorization using an external HTTP server (via POST requests).""" en: """Authorization using an external HTTP server (via POST requests)."""
zh: """使用外部 HTTP 服务器权(POST 请求)。""" zh: """使用外部 HTTP 服务器权(POST 请求)。"""
} }
label { label {
en: """http_post""" en: """http_post"""
@ -156,7 +156,7 @@ and the old file will not be used anymore.
url { url {
desc { desc {
en: """URL of the auth server.""" en: """URL of the auth server."""
zh: """权 HTTP 服务器地址。""" zh: """权 HTTP 服务器地址。"""
} }
label { label {
en: """URL""" en: """URL"""
@ -213,7 +213,7 @@ and the old file will not be used anymore.
mnesia { mnesia {
desc { desc {
en: """Authorization using a built-in database (mnesia).""" en: """Authorization using a built-in database (mnesia)."""
zh: """使用内部数据库鉴权 (mnesia).""" zh: """使用内部数据库授权mnesia"""
} }
label { label {
en: """mnesia""" en: """mnesia"""
@ -226,7 +226,7 @@ and the old file will not be used anymore.
mongo_single { mongo_single {
desc { desc {
en: """Authorization using a single MongoDB instance.""" en: """Authorization using a single MongoDB instance."""
zh: """使用 MongoDB 鉴权(单实例)""" zh: """使用 MongoDB 授权(单实例)。"""
} }
label { label {
en: """mongo_single""" en: """mongo_single"""
@ -237,7 +237,7 @@ and the old file will not be used anymore.
mongo_rs { mongo_rs {
desc { desc {
en: """Authorization using a MongoDB replica set.""" en: """Authorization using a MongoDB replica set."""
zh: """使用 MongoDB 鉴权(副本集模式)""" zh: """使用 MongoDB 授权(副本集模式)"""
} }
label { label {
en: """mongo_rs""" en: """mongo_rs"""
@ -248,7 +248,7 @@ and the old file will not be used anymore.
mongo_sharded { mongo_sharded {
desc { desc {
en: """Authorization using a sharded MongoDB cluster.""" en: """Authorization using a sharded MongoDB cluster."""
zh: """使用 MongoDB 鉴权(分片集群模式)""" zh: """使用 MongoDB 授权(分片集群模式)。"""
} }
label { label {
en: """mongo_sharded""" en: """mongo_sharded"""
@ -259,7 +259,7 @@ and the old file will not be used anymore.
collection { collection {
desc { desc {
en: """`MongoDB` collection containing the authorization data.""" en: """`MongoDB` collection containing the authorization data."""
zh: """`MongoDB` 鉴权数据集""" zh: """`MongoDB` 授权数据集。"""
} }
label { label {
en: """collection""" en: """collection"""
@ -278,8 +278,8 @@ Filter supports the following placeholders:
zh: """ zh: """
在查询中定义过滤条件的条件表达式。 在查询中定义过滤条件的条件表达式。
过滤器支持如下占位符: 过滤器支持如下占位符:
- <code>${username}</code>: 将在运行时被替换为客户端连接时使用的用户名 - <code>${username}</code>将在运行时被替换为客户端连接时使用的用户名
- <code>${clientid}</code>: 将在运行时被替换为客户端连接时使用的客户端标识符 - <code>${clientid}</code>将在运行时被替换为客户端连接时使用的客户端标识符
""" """
} }
label { label {
@ -293,7 +293,7 @@ Filter supports the following placeholders:
mysql { mysql {
desc { desc {
en: """Authorization using a MySQL database.""" en: """Authorization using a MySQL database."""
zh: """使用 MySOL 数据库权""" zh: """使用 MySOL 数据库权"""
} }
label { label {
en: """mysql""" en: """mysql"""
@ -306,7 +306,7 @@ Filter supports the following placeholders:
postgresql { postgresql {
desc { desc {
en: """Authorization using a PostgreSQL database.""" en: """Authorization using a PostgreSQL database."""
zh: """使用 PostgreSQL 数据库权""" zh: """使用 PostgreSQL 数据库权"""
} }
label { label {
en: """postgresql""" en: """postgresql"""
@ -319,7 +319,7 @@ Filter supports the following placeholders:
redis_single { redis_single {
desc { desc {
en: """Authorization using a single Redis instance.""" en: """Authorization using a single Redis instance."""
zh: """使用 Redis 鉴权(单实例)""" zh: """使用 Redis 授权(单实例)。"""
} }
label { label {
en: """redis_single""" en: """redis_single"""
@ -330,7 +330,7 @@ Filter supports the following placeholders:
redis_sentinel { redis_sentinel {
desc { desc {
en: """Authorization using a Redis Sentinel.""" en: """Authorization using a Redis Sentinel."""
zh: """使用 Redis 鉴权(哨兵模式)""" zh: """使用 Redis 授权(哨兵模式)。"""
} }
label { label {
en: """redis_sentinel""" en: """redis_sentinel"""
@ -341,7 +341,7 @@ Filter supports the following placeholders:
redis_cluster { redis_cluster {
desc { desc {
en: """Authorization using a Redis cluster.""" en: """Authorization using a Redis cluster."""
zh: """使用 Redis 鉴权(集群模式)""" zh: """使用 Redis 授权(集群模式)。"""
} }
label { label {
en: """redis_cluster""" en: """redis_cluster"""
@ -365,7 +365,7 @@ Filter supports the following placeholders:
query { query {
desc { desc {
en: """Database query used to retrieve authorization data.""" en: """Database query used to retrieve authorization data."""
zh: """访问控制数据查询语句/查询命令""" zh: """访问控制数据查询语句/查询命令"""
} }
label { label {
en: """query""" en: """query"""
@ -510,44 +510,44 @@ Filter supports the following placeholders:
metrics_total { metrics_total {
desc { desc {
en: """The total number of times the authorization rule was triggered.""" en: """The total number of times the authorization rule was triggered."""
zh: """权实例被触发的总次数。""" zh: """权实例被触发的总次数。"""
} }
label: { label: {
en: """The Total Number of Times the Authorization Rule was Triggered""" en: """The Total Number of Times the Authorization Rule was Triggered"""
zh: """权实例被触发的总次数""" zh: """权实例被触发的总次数"""
} }
} }
nomatch { nomatch {
desc { desc {
en: """The number of times that no authorization rules were matched.""" en: """The number of times that no authorization rules were matched."""
zh: """没有匹配到任何权规则的次数。""" zh: """没有匹配到任何权规则的次数。"""
} }
label: { label: {
en: """The Number of Times that no Authorization Rules were Matched""" en: """The Number of Times that no Authorization Rules were Matched"""
zh: """没有匹配到任何权规则的次数""" zh: """没有匹配到任何权规则的次数"""
} }
} }
allow { allow {
desc { desc {
en: """The number of times the authentication was successful.""" en: """The number of times the authentication was successful."""
zh: """权成功的次数。""" zh: """权成功的次数。"""
} }
label: { label: {
en: """The Number of Times the Authentication was Successful""" en: """The Number of Times the Authentication was Successful"""
zh: """权成功次数""" zh: """权成功次数"""
} }
} }
deny { deny {
desc { desc {
en: """The number of authentication failures.""" en: """The number of authentication failures."""
zh: """权失败的次数。""" zh: """权失败的次数。"""
} }
label: { label: {
en: """The Number of Authentication Failures""" en: """The Number of Authentication Failures"""
zh: """权失败次数""" zh: """权失败次数"""
} }
} }
} }

View File

@ -2,7 +2,7 @@ emqx_auto_subscribe_schema {
auto_subscribe { auto_subscribe {
desc { desc {
en: """After the device logs in successfully, the subscription is automatically completed for the device through the pre-defined subscription representation. Supports the use of placeholders.""" en: """After the device logs in successfully, the subscription is automatically completed for the device through the pre-defined subscription representation. Supports the use of placeholders."""
zh: """设备登成功之后,通过预设的订阅表示符,为设备自动完成订阅。支持使用占位符。""" zh: """设备登成功之后,通过预设的订阅表示符,为设备自动完成订阅。支持使用占位符。"""
} }
lable { lable {
en: """Auto Subscribe""" en: """Auto Subscribe"""

View File

@ -357,7 +357,7 @@ Setting <code>cluster.k8s.address_type</code> to <code>ip</code> will
make EMQX to discover IP addresses of peer nodes from Kubernetes API. make EMQX to discover IP addresses of peer nodes from Kubernetes API.
""" """
zh: """当使用 k8s 方式集群时address_type 用来从 Kubernetes 接口的应答里获取什么形式的 Host 列表。 zh: """当使用 k8s 方式集群时address_type 用来从 Kubernetes 接口的应答里获取什么形式的 Host 列表。
指定 <code>cluster.k8s.address_type</code. 为 <code>ip</code>,则将从 Kubernetes 接口中获取集群中其他节点 指定 <code>cluster.k8s.address_type</code> 为 <code>ip</code>,则将从 Kubernetes 接口中获取集群中其他节点
的IP地址。 的IP地址。
""" """
} }
@ -1201,7 +1201,7 @@ Supervisor 报告的类型。默认为 error 类型。
desc { desc {
en: """Enable log rotation feature.""" en: """Enable log rotation feature."""
zh: """启用日志轮换功能。启动后生成日志文件后缀会加上对应的索引数字比如log/emqx.log.1。 zh: """启用日志轮换功能。启动后生成日志文件后缀会加上对应的索引数字比如log/emqx.log.1。
系统会默认生成<code>*.siz/*.idx<code>用于记录日志位置,请不要手动修改这两个文件。 系统会默认生成<code>*.siz/*.idx</code>用于记录日志位置,请不要手动修改这两个文件。
""" """
} }
label { label {

View File

@ -9,15 +9,15 @@ In 'cluster_shareload' mode, the incoming load from the remote broker is shared
using shared subscription.</br> using shared subscription.</br>
Note that the 'clientid' is suffixed by the node name, this is to avoid Note that the 'clientid' is suffixed by the node name, this is to avoid
clientid conflicts between different nodes. And we can only use shared subscription clientid conflicts between different nodes. And we can only use shared subscription
topic filters for 'remote_topic' of ingress connections. topic filters for <code>remote_topic</code> of ingress connections.
""" """
zh: """ zh: """
MQTT 桥的模式。 </br> MQTT 桥的模式。 </br>
- cluster_shareload在 emqx 集群的每个节点上创建一个 MQTT 连接。</br> - cluster_shareload在 emqx 集群的每个节点上创建一个 MQTT 连接。</br>
在“cluster_shareload”模式下来自远程代理的传入负载通过共享订阅的方式接收。</br> 在“cluster_shareload”模式下来自远程代理的传入负载通过共享订阅的方式接收。</br>
请注意,“clientid”以节点名称为后缀这是为了避免不同节点之间的clientid冲突。 请注意,<code>clientid</code> 以节点名称为后缀这是为了避免不同节点之间的clientid冲突。
而且对于入口连接的“remote_topic”,我们只能使用共享订阅主题过滤器。 而且对于入口连接的 <code>remote_topic</code>,我们只能使用共享订阅主题过滤器。
""" """
} }
label: { label: {

View File

@ -146,7 +146,7 @@ This option specifies the QoS level for the CoAP Client when establishing a subs
""" """
zh: """客户端订阅请求的默认 QoS 等级。 zh: """客户端订阅请求的默认 QoS 等级。
当 CoAP 客户端发起订阅请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为: 当 CoAP 客户端发起订阅请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为:
- qos0, qos1, qos2: 设置为固定的 QoS 等级 - qos0、 qos1、qos2: 设置为固定的 QoS 等级
- coap: 依据订阅操作的 CoAP 报文类型来动态决定 - coap: 依据订阅操作的 CoAP 报文类型来动态决定
* 当订阅请求为 `non-confirmable` 类型时,取值为 qos0 * 当订阅请求为 `non-confirmable` 类型时,取值为 qos0
* 当订阅请求为 `confirmable` 类型时,取值为 qos1 * 当订阅请求为 `confirmable` 类型时,取值为 qos1
@ -165,7 +165,7 @@ This option specifies the QoS level for the CoAP Client when publishing a messag
zh: """客户端发布请求的默认 QoS 等级。 zh: """客户端发布请求的默认 QoS 等级。
当 CoAP 客户端发起发布请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为: 当 CoAP 客户端发起发布请求时,如果未携带 `qos` 参数则会使用该默认值。默认值可设置为:
- qos0, qos1, qos2: 设置为固定的 QoS 等级 - qos0、qos1、qos2: 设置为固定的 QoS 等级
- coap: 依据发布操作的 CoAP 报文类型来动态决定 - coap: 依据发布操作的 CoAP 报文类型来动态决定
* 当发布请求为 `non-confirmable` 类型时,取值为 qos0 * 当发布请求为 `non-confirmable` 类型时,取值为 qos0
* 当发布请求为 `confirmable` 类型时,取值为 qos1 * 当发布请求为 `confirmable` 类型时,取值为 qos1
@ -175,29 +175,29 @@ This option specifies the QoS level for the CoAP Client when publishing a messag
lwm2m { lwm2m {
desc { desc {
en: """The LwM2M Gateway configuration. This gateway only supports the v1.0.1 protocol""" en: """The LwM2M Gateway configuration. This gateway only supports the v1.0.1 protocol."""
zh: """LwM2M 网关配置。仅支持 v1.0.1 协议""" zh: """LwM2M 网关配置。仅支持 v1.0.1 协议"""
} }
} }
lwm2m_xml_dir { lwm2m_xml_dir {
desc { desc {
en: """The Directory for LwM2M Resource definition""" en: """The Directory for LwM2M Resource definition."""
zh: """LwM2M Resource 定义的 XML 文件目录路径""" zh: """LwM2M Resource 定义的 XML 文件目录路径"""
} }
} }
lwm2m_lifetime_min { lwm2m_lifetime_min {
desc { desc {
en: """Minimum value of lifetime allowed to be set by the LwM2M client""" en: """Minimum value of lifetime allowed to be set by the LwM2M client."""
zh: """允许 LwM2M 客户端允许设置的心跳最小值""" zh: """允许 LwM2M 客户端允许设置的心跳最小值"""
} }
} }
lwm2m_lifetime_max { lwm2m_lifetime_max {
desc { desc {
en: """Maximum value of lifetime allowed to be set by the LwM2M client""" en: """Maximum value of lifetime allowed to be set by the LwM2M client."""
zh: """允许 LwM2M 客户端允许设置的心跳最大值""" zh: """允许 LwM2M 客户端允许设置的心跳最大值"""
} }
} }
@ -207,14 +207,14 @@ This option specifies the QoS level for the CoAP Client when publishing a messag
For example, after receiving an update message from a client, any messages within this time window are sent directly to the LwM2M client, and all messages beyond this time window are temporarily stored in memory.""" For example, after receiving an update message from a client, any messages within this time window are sent directly to the LwM2M client, and all messages beyond this time window are temporarily stored in memory."""
zh: """在QMode模式下LwM2M网关认为网络链接有效的时间窗口的值。 zh: """在QMode模式下LwM2M网关认为网络链接有效的时间窗口的值。
例如在收到客户端的更新信息后在这个时间窗口内的任何信息都会直接发送到LwM2M客户端而超过这个时间窗口的所有信息都会暂时储存在内存中""" 例如在收到客户端的更新信息后在这个时间窗口内的任何信息都会直接发送到LwM2M客户端而超过这个时间窗口的所有信息都会暂时储存在内存中"""
} }
} }
lwm2m_auto_observe { lwm2m_auto_observe {
desc { desc {
en: """Automatically observe the object list of REGISTER packet""" en: """Automatically observe the object list of REGISTER packet."""
zh: """自动 Observe REGISTER 数据包的 Object 列表""" zh: """自动 Observe REGISTER 数据包的 Object 列表"""
} }
} }
@ -226,15 +226,15 @@ For example, after receiving an update message from a client, any messages withi
""" """
zh: """发布UPDATE事件消息的策略。 zh: """发布UPDATE事件消息的策略。
- always: 只要收到 UPDATE 请求,就发送更新事件。 - always: 只要收到 UPDATE 请求,就发送更新事件。
- contains_object_list: 仅当 UPDATE 请求携带 Object 列表时才发送更新事件 - contains_object_list: 仅当 UPDATE 请求携带 Object 列表时才发送更新事件
""" """
} }
} }
lwm2m_translators { lwm2m_translators {
desc { desc {
en: """Topic configuration for LwM2M's gateway publishing and subscription""" en: """Topic configuration for LwM2M's gateway publishing and subscription."""
zh: """LwM2M 网关订阅/发布消息的主题映射配置""" zh: """LwM2M 网关订阅/发布消息的主题映射配置"""
} }
} }
@ -244,14 +244,14 @@ For example, after receiving an update message from a client, any messages withi
For each new LwM2M client that succeeds in going online, the gateway creates a subscription relationship to receive downstream commands and send it to the LwM2M client""" For each new LwM2M client that succeeds in going online, the gateway creates a subscription relationship to receive downstream commands and send it to the LwM2M client"""
zh: """下行命令主题。 zh: """下行命令主题。
对于每个成功上线的新 LwM2M 客户端,网关会创建一个订阅关系来接收下行消息并将其发送给客户端""" 对于每个成功上线的新 LwM2M 客户端,网关会创建一个订阅关系来接收下行消息并将其发送给客户端"""
} }
} }
lwm2m_translators_response { lwm2m_translators_response {
desc { desc {
en: """The topic for gateway to publish the acknowledge events from LwM2M client""" en: """The topic for gateway to publish the acknowledge events from LwM2M client"""
zh: """用于网关发布来自 LwM2M 客户端的确认事件的主题""" zh: """用于网关发布来自 LwM2M 客户端的确认事件的主题"""
} }
} }
@ -261,28 +261,28 @@ For each new LwM2M client that succeeds in going online, the gateway creates a s
After succeed observe a resource of LwM2M client, Gateway will send the notify events via this topic, if the client reports any resource changes""" After succeed observe a resource of LwM2M client, Gateway will send the notify events via this topic, if the client reports any resource changes"""
zh: """用于发布来自 LwM2M 客户端的通知事件的主题。 zh: """用于发布来自 LwM2M 客户端的通知事件的主题。
在成功 Observe 到 LwM2M 客户端的资源后,如果客户端报告任何资源状态的变化,网关将通过该主题发送通知事件""" 在成功 Observe 到 LwM2M 客户端的资源后,如果客户端报告任何资源状态的变化,网关将通过该主题发送通知事件"""
} }
} }
lwm2m_translators_register { lwm2m_translators_register {
desc { desc {
en: """The topic for gateway to publish the register events from LwM2M client.""" en: """The topic for gateway to publish the register events from LwM2M client."""
zh: """用于发布来自 LwM2M 客户端的注册事件的主题""" zh: """用于发布来自 LwM2M 客户端的注册事件的主题"""
} }
} }
lwm2m_translators_update { lwm2m_translators_update {
desc { desc {
en: """The topic for gateway to publish the update events from LwM2M client""" en: """The topic for gateway to publish the update events from LwM2M client"""
zh: """用于发布来自LwM2M客户端的更新事件的主题""" zh: """用于发布来自LwM2M客户端的更新事件的主题"""
} }
} }
translator { translator {
desc { desc {
en: """MQTT topic that corresponds to a particular type of event.""" en: """MQTT topic that corresponds to a particular type of event."""
zh: """配置某网关客户端对于发布消息或订阅的主题和 QoS 等级""" zh: """配置某网关客户端对于发布消息或订阅的主题和 QoS 等级"""
} }
} }
@ -412,28 +412,28 @@ After succeed observe a resource of LwM2M client, Gateway will send the notify e
gateway_common_authentication { gateway_common_authentication {
desc { desc {
en: """Default authentication configs for all the gateway listeners. For per-listener overrides see <code>authentication</code>\n in listener configs""" en: """Default authentication configs for all the gateway listeners. For per-listener overrides see <code>authentication</code>\n in listener configs"""
zh: """网关的认证器配置,对该网关下所以的监听器生效。如果每个监听器需要配置不同的认证器,需要配置监听器下的 <code>authentication</code> 字段""" zh: """网关的认证器配置,对该网关下所以的监听器生效。如果每个监听器需要配置不同的认证器,需要配置监听器下的 <code>authentication</code> 字段"""
} }
} }
tcp_udp_listeners { tcp_udp_listeners {
desc { desc {
en: """Settings for the listeners.""" en: """Settings for the listeners."""
zh: """监听器配置""" zh: """监听器配置"""
} }
} }
tcp_listeners { tcp_listeners {
desc { desc {
en: """Settings for the TCP listeners.""" en: """Settings for the TCP listeners."""
zh: """配置 TCP 类型的监听器""" zh: """配置 TCP 类型的监听器"""
} }
} }
udp_listeners { udp_listeners {
desc { desc {
en: """Settings for the UDP listeners.""" en: """Settings for the UDP listeners."""
zh: """配置 UDP 类型的监听器""" zh: """配置 UDP 类型的监听器"""
} }
} }
@ -454,7 +454,7 @@ After succeed observe a resource of LwM2M client, Gateway will send the notify e
tcp_listener_tcp_opts{ tcp_listener_tcp_opts{
desc { desc {
en: """Setting the TCP socket options.""" en: """Setting the TCP socket options."""
zh: """TCP Socket 配置""" zh: """TCP Socket 配置"""
} }
} }
@ -484,7 +484,7 @@ EMQX will close the TCP connection if proxy protocol packet is not received with
ssl_listener_options { ssl_listener_options {
desc { desc {
en: """SSL Socket options.""" en: """SSL Socket options."""
zh: """SSL Socket 配置""" zh: """SSL Socket 配置"""
} }
} }
@ -498,7 +498,7 @@ EMQX will close the TCP connection if proxy protocol packet is not received with
udp_listener_udp_opts { udp_listener_udp_opts {
desc { desc {
en: """Settings for the UDP sockets.""" en: """Settings for the UDP sockets."""
zh: """UDP Socket 配置 """ zh: """UDP Socket 配置"""
} }
} }
@ -535,7 +535,7 @@ See: https://erlang.org/doc/man/inet.html#setopts-2"""
udp_listener_reuseaddr { udp_listener_reuseaddr {
desc { desc {
en: """Allow local reuse of port numbers.""" en: """Allow local reuse of port numbers."""
zh: """允许重用本地处于 TIME_WAIT 的端口号""" zh: """允许重用本地处于 TIME_WAIT 的端口号"""
} }
} }

View File

@ -73,7 +73,7 @@ the subdirectory named as <code>emqx_foo_bar-0.1.0</code>.
NOTE: For security reasons, this directory should **NOT** be writable NOTE: For security reasons, this directory should **NOT** be writable
by anyone except <code>emqx</code> (or any user which runs EMQX). by anyone except <code>emqx</code> (or any user which runs EMQX).
""" """
zh: "插件安装包的目录, 不要自己创建, 只能由emqx用户创建与修改" zh: "插件安装包的目录,出于安全考虑,该目录应该值允许 <code>emqx</code>,或用于运行 EMQX 服务的用户拥有写入权限。"
} }
label { label {
en: "Install Directory" en: "Install Directory"

View File

@ -16,7 +16,7 @@ The IDs and secrets can be provided from a file which is configurable by the <co
PSK 是 “Pre-Shared-Keys” 的缩写。 PSK 是 “Pre-Shared-Keys” 的缩写。
注意: 确保 SSL 监听器仅启用了 'tlsv1.2', 并且配置了PSK 密码套件,例如 'RSA-PSK-AES256-GCM-SHA384'。 注意: 确保 SSL 监听器仅启用了 'tlsv1.2'并且配置了PSK 密码套件,例如 'RSA-PSK-AES256-GCM-SHA384'。
可以通过查看监听器中的 SSL 选项,了解更多详细信息。 可以通过查看监听器中的 SSL 选项,了解更多详细信息。

View File

@ -2,7 +2,7 @@
{application, emqx_rule_engine, [ {application, emqx_rule_engine, [
{description, "EMQX Rule Engine"}, {description, "EMQX Rule Engine"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.2"}, {vsn, "5.0.3"},
{modules, []}, {modules, []},
{registered, [emqx_rule_engine_sup, emqx_rule_engine]}, {registered, [emqx_rule_engine_sup, emqx_rule_engine]},
{applications, [kernel, stdlib, rulesql, getopt]}, {applications, [kernel, stdlib, rulesql, getopt]},

View File

@ -671,8 +671,8 @@ event_info_client_connack() ->
event_info_client_check_authz_complete() -> event_info_client_check_authz_complete() ->
event_info_common( event_info_common(
'client.check_authz_complete', 'client.check_authz_complete',
{<<"client check authz complete">>, <<"权结果"/utf8>>}, {<<"client check authz complete">>, <<"权结果"/utf8>>},
{<<"client check authz complete">>, <<"权结果"/utf8>>}, {<<"client check authz complete">>, <<"权结果"/utf8>>},
<<"SELECT * FROM \"$events/client_check_authz_complete\"">> <<"SELECT * FROM \"$events/client_check_authz_complete\"">>
). ).
event_info_session_subscribed() -> event_info_session_subscribed() ->

View File

@ -94,14 +94,14 @@ Complex types define data 'boxes' which may contain other complex data
or primitive values. or primitive values.
There are quite some different primitive types, to name a few: There are quite some different primitive types, to name a few:
* `atom()` * `atom()`.
* `boolean()` * `boolean()`.
* `string()` * `string()`.
* `integer()` * `integer()`.
* `float()` * `float()`.
* `number()` * `number()`.
* `binary()` # another format of string() * `binary()`, another format of string().
* `emqx_schema:duration()` # time duration, another format of integer() * `emqx_schema:duration()`, time duration, another format of integer()
* ... * ...
::: tip Tip ::: tip Tip

View File

@ -1,28 +1,28 @@
EMQX的配置文件格式是 [HOCON](https://github.com/emqx/hocon) . EMQX的配置文件格式是 [HOCON](https://github.com/emqx/hocon)
HOCONHuman-Optimized Config Object Notation是一个JSON的超集非常适用于易于人类读写的配置数据存储。 HOCONHuman-Optimized Config Object Notation是一个JSON的超集非常适用于易于人类读写的配置数据存储。
## 分层结构 ## 分层结构
EMQX的配置文件可分为三层自底向上依次是 EMQX的配置文件可分为三层自底向上依次是
1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量.</br> 1. 不可变的基础层 `emqx.conf` 加上 `EMQX_` 前缀的环境变量</br>
修改这一层的配置之后,需要重启节点来使之生效。 修改这一层的配置之后,需要重启节点来使之生效。
1. 集群范围重载层:`$EMQX_NODE__DATA_DIR/configs/cluster-override.conf` 1. 集群范围重载层:`$EMQX_NODE__DATA_DIR/configs/cluster-override.conf`
1. 节点本地重载层:`$EMQX_NODE__DATA_DIR/configs/local-override.conf` 1. 节点本地重载层:`$EMQX_NODE__DATA_DIR/configs/local-override.conf`
如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 emqx.conf 的 `node.data_dir`配置中读取。 如果环境变量 `$EMQX_NODE__DATA_DIR` 没有设置,那么该目录会从 `emqx.conf``node.data_dir` 配置中读取。
配置文件 `cluster-override.conf` 的内容会在运行时被EMQX重写。 配置文件 `cluster-override.conf` 的内容会在运行时被EMQX重写。
这些重写发生在 dashboard UI管理HTTP API或者CLI对集群配置进行修改时。 这些重写发生在 dashboard UI管理HTTP API或者CLI对集群配置进行修改时。
当EMQX运行在集群中时一个EMQX节点重启之后会从集群中其他节点复制该文件内容到本地。 当EMQX运行在集群中时一个EMQX节点重启之后会从集群中其他节点复制该文件内容到本地。
:::tip Tip :::tip Tip
有些配置项是不能被重载的(例如 `node.name`. 有些配置项是不能被重载的(例如 `node.name`
配置项如果有 `mapping: path.to.boot.config.key` 这个属性, 配置项如果有 `mapping: path.to.boot.config.key` 这个属性,
则不能被添加到重载文件 `*-override.conf` 中。 则不能被添加到重载文件 `*-override.conf` 中。
::: :::
更多的重载规则,请参考下文 [配置重载规则](#配置重载规则). 更多的重载规则,请参考下文 [配置重载规则](#配置重载规则)
## 配置文件语法 ## 配置文件语法
@ -70,7 +70,7 @@ EMQX的配置文件中有4中复杂数据结构类型它们分别是
1. Struct结构体都是有类型名称的结构体中可以有任意多个字段。 1. Struct结构体都是有类型名称的结构体中可以有任意多个字段。
结构体和字段的名称由不带特殊字符的全小些字母组成,名称中可以带数字,但不得以数字开头,多个单词可用下划线分隔。 结构体和字段的名称由不带特殊字符的全小些字母组成,名称中可以带数字,但不得以数字开头,多个单词可用下划线分隔。
1. Map: Map与Struct结构体类似但是内部的字段不是预先定义好的. 1. Map: Map Struct结构体类似但是内部的字段不是预先定义好的
1. Union: 联合 `MemberType1 | MemberType2 | ...`,可以理解为:“不是这个,就是那个” 1. Union: 联合 `MemberType1 | MemberType2 | ...`,可以理解为:“不是这个,就是那个”
1. Array: 数组 `[ElementType]` 1. Array: 数组 `[ElementType]`
@ -89,19 +89,19 @@ myarray.2 = 75
复杂类型定义了数据 "盒子",其中可能包含其他复杂数据或原始值。 复杂类型定义了数据 "盒子",其中可能包含其他复杂数据或原始值。
有很多不同的原始类型,仅举几个例子。 有很多不同的原始类型,仅举几个例子。
* 原子 `atom()` * 原子 `atom()`
* 布尔 `boolean()`. * 布尔 `boolean()`
* 字符串 `string()' * 字符串 `string()`
* 整形 `integer()' * 整形 `integer()`
* 浮点数 `float()'. * 浮点数 `float()`
* 数值 `number()' * 数值 `number()`
* 二进制编码的字符串 `binary()` # `string()` 的另一种格式 * 二进制编码的字符串 `binary()``string()` 的另一种格式
* 时间间隔 `emqx_schema:duration()` # 时间间隔,`integer()` 的另一种格式 * 时间间隔 `emqx_schema:duration()``integer()` 的另一种格式
* ... * ...
::: tip Tip ::: tip Tip
原始类型的名称大多是自我描述的,所以不需要过多的注释。 原始类型的名称大多是自我描述的,所以不需要过多的注释。
但是有一些不是那么直观的数据类型,则需要配合字段的描述文档进行理解 但是有一些不是那么直观的数据类型,则需要配合字段的描述文档进行理解
::: :::
@ -110,7 +110,7 @@ myarray.2 = 75
如果我们把EMQX的配置值理解成一个类似目录树的结构那么类似于文件系统中使用斜杠或反斜杠进行层级分割 如果我们把EMQX的配置值理解成一个类似目录树的结构那么类似于文件系统中使用斜杠或反斜杠进行层级分割
EMQX使用的配置路径的层级分割符是 `'.'` EMQX使用的配置路径的层级分割符是 `'.'`
`'.'`号分割的每一段则是Struct结构体的字段或Map的key. `'.'` 号分割的每一段,则是 Struct结构体的字段或 Map 的 key。
下面有几个例子: 下面有几个例子:
@ -122,7 +122,7 @@ authentication.1.enable = true
### 环境变量重载 ### 环境变量重载
因为`'.'` 分隔符不能使用于环境变量所以我们需要使用另一个分割符。EMQX选用的是双下划线`__`。 因为 `'.'` 分隔符不能使用于环境变量所以我们需要使用另一个分割符。EMQX选用的是双下划线 `__`
为了与其他的环境变量有所区分EMQX还增加了一个前缀 `EMQX_` 来用作环境变量命名空间。 为了与其他的环境变量有所区分EMQX还增加了一个前缀 `EMQX_` 来用作环境变量命名空间。
例如 `node.name` 的重载变量名是 `EMQX_NODE__NAME` 例如 `node.name` 的重载变量名是 `EMQX_NODE__NAME`
@ -154,7 +154,7 @@ EMQX_BRIDGES__MQTT__MYBRIDGE__CONNECTOR_SERVER='"localhost:1883"'
[warning] unknown_env_vars: ["EMQX_AUTHENTICATION__ENABLED"] [warning] unknown_env_vars: ["EMQX_AUTHENTICATION__ENABLED"]
``` ```
这是因为正确的字段名称是 `enable`,而不是 `enabled`. 这是因为正确的字段名称是 `enable`,而不是 `enabled`
::: :::
### 配置重载规则 ### 配置重载规则
@ -168,8 +168,7 @@ HOCON的值是分层覆盖的普遍规则如下
#### 结构体 #### 结构体
合并覆盖规则。在如下配置中,最后一行的 `debug` 值会覆盖覆盖原先`level`字段的 `error` 合并覆盖规则。在如下配置中,最后一行的 `debug` 值会覆盖覆盖原先`level`字段的 `error` 值,但是 `enable` 字段保持不变。
但是`enable` 字段保持不变。
``` ```
log { log {
console_handler{ console_handler{
@ -178,7 +177,7 @@ log {
} }
} }
## 控制台日志打印先定义为`error`级,后被覆写成`debug`级 ## 控制台日志打印先定义为 `error` 级,后被覆写成 `debug`
log.console_handler.level=debug log.console_handler.level=debug
``` ```
@ -186,7 +185,7 @@ log.console_handler.level=debug
#### Map #### Map
Map与结构体类似也是合并覆盖规则。 Map与结构体类似也是合并覆盖规则。
如下例子中,`zone1` 的 `max_packet_size` 可以在文件后面覆写. 如下例子中,`zone1` 的 `max_packet_size` 可以在文件后面覆写
``` ```
zone { zone {