@emqx/shared-ui-i18n 0.0.8 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +240 -4
- package/dist/index.umd.cjs +55 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -240,6 +240,41 @@ FROM
|
|
|
240
240
|
target_topic: "Topic",
|
|
241
241
|
target_qos: "QoS",
|
|
242
242
|
template: '"Message Template'
|
|
243
|
+
},
|
|
244
|
+
redis: {
|
|
245
|
+
command_template: "Redis Command Template"
|
|
246
|
+
},
|
|
247
|
+
mongodb: {
|
|
248
|
+
collection: "Collection",
|
|
249
|
+
payload_template: "Payload template"
|
|
250
|
+
},
|
|
251
|
+
iotdb: {
|
|
252
|
+
device_id: "Device ID",
|
|
253
|
+
is_aligned: "Align Timeseries",
|
|
254
|
+
data: "Write Data",
|
|
255
|
+
timestamp: "Timestamp",
|
|
256
|
+
measurement: "Measurement",
|
|
257
|
+
data_type: "Data Type",
|
|
258
|
+
value: "Value"
|
|
259
|
+
},
|
|
260
|
+
influxdb: {
|
|
261
|
+
precision: "Time Precision",
|
|
262
|
+
write_syntax: "Write Syntax"
|
|
263
|
+
},
|
|
264
|
+
mqtt: {
|
|
265
|
+
topic: "Topic",
|
|
266
|
+
qos: "QoS",
|
|
267
|
+
retain: "Retain",
|
|
268
|
+
payload: "Payload"
|
|
269
|
+
},
|
|
270
|
+
elasticsearch: {
|
|
271
|
+
parameters: "Action",
|
|
272
|
+
index: "Index Name",
|
|
273
|
+
id: "Document ID",
|
|
274
|
+
doc: "Document Template",
|
|
275
|
+
routing: "Routing",
|
|
276
|
+
overwrite: "Overwrite Document",
|
|
277
|
+
doc_as_upsert: "Enable Upsert"
|
|
243
278
|
}
|
|
244
279
|
}, a = {
|
|
245
280
|
common: {
|
|
@@ -313,6 +348,41 @@ FROM
|
|
|
313
348
|
target_topic: "主题",
|
|
314
349
|
target_qos: "QoS",
|
|
315
350
|
template: "消息模板"
|
|
351
|
+
},
|
|
352
|
+
redis: {
|
|
353
|
+
command_template: "Redis 命令模板"
|
|
354
|
+
},
|
|
355
|
+
mongodb: {
|
|
356
|
+
collection: "集合(Collection)",
|
|
357
|
+
payload_template: "有效载荷模板"
|
|
358
|
+
},
|
|
359
|
+
iotdb: {
|
|
360
|
+
device_id: "设备 ID",
|
|
361
|
+
is_aligned: "对齐时间序列",
|
|
362
|
+
data: "写入数据",
|
|
363
|
+
timestamp: "时间戳",
|
|
364
|
+
measurement: "字段",
|
|
365
|
+
data_type: "数据类型",
|
|
366
|
+
value: "值"
|
|
367
|
+
},
|
|
368
|
+
influxdb: {
|
|
369
|
+
precision: "时间精度",
|
|
370
|
+
write_syntax: "写语句"
|
|
371
|
+
},
|
|
372
|
+
mqtt: {
|
|
373
|
+
topic: "主题",
|
|
374
|
+
qos: "QoS",
|
|
375
|
+
retain: "Retain",
|
|
376
|
+
payload: "消息模版"
|
|
377
|
+
},
|
|
378
|
+
elasticsearch: {
|
|
379
|
+
parameters: "操作",
|
|
380
|
+
index: "索引名称",
|
|
381
|
+
id: "文档 ID",
|
|
382
|
+
doc: "文档模版",
|
|
383
|
+
routing: "路由",
|
|
384
|
+
overwrite: "是否覆盖文档",
|
|
385
|
+
doc_as_upsert: "启用更新插入"
|
|
316
386
|
}
|
|
317
387
|
}, r = {
|
|
318
388
|
common: {
|
|
@@ -336,12 +406,15 @@ FROM
|
|
|
336
406
|
worker_pool_size: "Buffer Pool Size",
|
|
337
407
|
request_ttl: "Request TTL",
|
|
338
408
|
max_buffer_bytes: "Max Buffer Queue Size",
|
|
339
|
-
inflight_window: "Inflight Window"
|
|
409
|
+
inflight_window: "Inflight Window",
|
|
410
|
+
servers: "Servers",
|
|
411
|
+
enable_pipelining: "HTTP Pipelining"
|
|
340
412
|
},
|
|
341
413
|
kafka_producer: {
|
|
342
414
|
kerberos_principal: "Kerberos Principal",
|
|
343
415
|
kerberos_keytab_file: "Kerberos keytab file",
|
|
344
|
-
mechanism: "Mechanism"
|
|
416
|
+
mechanism: "Mechanism",
|
|
417
|
+
authentication: "Authentication"
|
|
345
418
|
},
|
|
346
419
|
http: {
|
|
347
420
|
url: "URL",
|
|
@@ -360,6 +433,52 @@ FROM
|
|
|
360
433
|
syskeeper_forwarder: {
|
|
361
434
|
ack_mode: "ACK Mode",
|
|
362
435
|
ack_timeout: "ACK Timeout"
|
|
436
|
+
},
|
|
437
|
+
redis: {
|
|
438
|
+
parameters: "Redis Mode",
|
|
439
|
+
sentinel: "Sentinel Mode"
|
|
440
|
+
},
|
|
441
|
+
mongodb: {
|
|
442
|
+
parameters: "MongoDB Mode",
|
|
443
|
+
w_mode: "Write Mode",
|
|
444
|
+
r_mode: "Read Mode",
|
|
445
|
+
srv_record: "Srv Record",
|
|
446
|
+
use_legacy_protocol: "Use Legacy Protocol",
|
|
447
|
+
auth_source: "Auth Source",
|
|
448
|
+
replica_set_name: "Replica Set Name",
|
|
449
|
+
max_overflow: "Max Overflow Workers",
|
|
450
|
+
overflow_ttl: "Overflow TTL",
|
|
451
|
+
overflow_check_period: "Overflow Check Period",
|
|
452
|
+
local_threshold_ms: "Local Threshold",
|
|
453
|
+
connect_timeout_ms: "Connect Timeout",
|
|
454
|
+
socket_timeout_ms: "Socket Timeout",
|
|
455
|
+
server_selection_timeout_ms: "Server Selection Timeout",
|
|
456
|
+
wait_queue_timeout_ms: "Wait Queue Timeout",
|
|
457
|
+
heartbeat_frequency_ms: "Heartbeat period",
|
|
458
|
+
min_heartbeat_frequency_ms: "Minimum Heartbeat Period"
|
|
459
|
+
},
|
|
460
|
+
influxdb: {
|
|
461
|
+
parameters: "Version of InfluxDB",
|
|
462
|
+
bucket: "Bucket",
|
|
463
|
+
org: "Organization",
|
|
464
|
+
token: "Token"
|
|
465
|
+
},
|
|
466
|
+
iotdb: {
|
|
467
|
+
base_url: "IoTDB REST Service Base URL",
|
|
468
|
+
iotdb_version: "IoTDB Version"
|
|
469
|
+
},
|
|
470
|
+
elasticsearch: {
|
|
471
|
+
server: "Server"
|
|
472
|
+
},
|
|
473
|
+
mqtt: {
|
|
474
|
+
server: "MQTT Broker",
|
|
475
|
+
clientid_prefix: "ClientID Prefix",
|
|
476
|
+
proto_ver: "MQTT Version",
|
|
477
|
+
bridge_mode: "Bridge Mode",
|
|
478
|
+
clean_start: "Clean start",
|
|
479
|
+
keepalive: "Keepalive",
|
|
480
|
+
retry_interval: "Message Retry Interval",
|
|
481
|
+
max_inflight: "Max Inflight"
|
|
363
482
|
}
|
|
364
483
|
}, o = {
|
|
365
484
|
common: {
|
|
@@ -383,12 +502,15 @@ FROM
|
|
|
383
502
|
worker_pool_size: "缓存池大小",
|
|
384
503
|
request_ttl: "请求超期",
|
|
385
504
|
max_buffer_bytes: "缓存队列最大长度",
|
|
386
|
-
inflight_window: "请求飞行队列窗口"
|
|
505
|
+
inflight_window: "请求飞行队列窗口",
|
|
506
|
+
servers: "服务器列表",
|
|
507
|
+
enable_pipelining: "HTTP 流水线"
|
|
387
508
|
},
|
|
388
509
|
kafka_producer: {
|
|
389
510
|
kerberos_principal: "Kerberos Principal",
|
|
390
511
|
kerberos_keytab_file: "Kerberos keytab 文件",
|
|
391
|
-
mechanism: "认证方法"
|
|
512
|
+
mechanism: "认证方法",
|
|
513
|
+
authentication: "认证"
|
|
392
514
|
},
|
|
393
515
|
http: {
|
|
394
516
|
url: "URL",
|
|
@@ -407,10 +529,124 @@ FROM
|
|
|
407
529
|
syskeeper_forwarder: {
|
|
408
530
|
ack_mode: "ACK 模式",
|
|
409
531
|
ack_timeout: "ACK 超时"
|
|
532
|
+
},
|
|
533
|
+
redis: {
|
|
534
|
+
parameters: "部署模式",
|
|
535
|
+
sentinel: "哨兵模式"
|
|
536
|
+
},
|
|
537
|
+
mongodb: {
|
|
538
|
+
parameters: "部署模式",
|
|
539
|
+
w_mode: "写模式",
|
|
540
|
+
r_mode: "读模式",
|
|
541
|
+
srv_record: "SRV 记录",
|
|
542
|
+
use_legacy_protocol: "使用旧协议",
|
|
543
|
+
auth_source: "认证源",
|
|
544
|
+
replica_set_name: "副本集名称",
|
|
545
|
+
max_overflow: "最大溢出",
|
|
546
|
+
overflow_ttl: "溢出 TTL",
|
|
547
|
+
overflow_check_period: "溢出检查周期",
|
|
548
|
+
local_threshold_ms: "本地阈值",
|
|
549
|
+
connect_timeout_ms: "连接超时",
|
|
550
|
+
socket_timeout_ms: "套接字操作超时",
|
|
551
|
+
server_selection_timeout_ms: "服务器选择超时",
|
|
552
|
+
wait_queue_timeout_ms: "等待队列超时",
|
|
553
|
+
heartbeat_frequency_ms: "心跳期",
|
|
554
|
+
min_heartbeat_frequency_ms: "最小心跳周期"
|
|
555
|
+
},
|
|
556
|
+
influxdb: {
|
|
557
|
+
parameters: "InfluxDB 版本",
|
|
558
|
+
bucket: "Bucket",
|
|
559
|
+
org: "组织",
|
|
560
|
+
token: "Token"
|
|
561
|
+
},
|
|
562
|
+
iotdb: {
|
|
563
|
+
base_url: "IoTDB REST 服务基础 URL",
|
|
564
|
+
iotdb_version: "IoTDB 版本"
|
|
565
|
+
},
|
|
566
|
+
elasticsearch: {
|
|
567
|
+
server: "服务器地址"
|
|
568
|
+
},
|
|
569
|
+
mqtt: {
|
|
570
|
+
server: "MQTT 服务地址",
|
|
571
|
+
clientid_prefix: "客户端 ID 前缀",
|
|
572
|
+
proto_ver: "MQTT 协议版本",
|
|
573
|
+
bridge_mode: "桥接模式",
|
|
574
|
+
clean_start: "清除会话",
|
|
575
|
+
keepalive: "Keepalive",
|
|
576
|
+
retry_interval: "消息重发间隔",
|
|
577
|
+
max_inflight: "飞行窗口"
|
|
578
|
+
}
|
|
579
|
+
}, s = {
|
|
580
|
+
authn: {
|
|
581
|
+
mysql: "CREATE TABLE IF NOT EXISTS `mqtt_user` (\n `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `username` varchar(100) DEFAULT NULL,\n `password_hash` varchar(100) DEFAULT NULL,\n `salt` varchar(35) DEFAULT NULL,\n `is_superuser` tinyint(1) DEFAULT 0,\n `created` datetime DEFAULT NULL,\n PRIMARY KEY (`id`),\n UNIQUE KEY `mqtt_username` (`username`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;",
|
|
582
|
+
postgresql: `CREATE TABLE mqtt_user (
|
|
583
|
+
id SERIAL primary key,
|
|
584
|
+
is_superuser boolean,
|
|
585
|
+
username character varying(100),
|
|
586
|
+
password_hash character varying(100),
|
|
587
|
+
salt character varying(40)
|
|
588
|
+
)`,
|
|
589
|
+
mongodb: `{
|
|
590
|
+
username: "emqx_user",
|
|
591
|
+
password_hash: "******",
|
|
592
|
+
salt: "foo+bar",
|
|
593
|
+
is_superuser: false,
|
|
594
|
+
created: "2021-01-01 12:00:01"
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
db.mqtt_user.findOne({"username": "emqx_user"})`,
|
|
598
|
+
redis: `# sample data
|
|
599
|
+
HMSET mqtt_user:emqx_u password_hash *** salt foo+bar is_superuser 1
|
|
600
|
+
|
|
601
|
+
# sample cmd
|
|
602
|
+
# HMGET mqtt_user:\${username}
|
|
603
|
+
|
|
604
|
+
## only password
|
|
605
|
+
HMGET mqtt_user:emqx_u password_hash
|
|
606
|
+
|
|
607
|
+
## password + salt
|
|
608
|
+
HMGET mqtt_user:emqx_u password_hash salt
|
|
609
|
+
|
|
610
|
+
## password + salt, enable superuser
|
|
611
|
+
HMGET mqtt_user:emqx_u password_hash salt is_superuser
|
|
612
|
+
|
|
613
|
+
## only password, enable superuser
|
|
614
|
+
HMGET mqtt_user:emqx_u password_hash is_superuser`
|
|
615
|
+
},
|
|
616
|
+
authz: {
|
|
617
|
+
mysql: "CREATE TABLE `mqtt_acl` (\n`id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n`ipaddress` VARCHAR(60) NOT NULL DEFAULT '',\n`username` VARCHAR(255) NOT NULL DEFAULT '',\n`clientid` VARCHAR(255) NOT NULL DEFAULT '',\n`action` ENUM('publish', 'subscribe', 'all') NOT NULL,\n`permission` ENUM('allow', 'deny') NOT NULL,\n`topic` VARCHAR(255) NOT NULL DEFAULT '',\nPRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;",
|
|
618
|
+
postgresql: `CREATE TYPE ACTION AS ENUM('publish','subscribe','all');
|
|
619
|
+
CREATE TYPE PERMISSION AS ENUM('allow','deny');
|
|
620
|
+
|
|
621
|
+
CREATE TABLE mqtt_acl (
|
|
622
|
+
id SERIAL PRIMARY KEY,
|
|
623
|
+
ipaddress CHARACTER VARYING(60) NOT NULL DEFAULT '',
|
|
624
|
+
username CHARACTER VARYING(255) NOT NULL DEFAULT '',
|
|
625
|
+
clientid CHARACTER VARYING(255) NOT NULL DEFAULT '',
|
|
626
|
+
action ACTION,
|
|
627
|
+
permission PERMISSION,
|
|
628
|
+
topic CHARACTER VARYING(255) NOT NULL
|
|
629
|
+
);`,
|
|
630
|
+
mongodb: `{
|
|
631
|
+
username: "emqx_u",
|
|
632
|
+
clientid: "emqx_c",
|
|
633
|
+
ipaddress: "127.0.0.1",
|
|
634
|
+
permission: "allow",
|
|
635
|
+
action: "all",
|
|
636
|
+
topics: ["#"]
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
db.mqtt_acl.findOne({"username": "emqx_user"})`,
|
|
640
|
+
redis: `# sample data
|
|
641
|
+
HSET mqtt_acl:emqx_u 't/#' subscribe
|
|
642
|
+
|
|
643
|
+
# sample cmd
|
|
644
|
+
HGETALL mqtt_acl:\${username}`
|
|
410
645
|
}
|
|
411
646
|
};
|
|
412
647
|
export {
|
|
413
648
|
e as SQLTemplates,
|
|
649
|
+
s as authHelpCodeMap,
|
|
414
650
|
t as enActionsLabel,
|
|
415
651
|
r as enConnectorsLabel,
|
|
416
652
|
a as zhActionsLabel,
|
package/dist/index.umd.cjs
CHANGED
|
@@ -25,4 +25,58 @@ FROM
|
|
|
25
25
|
"t/#"`,input:{x:8},outputs:{x:7}},{title:{zh:"数组处理 - 从 JSON 格式的 payload 中获取嵌套的值",en:"Array - Get nested values from JSON-formatted payload"},scene:{zh:"处理 JSON 格式的 payload,从嵌套格式中获取所需要的值。",en:"Process JSON-formatted payload and get the values needed from the nested format."},sql:`SELECT
|
|
26
26
|
payload.data[1].id as id
|
|
27
27
|
FROM
|
|
28
|
-
"t/#"`,input:{data:[{id:1,name:"steve"},{id:2,name:"bill"}]},outputs:{id:1}}],a={common:{health_check_interval:"Health Check Interval",query_mode:"Query Mode",max_retries:"Max Retries",worker_pool_size:"Buffer Pool Size",start_after_created:"Start After Created",start_timeout:"Start Timeout",request_ttl:"Request TTL",inflight_window:"Inflight Window",max_buffer_bytes:"Max Buffer Queue Size",sql:"SQL",batch_size:"Batch Size",topic:"Kafka Topic",key:"Message Key",value:"Message Value",compression:"Compression",partition_strategy:"Partition Strategy",kafka_headers:"Kafka Headers",kafka_ext_headers:"More Kafka Headers",kafka_ext_header_key:"Key",kafka_ext_header_value:"Value",kafka_header_value_encode_mode:"Kafka Header Value Encode Mode",max_batch_bytes:"Max Batch Bytes",required_acks:"Required Acks",partition_count_refresh_interval:"Partition Count Refresh Interval",max_inflight:"Max Inflight",mode:"Buffer Mode",per_partition_limit:"Per-partition Buffer Limit",segment_bytes:"Segment File Bytes",memory_overload_protection:"Memory Overload Protection",sync_query_timeout:"Synchronous Query Timeout"},kafka_producer:{timestamp:"Message Timestamp",kafka_ext_header_key:"Kafka Header Key",kafka_ext_header_value:"Kafka Header Value"},http:{body:"Body",headers:"Headers",method:"Method",path:"URL Path"},azure_event_hub_producer:{topic:"Event Hub Name",key:"Message Key",value:"Message Value",partition_strategy:"Partition Strategy",required_acks:"Required Acks",kafka_headers:"Azure Event Hubs Headers",kafka_ext_headers:"Extra Azure Event Hubs headers",kafka_header_value_encode_mode:"Azure Event Hubs headers value encode mode",partition_count_refresh_interval:"Partition Count Refresh Interval",max_inflight:"Max Inflight",mode:"Buffer Mode",per_partition_limit:"Per-partition Buffer Limit",segment_bytes:"Segment File Bytes",memory_overload_protection:"Memory Overload Protection",max_batch_bytes:"Max Batch Bytes",query_mode:"Query mode"},gcp_pubsub_producer:{attributes_template:"Attributes Template",pubsub_topic:"GCP PubSub Topic",ordering_key_template:"Ordering Key template",payload_template:"Payload Template"},syskeeper_forwarder:{target_topic:"Topic",target_qos:"QoS",template:'"Message Template'}},r={common:{health_check_interval:"健康检查间隔",query_mode:"请求模式",max_retries:"最大重试次数",worker_pool_size:"缓存池大小",start_after_created:"创建后立即启动",start_timeout:"启动超时时间",request_ttl:"请求超期",inflight_window:"请求飞行队列窗口",max_buffer_bytes:"缓存队列最大长度",sql:"SQL",batch_size:"最大批量请求大小",topic:"Kafka 主题名称",key:"消息的键",value:"消息的值",compression:"压缩",partition_strategy:"分区选择策略",kafka_headers:"Kafka Headers",kafka_ext_headers:"更多的 Kafka Headers",kafka_ext_header_key:"键",kafka_ext_header_value:"值",kafka_header_value_encode_mode:"Kafka Headers 值编码类型",max_batch_bytes:"最大批量字节数",required_acks:"Kafka 确认数量",partition_count_refresh_interval:"分区数量刷新间隔",max_inflight:"飞行窗口",mode:"缓存模式",per_partition_limit:"Kafka 分区缓存上限",segment_bytes:"缓存文件大小",memory_overload_protection:"内存过载保护",sync_query_timeout:"同步查询超时时间"},kafka_producer:{timestamp:"消息的时间戳",kafka_ext_header_key:"Kafka Headers 键",kafka_ext_header_value:"Kafka Headers 值"},http:{body:"请求体",headers:"请求头",method:"请求方法",path:"URL 路径"},azure_event_hub_producer:{topic:"事件中心名称",key:"消息键",value:"消息值",partition_strategy:"分区策略",required_acks:"所需确认",kafka_headers:"Azure Event Hubs 头部",kafka_ext_headers:"额外的 Azure Event Hubs 头部信息",kafka_header_value_encode_mode:"Azure Event Hubs 头部值编码模式",partition_count_refresh_interval:"分区数刷新间隔",max_inflight:"最大传输数",mode:"缓冲区模式",per_partition_limit:"每个分区缓冲限制",segment_bytes:"段文件字节数",memory_overload_protection:"内存过载保护",max_batch_bytes:"最大批次字节数",query_mode:"查询模式"},gcp_pubsub_producer:{attributes_template:"属性模版",pubsub_topic:"GCP PubSub 主题",ordering_key_template:"排序键模板",payload_template:"HTTP 请求消息体模板"},syskeeper_forwarder:{target_topic:"主题",target_qos:"QoS",template:"消息模板"}},o={common:{connect_timeout:"Connect Timeout",bootstrap_hosts:"Bootstrap Hosts",min_metadata_refresh_interval:"Min Metadata Refresh Interval",metadata_request_timeout:"Metadata Request Timeout",tcp_keepalive:"TCP Keepalive",sndbuf:"Socket Send Buffer Size",recbuf:"Socket Receive Buffer Size",nodelay:"No Delay",username:"Username",password:"Password",pool_size:"Connection Pool Size",pool_type:"Pool Type",server:"Server Host",database:"Database Name",health_check_interval:"Health Check Interval",start_timeout:"Start Timeout",max_retries:"Max Retries",worker_pool_size:"Buffer Pool Size",request_ttl:"Request TTL",max_buffer_bytes:"Max Buffer Queue Size",inflight_window:"Inflight Window"},kafka_producer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos keytab file",mechanism:"Mechanism"},http:{url:"URL",headers:"Headers",enable_pipelining:"HTTP Pipelining"},gcp_pubsub_producer:{pipelining:"HTTP Pipelining",service_account_json:"GCP Service Account Credentials",query_mode:"Query Mode",batch_size:"Batch Size"},azure_event_hub_producer:{bootstrap_hosts:"Bootstrap Hosts"},syskeeper_forwarder:{ack_mode:"ACK Mode",ack_timeout:"ACK Timeout"}},
|
|
28
|
+
"t/#"`,input:{data:[{id:1,name:"steve"},{id:2,name:"bill"}]},outputs:{id:1}}],a={common:{health_check_interval:"Health Check Interval",query_mode:"Query Mode",max_retries:"Max Retries",worker_pool_size:"Buffer Pool Size",start_after_created:"Start After Created",start_timeout:"Start Timeout",request_ttl:"Request TTL",inflight_window:"Inflight Window",max_buffer_bytes:"Max Buffer Queue Size",sql:"SQL",batch_size:"Batch Size",topic:"Kafka Topic",key:"Message Key",value:"Message Value",compression:"Compression",partition_strategy:"Partition Strategy",kafka_headers:"Kafka Headers",kafka_ext_headers:"More Kafka Headers",kafka_ext_header_key:"Key",kafka_ext_header_value:"Value",kafka_header_value_encode_mode:"Kafka Header Value Encode Mode",max_batch_bytes:"Max Batch Bytes",required_acks:"Required Acks",partition_count_refresh_interval:"Partition Count Refresh Interval",max_inflight:"Max Inflight",mode:"Buffer Mode",per_partition_limit:"Per-partition Buffer Limit",segment_bytes:"Segment File Bytes",memory_overload_protection:"Memory Overload Protection",sync_query_timeout:"Synchronous Query Timeout"},kafka_producer:{timestamp:"Message Timestamp",kafka_ext_header_key:"Kafka Header Key",kafka_ext_header_value:"Kafka Header Value"},http:{body:"Body",headers:"Headers",method:"Method",path:"URL Path"},azure_event_hub_producer:{topic:"Event Hub Name",key:"Message Key",value:"Message Value",partition_strategy:"Partition Strategy",required_acks:"Required Acks",kafka_headers:"Azure Event Hubs Headers",kafka_ext_headers:"Extra Azure Event Hubs headers",kafka_header_value_encode_mode:"Azure Event Hubs headers value encode mode",partition_count_refresh_interval:"Partition Count Refresh Interval",max_inflight:"Max Inflight",mode:"Buffer Mode",per_partition_limit:"Per-partition Buffer Limit",segment_bytes:"Segment File Bytes",memory_overload_protection:"Memory Overload Protection",max_batch_bytes:"Max Batch Bytes",query_mode:"Query mode"},gcp_pubsub_producer:{attributes_template:"Attributes Template",pubsub_topic:"GCP PubSub Topic",ordering_key_template:"Ordering Key template",payload_template:"Payload Template"},syskeeper_forwarder:{target_topic:"Topic",target_qos:"QoS",template:'"Message Template'},redis:{command_template:"Redis Command Template"},mongodb:{collection:"Collection",payload_template:"Payload template"},iotdb:{device_id:"Device ID",is_aligned:"Align Timeseries",data:"Write Data",timestamp:"Timestamp",measurement:"Measurement",data_type:"Data Type",value:"Value"},influxdb:{precision:"Time Precision",write_syntax:"Write Syntax"},mqtt:{topic:"Topic",qos:"QoS",retain:"Retain",payload:"Payload"},elasticsearch:{parameters:"Action",index:"Index Name",id:"Document ID",doc:"Document Template",routing:"Routing",overwrite:"Overwrite Document",doc_as_upsert:"Enable Upsert"}},r={common:{health_check_interval:"健康检查间隔",query_mode:"请求模式",max_retries:"最大重试次数",worker_pool_size:"缓存池大小",start_after_created:"创建后立即启动",start_timeout:"启动超时时间",request_ttl:"请求超期",inflight_window:"请求飞行队列窗口",max_buffer_bytes:"缓存队列最大长度",sql:"SQL",batch_size:"最大批量请求大小",topic:"Kafka 主题名称",key:"消息的键",value:"消息的值",compression:"压缩",partition_strategy:"分区选择策略",kafka_headers:"Kafka Headers",kafka_ext_headers:"更多的 Kafka Headers",kafka_ext_header_key:"键",kafka_ext_header_value:"值",kafka_header_value_encode_mode:"Kafka Headers 值编码类型",max_batch_bytes:"最大批量字节数",required_acks:"Kafka 确认数量",partition_count_refresh_interval:"分区数量刷新间隔",max_inflight:"飞行窗口",mode:"缓存模式",per_partition_limit:"Kafka 分区缓存上限",segment_bytes:"缓存文件大小",memory_overload_protection:"内存过载保护",sync_query_timeout:"同步查询超时时间"},kafka_producer:{timestamp:"消息的时间戳",kafka_ext_header_key:"Kafka Headers 键",kafka_ext_header_value:"Kafka Headers 值"},http:{body:"请求体",headers:"请求头",method:"请求方法",path:"URL 路径"},azure_event_hub_producer:{topic:"事件中心名称",key:"消息键",value:"消息值",partition_strategy:"分区策略",required_acks:"所需确认",kafka_headers:"Azure Event Hubs 头部",kafka_ext_headers:"额外的 Azure Event Hubs 头部信息",kafka_header_value_encode_mode:"Azure Event Hubs 头部值编码模式",partition_count_refresh_interval:"分区数刷新间隔",max_inflight:"最大传输数",mode:"缓冲区模式",per_partition_limit:"每个分区缓冲限制",segment_bytes:"段文件字节数",memory_overload_protection:"内存过载保护",max_batch_bytes:"最大批次字节数",query_mode:"查询模式"},gcp_pubsub_producer:{attributes_template:"属性模版",pubsub_topic:"GCP PubSub 主题",ordering_key_template:"排序键模板",payload_template:"HTTP 请求消息体模板"},syskeeper_forwarder:{target_topic:"主题",target_qos:"QoS",template:"消息模板"},redis:{command_template:"Redis 命令模板"},mongodb:{collection:"集合(Collection)",payload_template:"有效载荷模板"},iotdb:{device_id:"设备 ID",is_aligned:"对齐时间序列",data:"写入数据",timestamp:"时间戳",measurement:"字段",data_type:"数据类型",value:"值"},influxdb:{precision:"时间精度",write_syntax:"写语句"},mqtt:{topic:"主题",qos:"QoS",retain:"Retain",payload:"消息模版"},elasticsearch:{parameters:"操作",index:"索引名称",id:"文档 ID",doc:"文档模版",routing:"路由",overwrite:"是否覆盖文档",doc_as_upsert:"启用更新插入"}},o={common:{connect_timeout:"Connect Timeout",bootstrap_hosts:"Bootstrap Hosts",min_metadata_refresh_interval:"Min Metadata Refresh Interval",metadata_request_timeout:"Metadata Request Timeout",tcp_keepalive:"TCP Keepalive",sndbuf:"Socket Send Buffer Size",recbuf:"Socket Receive Buffer Size",nodelay:"No Delay",username:"Username",password:"Password",pool_size:"Connection Pool Size",pool_type:"Pool Type",server:"Server Host",database:"Database Name",health_check_interval:"Health Check Interval",start_timeout:"Start Timeout",max_retries:"Max Retries",worker_pool_size:"Buffer Pool Size",request_ttl:"Request TTL",max_buffer_bytes:"Max Buffer Queue Size",inflight_window:"Inflight Window",servers:"Servers",enable_pipelining:"HTTP Pipelining"},kafka_producer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos keytab file",mechanism:"Mechanism",authentication:"Authentication"},http:{url:"URL",headers:"Headers",enable_pipelining:"HTTP Pipelining"},gcp_pubsub_producer:{pipelining:"HTTP Pipelining",service_account_json:"GCP Service Account Credentials",query_mode:"Query Mode",batch_size:"Batch Size"},azure_event_hub_producer:{bootstrap_hosts:"Bootstrap Hosts"},syskeeper_forwarder:{ack_mode:"ACK Mode",ack_timeout:"ACK Timeout"},redis:{parameters:"Redis Mode",sentinel:"Sentinel Mode"},mongodb:{parameters:"MongoDB Mode",w_mode:"Write Mode",r_mode:"Read Mode",srv_record:"Srv Record",use_legacy_protocol:"Use Legacy Protocol",auth_source:"Auth Source",replica_set_name:"Replica Set Name",max_overflow:"Max Overflow Workers",overflow_ttl:"Overflow TTL",overflow_check_period:"Overflow Check Period",local_threshold_ms:"Local Threshold",connect_timeout_ms:"Connect Timeout",socket_timeout_ms:"Socket Timeout",server_selection_timeout_ms:"Server Selection Timeout",wait_queue_timeout_ms:"Wait Queue Timeout",heartbeat_frequency_ms:"Heartbeat period",min_heartbeat_frequency_ms:"Minimum Heartbeat Period"},influxdb:{parameters:"Version of InfluxDB",bucket:"Bucket",org:"Organization",token:"Token"},iotdb:{base_url:"IoTDB REST Service Base URL",iotdb_version:"IoTDB Version"},elasticsearch:{server:"Server"},mqtt:{server:"MQTT Broker",clientid_prefix:"ClientID Prefix",proto_ver:"MQTT Version",bridge_mode:"Bridge Mode",clean_start:"Clean start",keepalive:"Keepalive",retry_interval:"Message Retry Interval",max_inflight:"Max Inflight"}},s={common:{connect_timeout:"连接超时",bootstrap_hosts:"主机列表",min_metadata_refresh_interval:"元数据刷新最小间隔",metadata_request_timeout:"元数据请求超时",tcp_keepalive:"TCP Keepalive",sndbuf:"Socket 发送缓存大小",recbuf:"Socket 收包缓存大小",nodelay:"是否关闭延迟发送",username:"用户名",password:"密码",pool_size:"连接池大小",pool_type:"连接池类型",server:"服务器地址",database:"数据库名字",health_check_interval:"健康检查间隔",start_timeout:"启动超时时间",max_retries:"最大重试次数",worker_pool_size:"缓存池大小",request_ttl:"请求超期",max_buffer_bytes:"缓存队列最大长度",inflight_window:"请求飞行队列窗口",servers:"服务器列表",enable_pipelining:"HTTP 流水线"},kafka_producer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos keytab 文件",mechanism:"认证方法",authentication:"认证"},http:{url:"URL",headers:"请求头",enable_pipelining:"HTTP 管道"},gcp_pubsub_producer:{pipelining:"HTTP 流水线",service_account_json:"GCP 服务账户凭证",query_mode:"请求模式",batch_size:"最大批量请求大小"},azure_event_hub_producer:{bootstrap_hosts:"引导主机"},syskeeper_forwarder:{ack_mode:"ACK 模式",ack_timeout:"ACK 超时"},redis:{parameters:"部署模式",sentinel:"哨兵模式"},mongodb:{parameters:"部署模式",w_mode:"写模式",r_mode:"读模式",srv_record:"SRV 记录",use_legacy_protocol:"使用旧协议",auth_source:"认证源",replica_set_name:"副本集名称",max_overflow:"最大溢出",overflow_ttl:"溢出 TTL",overflow_check_period:"溢出检查周期",local_threshold_ms:"本地阈值",connect_timeout_ms:"连接超时",socket_timeout_ms:"套接字操作超时",server_selection_timeout_ms:"服务器选择超时",wait_queue_timeout_ms:"等待队列超时",heartbeat_frequency_ms:"心跳期",min_heartbeat_frequency_ms:"最小心跳周期"},influxdb:{parameters:"InfluxDB 版本",bucket:"Bucket",org:"组织",token:"Token"},iotdb:{base_url:"IoTDB REST 服务基础 URL",iotdb_version:"IoTDB 版本"},elasticsearch:{server:"服务器地址"},mqtt:{server:"MQTT 服务地址",clientid_prefix:"客户端 ID 前缀",proto_ver:"MQTT 协议版本",bridge_mode:"桥接模式",clean_start:"清除会话",keepalive:"Keepalive",retry_interval:"消息重发间隔",max_inflight:"飞行窗口"}},i={authn:{mysql:"CREATE TABLE IF NOT EXISTS `mqtt_user` (\n `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n `username` varchar(100) DEFAULT NULL,\n `password_hash` varchar(100) DEFAULT NULL,\n `salt` varchar(35) DEFAULT NULL,\n `is_superuser` tinyint(1) DEFAULT 0,\n `created` datetime DEFAULT NULL,\n PRIMARY KEY (`id`),\n UNIQUE KEY `mqtt_username` (`username`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;",postgresql:`CREATE TABLE mqtt_user (
|
|
29
|
+
id SERIAL primary key,
|
|
30
|
+
is_superuser boolean,
|
|
31
|
+
username character varying(100),
|
|
32
|
+
password_hash character varying(100),
|
|
33
|
+
salt character varying(40)
|
|
34
|
+
)`,mongodb:`{
|
|
35
|
+
username: "emqx_user",
|
|
36
|
+
password_hash: "******",
|
|
37
|
+
salt: "foo+bar",
|
|
38
|
+
is_superuser: false,
|
|
39
|
+
created: "2021-01-01 12:00:01"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
db.mqtt_user.findOne({"username": "emqx_user"})`,redis:`# sample data
|
|
43
|
+
HMSET mqtt_user:emqx_u password_hash *** salt foo+bar is_superuser 1
|
|
44
|
+
|
|
45
|
+
# sample cmd
|
|
46
|
+
# HMGET mqtt_user:\${username}
|
|
47
|
+
|
|
48
|
+
## only password
|
|
49
|
+
HMGET mqtt_user:emqx_u password_hash
|
|
50
|
+
|
|
51
|
+
## password + salt
|
|
52
|
+
HMGET mqtt_user:emqx_u password_hash salt
|
|
53
|
+
|
|
54
|
+
## password + salt, enable superuser
|
|
55
|
+
HMGET mqtt_user:emqx_u password_hash salt is_superuser
|
|
56
|
+
|
|
57
|
+
## only password, enable superuser
|
|
58
|
+
HMGET mqtt_user:emqx_u password_hash is_superuser`},authz:{mysql:"CREATE TABLE `mqtt_acl` (\n`id` int(11) unsigned NOT NULL AUTO_INCREMENT,\n`ipaddress` VARCHAR(60) NOT NULL DEFAULT '',\n`username` VARCHAR(255) NOT NULL DEFAULT '',\n`clientid` VARCHAR(255) NOT NULL DEFAULT '',\n`action` ENUM('publish', 'subscribe', 'all') NOT NULL,\n`permission` ENUM('allow', 'deny') NOT NULL,\n`topic` VARCHAR(255) NOT NULL DEFAULT '',\nPRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;",postgresql:`CREATE TYPE ACTION AS ENUM('publish','subscribe','all');
|
|
59
|
+
CREATE TYPE PERMISSION AS ENUM('allow','deny');
|
|
60
|
+
|
|
61
|
+
CREATE TABLE mqtt_acl (
|
|
62
|
+
id SERIAL PRIMARY KEY,
|
|
63
|
+
ipaddress CHARACTER VARYING(60) NOT NULL DEFAULT '',
|
|
64
|
+
username CHARACTER VARYING(255) NOT NULL DEFAULT '',
|
|
65
|
+
clientid CHARACTER VARYING(255) NOT NULL DEFAULT '',
|
|
66
|
+
action ACTION,
|
|
67
|
+
permission PERMISSION,
|
|
68
|
+
topic CHARACTER VARYING(255) NOT NULL
|
|
69
|
+
);`,mongodb:`{
|
|
70
|
+
username: "emqx_u",
|
|
71
|
+
clientid: "emqx_c",
|
|
72
|
+
ipaddress: "127.0.0.1",
|
|
73
|
+
permission: "allow",
|
|
74
|
+
action: "all",
|
|
75
|
+
topics: ["#"]
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
db.mqtt_acl.findOne({"username": "emqx_user"})`,redis:`# sample data
|
|
79
|
+
HSET mqtt_acl:emqx_u 't/#' subscribe
|
|
80
|
+
|
|
81
|
+
# sample cmd
|
|
82
|
+
HGETALL mqtt_acl:\${username}`}};e.SQLTemplates=t,e.authHelpCodeMap=i,e.enActionsLabel=a,e.enConnectorsLabel=o,e.zhActionsLabel=r,e.zhConnectorsLabel=s,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|