@emqx/shared-ui-i18n 0.0.48 → 0.0.49
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/en/aiLog.d.ts +45 -0
- package/dist/en/common.d.ts +9 -0
- package/dist/en/flow.d.ts +34 -0
- package/dist/en/ruleFunction.d.ts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +258 -12
- package/dist/index.umd.cjs +4 -4
- package/dist/ja/common.d.ts +9 -0
- package/dist/ja/flow.d.ts +34 -0
- package/dist/ja/ruleFunction.d.ts +5 -0
- package/dist/zh/aiLog.d.ts +45 -0
- package/dist/zh/common.d.ts +9 -0
- package/dist/zh/flow.d.ts +34 -0
- package/dist/zh/ruleFunction.d.ts +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const enAiLog: {
|
|
2
|
+
systemTitle: string;
|
|
3
|
+
noMCPServers: string;
|
|
4
|
+
configMCPServerGateway: string;
|
|
5
|
+
mcpServerGatewayConfigs: string;
|
|
6
|
+
cancel: string;
|
|
7
|
+
save: string;
|
|
8
|
+
mqttHost: string;
|
|
9
|
+
mqttPort: string;
|
|
10
|
+
mqttUsername: string;
|
|
11
|
+
mqttPassword: string;
|
|
12
|
+
mqttClientId: string;
|
|
13
|
+
mqttAppId: string;
|
|
14
|
+
saveSuccess: string;
|
|
15
|
+
parseUserIntention: string;
|
|
16
|
+
loadLogEntries: string;
|
|
17
|
+
generalConversation: string;
|
|
18
|
+
extractAndExplainLogEntries: string;
|
|
19
|
+
queryEmqxContext: string;
|
|
20
|
+
genAnalysisReport: string;
|
|
21
|
+
completeReport: string;
|
|
22
|
+
funcCall: string;
|
|
23
|
+
analysisResultTip: string;
|
|
24
|
+
responseConfirm: string;
|
|
25
|
+
yes: string;
|
|
26
|
+
no: string;
|
|
27
|
+
refreshConfirm: string;
|
|
28
|
+
confirm: string;
|
|
29
|
+
guidanceText: string;
|
|
30
|
+
querySample1: string;
|
|
31
|
+
querySample2: string;
|
|
32
|
+
querySample3: string;
|
|
33
|
+
noConfigStatus: string;
|
|
34
|
+
disconnectedStatus: string;
|
|
35
|
+
selectServerRequired: string;
|
|
36
|
+
funcName: string;
|
|
37
|
+
funcArgs: string;
|
|
38
|
+
funcOutput: string;
|
|
39
|
+
permissionRequest: string;
|
|
40
|
+
deny: string;
|
|
41
|
+
allowOnce: string;
|
|
42
|
+
allowAlways: string;
|
|
43
|
+
reportGenerationCompleted: string;
|
|
44
|
+
userCancelled: string;
|
|
45
|
+
};
|
package/dist/en/common.d.ts
CHANGED
|
@@ -6,4 +6,13 @@ export declare const enCommon: {
|
|
|
6
6
|
cancel: string;
|
|
7
7
|
back: string;
|
|
8
8
|
generate: string;
|
|
9
|
+
field: string;
|
|
10
|
+
pleaseChoose: string;
|
|
11
|
+
pleaseEnter: string;
|
|
12
|
+
add: string;
|
|
13
|
+
actions: string;
|
|
14
|
+
transform: string;
|
|
15
|
+
alias: string;
|
|
16
|
+
name: string;
|
|
17
|
+
colon: string;
|
|
9
18
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const enFlow: {
|
|
2
|
+
guideSourceNodeLabel: string;
|
|
3
|
+
guideSourceNodeDesc: string;
|
|
4
|
+
guideProcessingNodeLabel: string;
|
|
5
|
+
guideProcessingNodeDesc: string;
|
|
6
|
+
guideSinkNodeLabel: string;
|
|
7
|
+
guideSinkNodeDesc: string;
|
|
8
|
+
guideFallbackNodeLabel: string;
|
|
9
|
+
guideFallbackNodeDesc: string;
|
|
10
|
+
actionAvailable: string;
|
|
11
|
+
actionUnavailable: string;
|
|
12
|
+
connecting: string;
|
|
13
|
+
inconsistent: string;
|
|
14
|
+
disconnected: string;
|
|
15
|
+
message: string;
|
|
16
|
+
event: string;
|
|
17
|
+
dataProcessing: string;
|
|
18
|
+
filter: string;
|
|
19
|
+
consoleOutput: string;
|
|
20
|
+
republish: string;
|
|
21
|
+
condition: string;
|
|
22
|
+
systemPrompt: string;
|
|
23
|
+
consoleFallbackWrong: string;
|
|
24
|
+
incorrectConnection: string;
|
|
25
|
+
filterFunctionsWrongOrder: string;
|
|
26
|
+
flowEmptyError: string;
|
|
27
|
+
flowIntegrityError: string;
|
|
28
|
+
isolatedNodeError: string;
|
|
29
|
+
multipleFlowError: string;
|
|
30
|
+
multipleFallbackWrong: string;
|
|
31
|
+
incorrectInputOutputConnection: string;
|
|
32
|
+
incorrectOutputNodeConnection: string;
|
|
33
|
+
incorrectDefaultNodeConnection: string;
|
|
34
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -20,3 +20,8 @@ export * from './ja/ruleFunction';
|
|
|
20
20
|
export * from './en/ruleSQL';
|
|
21
21
|
export * from './zh/ruleSQL';
|
|
22
22
|
export * from './ja/ruleSQL';
|
|
23
|
+
export * from './en/aiLog';
|
|
24
|
+
export * from './zh/aiLog';
|
|
25
|
+
export * from './zh/flow';
|
|
26
|
+
export * from './en/flow';
|
|
27
|
+
export * from './ja/flow';
|
package/dist/index.js
CHANGED
|
@@ -171,6 +171,7 @@ FROM
|
|
|
171
171
|
], t = {
|
|
172
172
|
common: {
|
|
173
173
|
health_check_interval: "Health Check Interval",
|
|
174
|
+
health_check_interval_jitter: "Health Check Interval Jitter",
|
|
174
175
|
health_check_timeout: "Health Check Timeout",
|
|
175
176
|
query_mode: "Query Mode",
|
|
176
177
|
max_retries: "Max Retries",
|
|
@@ -414,11 +415,16 @@ FROM
|
|
|
414
415
|
s3tables: {
|
|
415
416
|
namespace: "Namespace",
|
|
416
417
|
table: "Table"
|
|
418
|
+
},
|
|
419
|
+
bigquery: {
|
|
420
|
+
dataset: "Dataset",
|
|
421
|
+
table: "Table"
|
|
417
422
|
}
|
|
418
423
|
}, a = {
|
|
419
424
|
common: {
|
|
420
425
|
health_check_interval: "健康检查间隔",
|
|
421
426
|
health_check_timeout: "健康检查超时",
|
|
427
|
+
health_check_interval_jitter: "健康检查间隔抖动",
|
|
422
428
|
query_mode: "请求模式",
|
|
423
429
|
max_retries: "最大重试次数",
|
|
424
430
|
worker_pool_size: "缓存池大小",
|
|
@@ -661,6 +667,10 @@ FROM
|
|
|
661
667
|
s3tables: {
|
|
662
668
|
namespace: "命名空间",
|
|
663
669
|
table: "表"
|
|
670
|
+
},
|
|
671
|
+
bigquery: {
|
|
672
|
+
dataset: "数据集",
|
|
673
|
+
table: "表"
|
|
664
674
|
}
|
|
665
675
|
}, o = {
|
|
666
676
|
common: {
|
|
@@ -700,7 +710,8 @@ FROM
|
|
|
700
710
|
access_method: "Access Method",
|
|
701
711
|
request_timeout: "Request Timeout",
|
|
702
712
|
ipv6_probe: "IPv6 Probe",
|
|
703
|
-
headers: "HTTP Headers"
|
|
713
|
+
headers: "HTTP Headers",
|
|
714
|
+
service_account_json: "GCP Service Account Credentials"
|
|
704
715
|
},
|
|
705
716
|
kafka_producer: {
|
|
706
717
|
kerberos_principal: "Kerberos Principal",
|
|
@@ -713,7 +724,6 @@ FROM
|
|
|
713
724
|
enable_pipelining: "HTTP Pipelining"
|
|
714
725
|
},
|
|
715
726
|
gcp_pubsub_producer: {
|
|
716
|
-
service_account_json: "GCP Service Account Credentials",
|
|
717
727
|
query_mode: "Query Mode",
|
|
718
728
|
batch_size: "Batch Size"
|
|
719
729
|
},
|
|
@@ -794,7 +804,6 @@ FROM
|
|
|
794
804
|
region: "DynamoDB Region"
|
|
795
805
|
},
|
|
796
806
|
gcp_pubsub_consumer: {
|
|
797
|
-
service_account_json: "GCP Service Account Credentials",
|
|
798
807
|
pull_max_messages: "Maximum Messages to Pull"
|
|
799
808
|
},
|
|
800
809
|
hstreamdb: {
|
|
@@ -910,7 +919,8 @@ FROM
|
|
|
910
919
|
ipv6_probe: "IPv6 探针",
|
|
911
920
|
headers: "请求头",
|
|
912
921
|
request_timeout: "请求超时",
|
|
913
|
-
access_method: "访问模式"
|
|
922
|
+
access_method: "访问模式",
|
|
923
|
+
service_account_json: "GCP 服务账户凭证"
|
|
914
924
|
},
|
|
915
925
|
kafka_producer: {
|
|
916
926
|
kerberos_principal: "Kerberos Principal",
|
|
@@ -923,7 +933,6 @@ FROM
|
|
|
923
933
|
enable_pipelining: "HTTP 管道"
|
|
924
934
|
},
|
|
925
935
|
gcp_pubsub_producer: {
|
|
926
|
-
service_account_json: "GCP 服务账户凭证",
|
|
927
936
|
query_mode: "请求模式",
|
|
928
937
|
batch_size: "最大批量请求大小"
|
|
929
938
|
},
|
|
@@ -1004,7 +1013,6 @@ FROM
|
|
|
1004
1013
|
region: "DynamoDB 区域"
|
|
1005
1014
|
},
|
|
1006
1015
|
gcp_pubsub_consumer: {
|
|
1007
|
-
service_account_json: "GCP 服务账户凭证",
|
|
1008
1016
|
pull_max_messages: "拉取的最大消息数"
|
|
1009
1017
|
},
|
|
1010
1018
|
hstreamdb: {
|
|
@@ -1288,6 +1296,7 @@ HGETALL mqtt_acl:\${username}`
|
|
|
1288
1296
|
batch_time: "在较低消息率情况下尝试累积批量输出时的最大等待间隔,以提高资源的利用率。",
|
|
1289
1297
|
enable_queue: "启用磁盘缓存队列(仅对 egress 方向桥接有用)。",
|
|
1290
1298
|
health_check_interval: "健康检查间隔。",
|
|
1299
|
+
health_check_interval_jitter: "在健康检查间隔中添加一个均匀的随机延迟,以便使用同一连接器的动作和 Source 在不同时间点开始其健康检查。",
|
|
1291
1300
|
inflight_window: "请求飞行队列窗口大小。当请求模式为异步时,如果需要严格保证来自同一 MQTT 客户端的消息有序,则必须将此值设为 1。",
|
|
1292
1301
|
query_mode: "请求模式。可选 '同步/异步',默认为'异步'模式。",
|
|
1293
1302
|
request_ttl: "从请求进入缓冲区开始计时,如果请求在规定的时间内仍停留在缓冲区内或者已发送但未能及时收到响应或确认,该请求将被视为过期。",
|
|
@@ -1716,6 +1725,7 @@ HGETALL mqtt_acl:\${username}`
|
|
|
1716
1725
|
When Enabled, messages will be buffered on disk when the bridge connection is down.
|
|
1717
1726
|
When disabled the messages are buffered in RAM only.`,
|
|
1718
1727
|
health_check_interval: "Health check interval.",
|
|
1728
|
+
health_check_interval_jitter: "A uniform random delay to be added to health check interval, so that Actions and Sources from the same Connector start their health checks at different instants.",
|
|
1719
1729
|
inflight_window: "Query inflight window. When query_mode is set to async, this config has to be set to 1 if messages from the same MQTT client have to be strictly ordered.",
|
|
1720
1730
|
query_mode: "Query mode. Optional 'sync/async', default 'async'.",
|
|
1721
1731
|
request_ttl: "Starting from the moment when the request enters the buffer, if the request remains in the buffer for the specified time or is sent but does not receive a response or acknowledgement in time, the request is considered expired.",
|
|
@@ -2373,7 +2383,16 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2373
2383
|
password: "Password",
|
|
2374
2384
|
cancel: "Cancel",
|
|
2375
2385
|
back: "Back",
|
|
2376
|
-
generate: "Generate"
|
|
2386
|
+
generate: "Generate",
|
|
2387
|
+
field: "Field",
|
|
2388
|
+
pleaseChoose: "Required",
|
|
2389
|
+
pleaseEnter: "Required",
|
|
2390
|
+
add: "Add",
|
|
2391
|
+
actions: "Actions",
|
|
2392
|
+
transform: "Transform",
|
|
2393
|
+
alias: "Alias",
|
|
2394
|
+
name: "Name",
|
|
2395
|
+
colon: ": "
|
|
2377
2396
|
}, h = {
|
|
2378
2397
|
access: "是否允许",
|
|
2379
2398
|
topic: "主题",
|
|
@@ -2381,7 +2400,16 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2381
2400
|
password: "密码",
|
|
2382
2401
|
cancel: "取消",
|
|
2383
2402
|
back: "返回",
|
|
2384
|
-
generate: "生成"
|
|
2403
|
+
generate: "生成",
|
|
2404
|
+
field: "字段",
|
|
2405
|
+
pleaseChoose: "请选择",
|
|
2406
|
+
pleaseEnter: "请输入",
|
|
2407
|
+
add: "添加",
|
|
2408
|
+
actions: "操作",
|
|
2409
|
+
transform: "转换",
|
|
2410
|
+
alias: "别名",
|
|
2411
|
+
name: "名称",
|
|
2412
|
+
colon: ":"
|
|
2385
2413
|
}, _ = {
|
|
2386
2414
|
access: "許可/拒否",
|
|
2387
2415
|
topic: "トピック",
|
|
@@ -2389,7 +2417,16 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2389
2417
|
password: "パスワード",
|
|
2390
2418
|
cancel: "キャンセル",
|
|
2391
2419
|
back: "戻り",
|
|
2392
|
-
generate: "生成"
|
|
2420
|
+
generate: "生成",
|
|
2421
|
+
field: "フィールド",
|
|
2422
|
+
pleaseChoose: "選択してください",
|
|
2423
|
+
pleaseEnter: "入力してください",
|
|
2424
|
+
add: "追加",
|
|
2425
|
+
actions: "操作",
|
|
2426
|
+
transform: "変換",
|
|
2427
|
+
alias: "エイリアス",
|
|
2428
|
+
name: "名称",
|
|
2429
|
+
colon: ":"
|
|
2393
2430
|
}, f = {
|
|
2394
2431
|
mathFunc: "Mathematical Functions",
|
|
2395
2432
|
dataTypeJudgmentFunc: "Data Type Judgment Functions",
|
|
@@ -2447,7 +2484,12 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2447
2484
|
Endian: "Endian",
|
|
2448
2485
|
SchemaName: "Schema",
|
|
2449
2486
|
Data: "Data",
|
|
2450
|
-
Type: "Message Type"
|
|
2487
|
+
Type: "Message Type",
|
|
2488
|
+
aliasDesc: "If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias",
|
|
2489
|
+
inputFieldRequiredError: "{name} is required",
|
|
2490
|
+
unusedField: "Unused field",
|
|
2491
|
+
aliasRequired: "Need to specify an alias",
|
|
2492
|
+
aliasFormatError: "Invalid alias format"
|
|
2451
2493
|
}, b = {
|
|
2452
2494
|
mathFunc: "数学函数",
|
|
2453
2495
|
dataTypeJudgmentFunc: "数据类型判断函数",
|
|
@@ -2505,7 +2547,12 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2505
2547
|
Endian: "字节序",
|
|
2506
2548
|
SchemaName: "Schema",
|
|
2507
2549
|
Data: "数据",
|
|
2508
|
-
Type: "消息类型"
|
|
2550
|
+
Type: "消息类型",
|
|
2551
|
+
aliasDesc: "别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号",
|
|
2552
|
+
inputFieldRequiredError: "请输入{name}",
|
|
2553
|
+
unusedField: "未被使用的字段",
|
|
2554
|
+
aliasRequired: "需指定一个别名",
|
|
2555
|
+
aliasFormatError: "格式错误的别名"
|
|
2509
2556
|
}, g = {
|
|
2510
2557
|
mathFunc: "数学関数",
|
|
2511
2558
|
dataTypeJudgmentFunc: "データ型判定関数",
|
|
@@ -2563,7 +2610,12 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2563
2610
|
Endian: "エンディアン",
|
|
2564
2611
|
SchemaName: "スキーマ",
|
|
2565
2612
|
Data: "データ",
|
|
2566
|
-
Type: "メッセージタイプ"
|
|
2613
|
+
Type: "メッセージタイプ",
|
|
2614
|
+
aliasDesc: "エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",
|
|
2615
|
+
inputFieldRequiredError: "{name} は必須項目です",
|
|
2616
|
+
unusedField: "未使用のフィールド",
|
|
2617
|
+
aliasRequired: "エイリアスを指定する必要があります",
|
|
2618
|
+
aliasFormatError: "エイリアスの形式が正しくありません"
|
|
2567
2619
|
}, y = {
|
|
2568
2620
|
generateSQLByAIBtn: "SQL Generator",
|
|
2569
2621
|
generateSQLWithAI: "Generate SQL with AI",
|
|
@@ -2609,25 +2661,219 @@ Default: 1, i.e., the primary shard.`,
|
|
|
2609
2661
|
applySQL: "SQL を適用",
|
|
2610
2662
|
generatedSQLOutputTitle: "生成された SQL",
|
|
2611
2663
|
generatedSQLOutputDesc: "AI が生成した SQL を確認してください。直接適用することも、説明を修正して再生成することもできます。"
|
|
2664
|
+
}, T = {
|
|
2665
|
+
systemTitle: "Log Analysis AI Assistant",
|
|
2666
|
+
noMCPServers: "No MCP server is available, please configure the MCP server gateway.",
|
|
2667
|
+
configMCPServerGateway: "Configure MCP Server Gateway",
|
|
2668
|
+
mcpServerGatewayConfigs: "MCP Server Gateway Configurations",
|
|
2669
|
+
cancel: "Cancel",
|
|
2670
|
+
save: "Save",
|
|
2671
|
+
mqttHost: "MQTT Host",
|
|
2672
|
+
mqttPort: "MQTT Port",
|
|
2673
|
+
mqttUsername: "MQTT Username",
|
|
2674
|
+
mqttPassword: "MQTT Password",
|
|
2675
|
+
mqttClientId: "MQTT Client ID",
|
|
2676
|
+
mqttAppId: "MQTT App ID",
|
|
2677
|
+
saveSuccess: "Saved successfully",
|
|
2678
|
+
parseUserIntention: "Parse User Intention",
|
|
2679
|
+
loadLogEntries: "Load Log Entries",
|
|
2680
|
+
generalConversation: "General Conversation",
|
|
2681
|
+
extractAndExplainLogEntries: "Extract and Explain Log Entries",
|
|
2682
|
+
queryEmqxContext: "Query EMQX Context",
|
|
2683
|
+
genAnalysisReport: "Generate Analysis Report",
|
|
2684
|
+
completeReport: "Complete Report",
|
|
2685
|
+
funcCall: "Function Call",
|
|
2686
|
+
analysisResultTip: "The following is the report content:",
|
|
2687
|
+
responseConfirm: "Please confirm the result is ok?",
|
|
2688
|
+
yes: "Yes",
|
|
2689
|
+
no: "No",
|
|
2690
|
+
refreshConfirm: "There is a conversation in progress, confirm to clear the conversation and start a new one?",
|
|
2691
|
+
confirm: "Confirm",
|
|
2692
|
+
guidanceText: "Welcome to the Log Analysis AI Assistant. I will leverage technologies such as LLM and RAG,as well as utilize the MCP tool to query system status, to help you analyze EMQX-related logs and quickly identify and resolve issues. Here are some example questions you can ask,",
|
|
2693
|
+
querySample1: "Query the error/warning log messages from the past 5 minutes.",
|
|
2694
|
+
querySample2: "Query the latest 5 error/warning log messages.",
|
|
2695
|
+
querySample3: "Analyze log: ",
|
|
2696
|
+
noConfigStatus: "MCP server gateway not configured. Please configure the server gateway and connect to the server before proceeding with the analysis of server logs.",
|
|
2697
|
+
disconnectedStatus: "Cannot connect to your MCP servers, please check your settings or network.",
|
|
2698
|
+
selectServerRequired: "Please select the MCP server to connect.",
|
|
2699
|
+
funcName: "Function Name",
|
|
2700
|
+
funcArgs: "Function Arguments",
|
|
2701
|
+
funcOutput: "Function Output",
|
|
2702
|
+
permissionRequest: 'Tool "{tool}" requires permission to access system resources.',
|
|
2703
|
+
deny: "Deny",
|
|
2704
|
+
allowOnce: "Allow Once",
|
|
2705
|
+
allowAlways: "Allow Always",
|
|
2706
|
+
reportGenerationCompleted: "Report generation completed.",
|
|
2707
|
+
userCancelled: "User cancelled the operation."
|
|
2708
|
+
}, S = {
|
|
2709
|
+
systemTitle: "日志分析 AI 助手",
|
|
2710
|
+
noMCPServers: "暂无可用 MCP 服务器,请先配置 MCP 服务器网关。",
|
|
2711
|
+
configMCPServerGateway: "配置 MCP 服务器网关",
|
|
2712
|
+
mcpServerGatewayConfigs: "MCP 服务器网关配置",
|
|
2713
|
+
cancel: "取消",
|
|
2714
|
+
save: "保存",
|
|
2715
|
+
mqttHost: "MQTT 主机",
|
|
2716
|
+
mqttPort: "MQTT 端口",
|
|
2717
|
+
mqttUsername: "MQTT 用户名",
|
|
2718
|
+
mqttPassword: "MQTT 密码",
|
|
2719
|
+
mqttClientId: "MQTT 客户端 ID",
|
|
2720
|
+
mqttAppId: "MQTT 应用 ID",
|
|
2721
|
+
saveSuccess: "保存成功",
|
|
2722
|
+
parseUserIntention: "分析用户意图",
|
|
2723
|
+
loadLogEntries: "加载日志条目",
|
|
2724
|
+
generalConversation: "通用对话",
|
|
2725
|
+
extractAndExplainLogEntries: "查找并解释日志数据",
|
|
2726
|
+
queryEmqxContext: "查询 EMQX 上下文",
|
|
2727
|
+
genAnalysisReport: "生成分析报告",
|
|
2728
|
+
completeReport: "完成报告",
|
|
2729
|
+
funcCall: "函数调用",
|
|
2730
|
+
analysisResultTip: "以下是报告内容:",
|
|
2731
|
+
responseConfirm: "请确认结果是否正确?",
|
|
2732
|
+
yes: "正确",
|
|
2733
|
+
no: "不正确",
|
|
2734
|
+
refreshConfirm: "当前页面有正在进行的对话,是否确认清空记录并开始新的对话?",
|
|
2735
|
+
confirm: "确认",
|
|
2736
|
+
guidanceText: "欢迎使用日志分析 AI 助手。我将利用 LLM 和 RAG 等技术,以及 MCP 工具查询系统状态,帮助您分析 EMQX 相关日志并快速识别和解决问题。以下是一些您可以询问的问题:",
|
|
2737
|
+
querySample1: "查询过去 5 分钟内的错误/警告日志消息。",
|
|
2738
|
+
querySample2: "查询最新的 5 条错误/警告日志消息。",
|
|
2739
|
+
querySample3: "分析日志:",
|
|
2740
|
+
noConfigStatus: "未配置 MCP 服务器网关,如需分析服务器日志,请先配置服务器网关,并连接服务器后再进行操作。",
|
|
2741
|
+
disconnectedStatus: "无法连接到 MCP 服务器,请检查您的设置或网络。",
|
|
2742
|
+
selectServerRequired: "请选择需要连接的 MCP 服务器。",
|
|
2743
|
+
funcName: "函数名称",
|
|
2744
|
+
funcArgs: "函数参数",
|
|
2745
|
+
funcOutput: "函数输出",
|
|
2746
|
+
permissionRequest: '工具 "{tool}" 需要权限访问系统资源。',
|
|
2747
|
+
deny: "拒绝",
|
|
2748
|
+
allowOnce: "允许一次",
|
|
2749
|
+
allowAlways: "始终允许",
|
|
2750
|
+
reportGenerationCompleted: "报告生成完成。",
|
|
2751
|
+
userCancelled: "用户取消操作。"
|
|
2752
|
+
}, w = {
|
|
2753
|
+
guideSourceNodeLabel: "Source",
|
|
2754
|
+
guideSourceNodeDesc: "拖拽多个节点以选择消息与事件输入",
|
|
2755
|
+
guideProcessingNodeLabel: "Processing(可选)",
|
|
2756
|
+
guideProcessingNodeDesc: "拖拽节点以处理和过滤数据",
|
|
2757
|
+
guideSinkNodeLabel: "Sink",
|
|
2758
|
+
guideSinkNodeDesc: "拖拽多个节点以输出数据到外部数据集成",
|
|
2759
|
+
guideFallbackNodeLabel: "Fallback(可选)",
|
|
2760
|
+
guideFallbackNodeDesc: "拖拽节点以作为备选动作",
|
|
2761
|
+
actionAvailable: "可用",
|
|
2762
|
+
actionUnavailable: "不可用",
|
|
2763
|
+
connecting: "连接中",
|
|
2764
|
+
inconsistent: "集群中各节点不一致",
|
|
2765
|
+
disconnected: "已断开",
|
|
2766
|
+
message: "消息",
|
|
2767
|
+
event: "事件",
|
|
2768
|
+
dataProcessing: "数据处理",
|
|
2769
|
+
filter: "过滤器",
|
|
2770
|
+
consoleOutput: "控制台输出",
|
|
2771
|
+
republish: "消息重发布",
|
|
2772
|
+
condition: "个条件",
|
|
2773
|
+
systemPrompt: "系统消息",
|
|
2774
|
+
consoleFallbackWrong: "Console 不可作为备选动作",
|
|
2775
|
+
incorrectConnection: "错误的连线",
|
|
2776
|
+
filterFunctionsWrongOrder: "函数节点必须放置在过滤器节点之前,请调整节点位置。",
|
|
2777
|
+
flowEmptyError: "无法保存,Flow 中需要有至少一个 Sink 节点和一个 Source 节点",
|
|
2778
|
+
flowIntegrityError: "无法保存,Flow 中需要有至少一个 {missing} 节点",
|
|
2779
|
+
isolatedNodeError: "Flow 中有未连接的节点,请先连接或将其删除|Flow 中有未连接的节点,请先连接或将其删除",
|
|
2780
|
+
multipleFlowError: "每次仅允许创建一个 Flow",
|
|
2781
|
+
multipleFallbackWrong: "Flow 暂不支持编辑多层级备选动作",
|
|
2782
|
+
incorrectInputOutputConnection: "请确认所有 Source 节点均正确连接到同一数据处理节点",
|
|
2783
|
+
incorrectOutputNodeConnection: "请确认所有 Sink 节点均由同一数据处理节点输出",
|
|
2784
|
+
incorrectDefaultNodeConnection: "请确认所有数据处理节点均按照顺序首尾相连"
|
|
2785
|
+
}, P = {
|
|
2786
|
+
guideSourceNodeLabel: "Source",
|
|
2787
|
+
guideSourceNodeDesc: "Drag in multiple nodes to select message and event inputs",
|
|
2788
|
+
guideProcessingNodeLabel: "Processing (optional)",
|
|
2789
|
+
guideProcessingNodeDesc: "Drag nodes to transform and filter data",
|
|
2790
|
+
guideSinkNodeLabel: "Sink",
|
|
2791
|
+
guideSinkNodeDesc: "Drag in multiple nodes to output data to external integrations",
|
|
2792
|
+
guideFallbackNodeLabel: "Fallback (optional)",
|
|
2793
|
+
guideFallbackNodeDesc: "Drag nodes as fallback actions",
|
|
2794
|
+
actionAvailable: "Available",
|
|
2795
|
+
actionUnavailable: "Unavailable",
|
|
2796
|
+
connecting: "Connecting",
|
|
2797
|
+
inconsistent: "Inconsistent for nodes in the cluster",
|
|
2798
|
+
disconnected: "Disconnected",
|
|
2799
|
+
message: "Message",
|
|
2800
|
+
event: "Event",
|
|
2801
|
+
dataProcessing: "Data Processing",
|
|
2802
|
+
filter: "Filter",
|
|
2803
|
+
consoleOutput: "Console Output",
|
|
2804
|
+
republish: "Republish",
|
|
2805
|
+
condition: "condition | conditions",
|
|
2806
|
+
systemPrompt: "System Message",
|
|
2807
|
+
consoleFallbackWrong: "Console cannot be used as a fallback action",
|
|
2808
|
+
incorrectConnection: "Incorrect connection",
|
|
2809
|
+
filterFunctionsWrongOrder: "Function nodes must be placed before filter nodes. Please adjust node positions.",
|
|
2810
|
+
flowEmptyError: "Unable to save, there must be at least one Sink node and one Source node in the Flow",
|
|
2811
|
+
flowIntegrityError: "Unable to save, at least one {missing} node is required in the Flow",
|
|
2812
|
+
isolatedNodeError: "There are unconnected node in the flow. Please connect or delete them.|There are unconnected nodes in the flow. Please connect or delete them.",
|
|
2813
|
+
multipleFlowError: "Only one flow can be created at a time",
|
|
2814
|
+
multipleFallbackWrong: "Flow does not support editing multi-level fallback actions",
|
|
2815
|
+
incorrectInputOutputConnection: "Please confirm that all source nodes are correctly connected to the same data processing node",
|
|
2816
|
+
incorrectOutputNodeConnection: "Please confirm that all sink nodes are output from the same data processing node",
|
|
2817
|
+
incorrectDefaultNodeConnection: "Please confirm that all data processing nodes are connected in sequence from start to end"
|
|
2818
|
+
}, x = {
|
|
2819
|
+
guideSourceNodeLabel: "ソース",
|
|
2820
|
+
guideSourceNodeDesc: "複数のノードをドラッグしてメッセージとイベント入力を選択",
|
|
2821
|
+
guideProcessingNodeLabel: "処理(任意)",
|
|
2822
|
+
guideProcessingNodeDesc: "ノードをドラッグしてデータを変換・フィルター",
|
|
2823
|
+
guideSinkNodeLabel: "シンク",
|
|
2824
|
+
guideSinkNodeDesc: "複数のノードをドラッグして外部連携にデータを出力",
|
|
2825
|
+
guideFallbackNodeLabel: "フォールバック(任意)",
|
|
2826
|
+
guideFallbackNodeDesc: "ノードをドラッグしてフォールバックアクションとして設定します",
|
|
2827
|
+
actionAvailable: "利用可能",
|
|
2828
|
+
actionUnavailable: "利用不可",
|
|
2829
|
+
connecting: "接続中",
|
|
2830
|
+
inconsistent: "クラスタ内のノードで不一致",
|
|
2831
|
+
disconnected: "切断",
|
|
2832
|
+
message: "メッセージ",
|
|
2833
|
+
event: "イベント",
|
|
2834
|
+
dataProcessing: "データ処理",
|
|
2835
|
+
filter: "フィルター",
|
|
2836
|
+
consoleOutput: "Console Output",
|
|
2837
|
+
// TODO: ja
|
|
2838
|
+
republish: "再パブリッシュ(Republish)",
|
|
2839
|
+
condition: "条件",
|
|
2840
|
+
systemPrompt: "システムメッセージ",
|
|
2841
|
+
consoleFallbackWrong: "Console cannot be used as a fallback action",
|
|
2842
|
+
// TODO: ja
|
|
2843
|
+
incorrectConnection: "不正な接続",
|
|
2844
|
+
filterFunctionsWrongOrder: "関数ノードはフィルターノードより前に配置する必要があります。ノードの位置を調整してください。",
|
|
2845
|
+
flowEmptyError: "保存できません。フローには少なくとも1つのシンクノードと1つのソースノードが必要です。",
|
|
2846
|
+
flowIntegrityError: "保存できません。フローには少なくとも 1 つの{missing}ノードが必要です。",
|
|
2847
|
+
isolatedNodeError: "フローに未接続のノードがあります。接続するか削除してください。",
|
|
2848
|
+
multipleFlowError: "一度に作成できるフローは1つだけです。",
|
|
2849
|
+
multipleFallbackWrong: "フローは多段階のフォールバックアクションの編集をサポートしていません",
|
|
2850
|
+
incorrectInputOutputConnection: "すべてのソースノードが同じデータ処理ノードに正しく接続されていることを確認してください",
|
|
2851
|
+
incorrectOutputNodeConnection: "すべてのシンクノードが同じデータ処理ノードから出力されていることを確認してください",
|
|
2852
|
+
incorrectDefaultNodeConnection: "すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください"
|
|
2612
2853
|
};
|
|
2613
2854
|
export {
|
|
2614
2855
|
e as SQLTemplates,
|
|
2615
2856
|
s as authHelpCodeMap,
|
|
2616
2857
|
t as enActionsLabel,
|
|
2858
|
+
T as enAiLog,
|
|
2617
2859
|
p as enCommon,
|
|
2618
2860
|
o as enConnectorsLabel,
|
|
2861
|
+
P as enFlow,
|
|
2619
2862
|
l as enIntegrationDesc,
|
|
2620
2863
|
f as enRuleFunction,
|
|
2621
2864
|
y as enRuleSQL,
|
|
2622
2865
|
d as enStreaming,
|
|
2623
2866
|
i as enSymbolLabel,
|
|
2624
2867
|
_ as jaCommon,
|
|
2868
|
+
x as jaFlow,
|
|
2625
2869
|
g as jaRuleFunction,
|
|
2626
2870
|
k as jaRuleSQL,
|
|
2627
2871
|
u as jaStreaming,
|
|
2628
2872
|
a as zhActionsLabel,
|
|
2873
|
+
S as zhAiLog,
|
|
2629
2874
|
h as zhCommon,
|
|
2630
2875
|
r as zhConnectorsLabel,
|
|
2876
|
+
w as zhFlow,
|
|
2631
2877
|
c as zhIntegrationDesc,
|
|
2632
2878
|
b as zhRuleFunction,
|
|
2633
2879
|
v as zhRuleSQL,
|
package/dist/index.umd.cjs
CHANGED
|
@@ -25,7 +25,7 @@ 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",health_check_timeout:"Health Check Timeout",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 Template",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",template:"Message Template",partitions_limit:"Partitions Limit",precision:"Time Precision",write_syntax:"Write Syntax",column_order:"Column Order",time_interval:"Time Interval",max_records:"Max Records",max_linger_time:"Max Linger Time",max_linger_bytes:"Max Linger Bytes",undefined_vars_as_null:"Undefined Vars As Null",fallback_actions:"Fallback Actions",min_part_size:"Min Part Size",max_part_size:"Max Part Size"},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"},gcp_pubsub_consumer:{topic:"GCP PubSub Topic"},syskeeper_forwarder:{target_topic:"Topic",target_qos:"QoS"},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"},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"},cassandra:{cql:"CQL Template"},opents:{timestamp:"Timestamp",metric:"Metric",tags:"Tags",value:"Value",data:"Write Data"},hstreamdb:{stream:"Stream",partition_key:"Partition Key",grpc_flush_timeout:"gRPC Flush Interval",aggregation_pool_size:"Aggregation Pool Size",max_batches:"Max Batches",writer_pool_size:"Writer Pool Size",batch_interval:"Max Batch Interval",record_template:"Record Template",parameters_batch_size:"HStreamDB Batch Size"},kafka_consumer:{key_encoding_mode:"Key Encoding Mode",value_encoding_mode:"Value Encoding Mode",offset_reset_policy:"Offset Reset Policy",offset_commit_interval_seconds:"Offset Commit Interval",topic:"Kafka Topic",group_id:"Group ID",max_wait_time:"Max Wait Time"},rabbitmq:{exchange:"Exchange",routing_key:"Routing Key",delivery_mode:"Message Delivery Mode",wait_for_publish_confirmations:"Wait for Publish Confirmations",publish_confirmation_timeout:"Publish Confirmation Timeout",payload_template:"Payload Template"},pulsar:{pulsar_topic:"Pulsar Topic Name",strategy:"Partition Strategy",retention_period:"Retention Period",compression:"Compression",sync_timeout:"Sync Publish Timeout",send_buffer:"Socket Send Buffer Size",per_partition_limit:"Pulsar Per-partition Buffer Limit",message_key:"Message Key",message_value:"Message Value"},kinesis:{payload_template:"Payload template",stream_name:"Amazon Kinesis Stream",partition_key:"Partition key"},tdengine:{database:"Database Name"},rocketmq:{topic:"RocketMQ Topic",refresh_interval:"Topic Route Refresh Interval",send_buffer:"Send Buffer Size",sync_timeout:"Sync Timeout",strategy:"Produce Strategy"},clickhouse:{batch_value_separator:"Batch Value Separator"},s3:{bucket:"Bucket",acl:"ACL",content:"Object Content",key:"Object Key",parameters:"Upload Mode",type:"Aggregation Type",container:"Aggregation Upload Format"},azure_blob_storage:{parameters:"Upload Mode",content:"Object Content",type:"Aggregation Type",blob:"Blob Name",container:"Container",parameters_aggregation_container:"Aggregation Upload Format"},dynamo:{table:"Table",hash_key:"Hash Key",range_key:"Range Key"},snowflake:{mode:"Upload Mode",type:"Aggregation Type",private_key:"Private Key",schema:"Schema",stage:"Stage",pipe:"Pipe",pipe_user:"Pipe User",proxy:"Proxy",host:"Proxy Host",port:"Proxy Port",max_inactive:"Max Inactive",private_key_password:"Private Key Password"},tablestore:{storage_model_type:"Storage Model Type",table_name:"Table Name",measurement:"Measurement",tags:"Tags",fields:"Fields",data_source:"Data Source",timestamp:"Timestamp",meta_update_model:"Meta Update Model",column:"Column",isint:"Is Int",isbinary:"Is Binary"},disk_log:{write_mode:"Write Mode"},s3tables:{namespace:"Namespace",table:"Table"}},o={common:{health_check_interval:"健康检查间隔",health_check_timeout:"健康检查超时",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:"同步查询超时时间",template:"消息模板",partitions_limit:"分区限制",precision:"时间精度",write_syntax:"写语句",column_order:"列排序",time_interval:"时间间隔",max_records:"最大记录数",max_linger_time:"最大延迟时间",max_linger_bytes:"最大延迟字节数",undefined_vars_as_null:"未定义变量作为 NULL",fallback_actions:"备选动作",min_part_size:"最小分块大小",max_part_size:"最大分块大小"},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 请求消息体模板"},gcp_pubsub_consumer:{topic:"GCP PubSub 主题"},syskeeper_forwarder:{target_topic:"主题",target_qos:"QoS"},redis:{command_template:"Redis 命令模板"},mongodb:{collection:"集合(Collection)",payload_template:"有效载荷模板"},iotdb:{device_id:"设备 ID",is_aligned:"对齐时间序列",data:"写入数据",timestamp:"时间戳",measurement:"字段",data_type:"数据类型",value:"值"},mqtt:{topic:"主题",qos:"QoS",retain:"Retain",payload:"消息模版"},elasticsearch:{parameters:"操作",index:"索引名称",id:"文档 ID",doc:"文档模版",routing:"路由",overwrite:"是否覆盖文档",doc_as_upsert:"启用更新插入"},cassandra:{cql:"CQL 模板"},opents:{timestamp:"时间戳",metric:"度量",tags:"标签",value:"值",data:"写入数据"},hstreamdb:{stream:"Stream",partition_key:"分区键",grpc_flush_timeout:"gRPC 刷新间隔",aggregation_pool_size:"Record 聚合池大小",max_batches:"最大批次",writer_pool_size:"写入池大小",batch_interval:"最大批处理间隔",record_template:"Record 模板",parameters_batch_size:"HStreamDB 最大批量请求大小"},kafka_consumer:{key_encoding_mode:"Key 编码模式",value_encoding_mode:"Value 编码模式",offset_reset_policy:"偏移重置策略",offset_commit_interval_seconds:"偏移提交间隔",topic:"Kafka 主题名称",group_id:"消费组 ID",max_wait_time:"最大等待时间"},rabbitmq:{exchange:"交换机",routing_key:"路由键",delivery_mode:"消息传递模式",wait_for_publish_confirmations:"等待发布确认",publish_confirmation_timeout:"发布确认超时时间",payload_template:"有效载荷模板"},pulsar:{pulsar_topic:"Pulsar 主题名称",strategy:"分区选择策略",retention_period:"消息保留时间",compression:"压缩",sync_timeout:"同步发布超时",send_buffer:"Socket 发送缓存大小",per_partition_limit:"Pulsar 分区缓存上限",message_key:"消息的 Key",message_value:"消息的 Value"},kinesis:{payload_template:"载荷模板",stream_name:"Amazon Kinesis 流",partition_key:"分区键"},tdengine:{database:"数据库名字"},rocketmq:{topic:"RocketMQ 主题",refresh_interval:"主题路由更新间隔",send_buffer:"发送消息的缓冲区大小",sync_timeout:"同步调用超时时间",strategy:"Produce 策略"},clickhouse:{batch_value_separator:"分隔符"},s3:{bucket:"存储桶",acl:"ACL",content:"对象内容",key:"对象键",parameters:"上传方式",type:"增强类型",container:"聚合上传文件格式"},azure_blob_storage:{parameters:"上传方式",content:"对象内容",type:"增强类型",blob:"Blob 名称",container:"容器名称",parameters_aggregation_container:"聚合上传文件格式"},dynamo:{table:"表",hash_key:"哈希键",range_key:"范围键"},snowflake:{mode:"上传方式",type:"增强类型",private_key:"私钥",schema:"模式",stage:"存储区",pipe:"管道",pipe_user:"管道用户",proxy:"代理",host:"代理主机",port:"代理端口",max_inactive:"最大空闲时间",private_key_password:"私钥密码"},tablestore:{storage_model_type:"存储模型类型",table_name:"表名",measurement:"度量名称",tags:"标签",fields:"字段",data_source:"数据源",timestamp:"时间戳",meta_update_model:"元数据更新模式",column:"列",isint:"是否为整数",isbinary:"是否为二进制"},disk_log:{write_mode:"写入模式"},s3tables:{namespace:"命名空间",table:"表"}},r={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",health_check_timeout:"Health Check Timeout",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",pipelining:"HTTP Pipelining",url:"Server URL",authentication:"Authentication",disable_prepared_statements:"Disable Prepared Statements",health_check_topic:"Health Check Topic",max_inactive:"Max Inactive",token:"Token",access_key_id:"Access Key ID",secret_access_key:"Secret Access Key",access_method:"Access Method",request_timeout:"Request Timeout",ipv6_probe:"IPv6 Probe",headers:"HTTP Headers"},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:{service_account_json:"GCP Service Account Credentials",query_mode:"Query Mode",batch_size:"Batch Size"},azure_event_hub_producer:{bootstrap_hosts:"Bootstrap Hosts",password:"Connection String"},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"},iotdb:{base_url:"IoTDB REST Service Base URL",iotdb_version:"IoTDB Version",driver:"Driver",protocol_version:"Protocol Version",zoneId:"Zone ID",recv_timeout:"Receive Timeout"},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",static_clientids:"Static ClientId Entries",node:"EMQX Node",ids:"Static Client IDs"},cassandra:{keyspace:"Keyspace"},opents:{summary:"Summary",details:"Details"},clickhouse:{url:"Server URL"},dynamo:{url:"DynamoDB Endpoint",aws_access_key_id:"AWS Access Key ID",aws_secret_access_key:"AWS Secret Access Key",region:"DynamoDB Region"},gcp_pubsub_consumer:{service_account_json:"GCP Service Account Credentials",pull_max_messages:"Maximum Messages to Pull"},hstreamdb:{grpc_timeout:"gRPC Timeout"},kafka_consumer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab File",mechanism:"Mechanism"},rocketmq:{access_key:"AccessKey",secret_key:"SecretKey",security_token:"Security Token",namespace:"Namespace"},sqlserver:{driver:"SQL Server Driver Name"},oracle:{sid:"Oracle Database SID",service_name:"Oracle Database Service Name",role:"Role"},rabbitmq:{port:"Port",virtual_host:"Virtual Host",heartbeat:"Heartbeat",timeout:"Connection Timeout"},pulsar:{jwt:"JWT"},kinesis:{aws_access_key_id:"AWS Access Key ID",aws_secret_access_key:"AWS Secret Access Key",endpoint:"Amazon Kinesis Endpoint"},greptimedb:{dbname:"Database"},s3:{host:"Host",port:"Port"},azure_blob_storage:{account_name:"Account Name",account_key:"Account Key"},datalayers:{driver_type:"Driver Type"},snowflake:{account:"Account",dsn:"Data Source Name (DSN)",proxy:"Proxy",host:"Proxy Host",port:"Proxy Port",private_key_path:"Private Key Path",private_key_password:"Private Key Password"},tablestore:{endpoint:"Endpoint",access_key_id:"Access Key ID",access_key_secret:"Access Key Secret",instance_name:"Instance Name",storage_model_type:"Storage Model Type"},disk_log:{filepath:"Log Filepath",max_file_size:"Maximum File Size",max_file_number:"Maximum Number of Files"},s3tables:{s3tables_arn:"S3Tables ARN",s_3_client_transport_options_request_timeout:"Single Request Timeout"}},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:"健康检查间隔",health_check_timeout:"健康检查超时",start_timeout:"启动超时时间",max_retries:"最大重试次数",worker_pool_size:"缓存池大小",request_ttl:"请求超期",max_buffer_bytes:"缓存队列最大长度",inflight_window:"请求飞行队列窗口",servers:"服务器列表",enable_pipelining:"HTTP 流水线",pipelining:"HTTP 流水线",url:"服务器地址",authentication:"认证",disable_prepared_statements:"禁用预处理语句",health_check_topic:"健康检查主题",max_inactive:"最大空闲时间",token:"Token",access_key_id:"访问密钥 ID",secret_access_key:"访问密钥",ipv6_probe:"IPv6 探针",headers:"请求头",request_timeout:"请求超时",access_method:"访问模式"},kafka_producer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab 文件",mechanism:"认证方法"},http:{url:"URL",headers:"请求头",enable_pipelining:"HTTP 管道"},gcp_pubsub_producer:{service_account_json:"GCP 服务账户凭证",query_mode:"请求模式",batch_size:"最大批量请求大小"},azure_event_hub_producer:{bootstrap_hosts:"引导主机",password:"连接字符串"},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:"组织"},iotdb:{base_url:"IoTDB REST 服务基础 URL",iotdb_version:"IoTDB 版本",driver:"驱动",protocol_version:"协议版本",zoneId:"时区 ID",recv_timeout:"接收超时"},elasticsearch:{server:"服务器地址"},mqtt:{server:"MQTT 服务地址",clientid_prefix:"客户端 ID 前缀",proto_ver:"MQTT 协议版本",bridge_mode:"桥接模式",clean_start:"清除会话",keepalive:"Keepalive",retry_interval:"消息重发间隔",max_inflight:"飞行窗口",static_clientids:"静态客户端 ID 映射表",node:"节点名称",ids:"客户端 ID 列表"},cassandra:{keyspace:"Keyspace"},opents:{summary:"摘要信息",details:"详细信息"},clickhouse:{url:"服务器 URL"},dynamo:{url:"DynamoDB 地址",aws_access_key_id:"连接访问 ID",aws_secret_access_key:"连接访问密钥",region:"DynamoDB 区域"},gcp_pubsub_consumer:{service_account_json:"GCP 服务账户凭证",pull_max_messages:"拉取的最大消息数"},hstreamdb:{grpc_timeout:"gRPC 超时"},kafka_consumer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab 文件",mechanism:"认证方法"},rocketmq:{access_key:"AccessKey",secret_key:"SecretKey",security_token:"安全令牌",namespace:"命名空间"},sqlserver:{driver:"SQL Server Driver 名称"},oracle:{sid:"Oracle Database SID",service_name:"Oracle 数据库服务名称",role:"角色"},rabbitmq:{port:"端口",virtual_host:"虚拟主机",heartbeat:"心跳",timeout:"连接超时时间"},pulsar:{jwt:"JWT"},kinesis:{aws_access_key_id:"AWS 访问密钥 ID",aws_secret_access_key:"AWS 秘密访问密钥",endpoint:"Amazon Kinesis 端点"},greptimedb:{dbname:"数据库"},s3:{host:"地址",port:"端口"},azure_blob_storage:{account_name:"账户名称",account_key:"访问密钥"},datalayers:{driver_type:"驱动类型"},snowflake:{account:"账户",dsn:"数据源名称",proxy:"代理",host:"代理主机",port:"代理端口",private_key_path:"私钥路径",private_key_password:"私钥密码"},tablestore:{endpoint:"端点",access_key_id:"访问密钥 ID",access_key_secret:"访问密钥",instance_name:"实例名称",storage_model_type:"存储模型类型"},disk_log:{filepath:"日志文件路径",max_file_size:"最大文件大小",max_file_number:"最大文件数量"},s3tables:{s3tables_arn:"S3Tables 资源名称(ARN)",s_3_client_transport_options_request_timeout:"单次请求超时时间"}},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 (
|
|
28
|
+
"t/#"`,input:{data:[{id:1,name:"steve"},{id:2,name:"bill"}]},outputs:{id:1}}],a={common:{health_check_interval:"Health Check Interval",health_check_interval_jitter:"Health Check Interval Jitter",health_check_timeout:"Health Check Timeout",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 Template",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",template:"Message Template",partitions_limit:"Partitions Limit",precision:"Time Precision",write_syntax:"Write Syntax",column_order:"Column Order",time_interval:"Time Interval",max_records:"Max Records",max_linger_time:"Max Linger Time",max_linger_bytes:"Max Linger Bytes",undefined_vars_as_null:"Undefined Vars As Null",fallback_actions:"Fallback Actions",min_part_size:"Min Part Size",max_part_size:"Max Part Size"},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"},gcp_pubsub_consumer:{topic:"GCP PubSub Topic"},syskeeper_forwarder:{target_topic:"Topic",target_qos:"QoS"},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"},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"},cassandra:{cql:"CQL Template"},opents:{timestamp:"Timestamp",metric:"Metric",tags:"Tags",value:"Value",data:"Write Data"},hstreamdb:{stream:"Stream",partition_key:"Partition Key",grpc_flush_timeout:"gRPC Flush Interval",aggregation_pool_size:"Aggregation Pool Size",max_batches:"Max Batches",writer_pool_size:"Writer Pool Size",batch_interval:"Max Batch Interval",record_template:"Record Template",parameters_batch_size:"HStreamDB Batch Size"},kafka_consumer:{key_encoding_mode:"Key Encoding Mode",value_encoding_mode:"Value Encoding Mode",offset_reset_policy:"Offset Reset Policy",offset_commit_interval_seconds:"Offset Commit Interval",topic:"Kafka Topic",group_id:"Group ID",max_wait_time:"Max Wait Time"},rabbitmq:{exchange:"Exchange",routing_key:"Routing Key",delivery_mode:"Message Delivery Mode",wait_for_publish_confirmations:"Wait for Publish Confirmations",publish_confirmation_timeout:"Publish Confirmation Timeout",payload_template:"Payload Template"},pulsar:{pulsar_topic:"Pulsar Topic Name",strategy:"Partition Strategy",retention_period:"Retention Period",compression:"Compression",sync_timeout:"Sync Publish Timeout",send_buffer:"Socket Send Buffer Size",per_partition_limit:"Pulsar Per-partition Buffer Limit",message_key:"Message Key",message_value:"Message Value"},kinesis:{payload_template:"Payload template",stream_name:"Amazon Kinesis Stream",partition_key:"Partition key"},tdengine:{database:"Database Name"},rocketmq:{topic:"RocketMQ Topic",refresh_interval:"Topic Route Refresh Interval",send_buffer:"Send Buffer Size",sync_timeout:"Sync Timeout",strategy:"Produce Strategy"},clickhouse:{batch_value_separator:"Batch Value Separator"},s3:{bucket:"Bucket",acl:"ACL",content:"Object Content",key:"Object Key",parameters:"Upload Mode",type:"Aggregation Type",container:"Aggregation Upload Format"},azure_blob_storage:{parameters:"Upload Mode",content:"Object Content",type:"Aggregation Type",blob:"Blob Name",container:"Container",parameters_aggregation_container:"Aggregation Upload Format"},dynamo:{table:"Table",hash_key:"Hash Key",range_key:"Range Key"},snowflake:{mode:"Upload Mode",type:"Aggregation Type",private_key:"Private Key",schema:"Schema",stage:"Stage",pipe:"Pipe",pipe_user:"Pipe User",proxy:"Proxy",host:"Proxy Host",port:"Proxy Port",max_inactive:"Max Inactive",private_key_password:"Private Key Password"},tablestore:{storage_model_type:"Storage Model Type",table_name:"Table Name",measurement:"Measurement",tags:"Tags",fields:"Fields",data_source:"Data Source",timestamp:"Timestamp",meta_update_model:"Meta Update Model",column:"Column",isint:"Is Int",isbinary:"Is Binary"},disk_log:{write_mode:"Write Mode"},s3tables:{namespace:"Namespace",table:"Table"},bigquery:{dataset:"Dataset",table:"Table"}},o={common:{health_check_interval:"健康检查间隔",health_check_timeout:"健康检查超时",health_check_interval_jitter:"健康检查间隔抖动",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:"同步查询超时时间",template:"消息模板",partitions_limit:"分区限制",precision:"时间精度",write_syntax:"写语句",column_order:"列排序",time_interval:"时间间隔",max_records:"最大记录数",max_linger_time:"最大延迟时间",max_linger_bytes:"最大延迟字节数",undefined_vars_as_null:"未定义变量作为 NULL",fallback_actions:"备选动作",min_part_size:"最小分块大小",max_part_size:"最大分块大小"},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 请求消息体模板"},gcp_pubsub_consumer:{topic:"GCP PubSub 主题"},syskeeper_forwarder:{target_topic:"主题",target_qos:"QoS"},redis:{command_template:"Redis 命令模板"},mongodb:{collection:"集合(Collection)",payload_template:"有效载荷模板"},iotdb:{device_id:"设备 ID",is_aligned:"对齐时间序列",data:"写入数据",timestamp:"时间戳",measurement:"字段",data_type:"数据类型",value:"值"},mqtt:{topic:"主题",qos:"QoS",retain:"Retain",payload:"消息模版"},elasticsearch:{parameters:"操作",index:"索引名称",id:"文档 ID",doc:"文档模版",routing:"路由",overwrite:"是否覆盖文档",doc_as_upsert:"启用更新插入"},cassandra:{cql:"CQL 模板"},opents:{timestamp:"时间戳",metric:"度量",tags:"标签",value:"值",data:"写入数据"},hstreamdb:{stream:"Stream",partition_key:"分区键",grpc_flush_timeout:"gRPC 刷新间隔",aggregation_pool_size:"Record 聚合池大小",max_batches:"最大批次",writer_pool_size:"写入池大小",batch_interval:"最大批处理间隔",record_template:"Record 模板",parameters_batch_size:"HStreamDB 最大批量请求大小"},kafka_consumer:{key_encoding_mode:"Key 编码模式",value_encoding_mode:"Value 编码模式",offset_reset_policy:"偏移重置策略",offset_commit_interval_seconds:"偏移提交间隔",topic:"Kafka 主题名称",group_id:"消费组 ID",max_wait_time:"最大等待时间"},rabbitmq:{exchange:"交换机",routing_key:"路由键",delivery_mode:"消息传递模式",wait_for_publish_confirmations:"等待发布确认",publish_confirmation_timeout:"发布确认超时时间",payload_template:"有效载荷模板"},pulsar:{pulsar_topic:"Pulsar 主题名称",strategy:"分区选择策略",retention_period:"消息保留时间",compression:"压缩",sync_timeout:"同步发布超时",send_buffer:"Socket 发送缓存大小",per_partition_limit:"Pulsar 分区缓存上限",message_key:"消息的 Key",message_value:"消息的 Value"},kinesis:{payload_template:"载荷模板",stream_name:"Amazon Kinesis 流",partition_key:"分区键"},tdengine:{database:"数据库名字"},rocketmq:{topic:"RocketMQ 主题",refresh_interval:"主题路由更新间隔",send_buffer:"发送消息的缓冲区大小",sync_timeout:"同步调用超时时间",strategy:"Produce 策略"},clickhouse:{batch_value_separator:"分隔符"},s3:{bucket:"存储桶",acl:"ACL",content:"对象内容",key:"对象键",parameters:"上传方式",type:"增强类型",container:"聚合上传文件格式"},azure_blob_storage:{parameters:"上传方式",content:"对象内容",type:"增强类型",blob:"Blob 名称",container:"容器名称",parameters_aggregation_container:"聚合上传文件格式"},dynamo:{table:"表",hash_key:"哈希键",range_key:"范围键"},snowflake:{mode:"上传方式",type:"增强类型",private_key:"私钥",schema:"模式",stage:"存储区",pipe:"管道",pipe_user:"管道用户",proxy:"代理",host:"代理主机",port:"代理端口",max_inactive:"最大空闲时间",private_key_password:"私钥密码"},tablestore:{storage_model_type:"存储模型类型",table_name:"表名",measurement:"度量名称",tags:"标签",fields:"字段",data_source:"数据源",timestamp:"时间戳",meta_update_model:"元数据更新模式",column:"列",isint:"是否为整数",isbinary:"是否为二进制"},disk_log:{write_mode:"写入模式"},s3tables:{namespace:"命名空间",table:"表"},bigquery:{dataset:"数据集",table:"表"}},r={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",health_check_timeout:"Health Check Timeout",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",pipelining:"HTTP Pipelining",url:"Server URL",authentication:"Authentication",disable_prepared_statements:"Disable Prepared Statements",health_check_topic:"Health Check Topic",max_inactive:"Max Inactive",token:"Token",access_key_id:"Access Key ID",secret_access_key:"Secret Access Key",access_method:"Access Method",request_timeout:"Request Timeout",ipv6_probe:"IPv6 Probe",headers:"HTTP Headers",service_account_json:"GCP Service Account Credentials"},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:{query_mode:"Query Mode",batch_size:"Batch Size"},azure_event_hub_producer:{bootstrap_hosts:"Bootstrap Hosts",password:"Connection String"},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"},iotdb:{base_url:"IoTDB REST Service Base URL",iotdb_version:"IoTDB Version",driver:"Driver",protocol_version:"Protocol Version",zoneId:"Zone ID",recv_timeout:"Receive Timeout"},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",static_clientids:"Static ClientId Entries",node:"EMQX Node",ids:"Static Client IDs"},cassandra:{keyspace:"Keyspace"},opents:{summary:"Summary",details:"Details"},clickhouse:{url:"Server URL"},dynamo:{url:"DynamoDB Endpoint",aws_access_key_id:"AWS Access Key ID",aws_secret_access_key:"AWS Secret Access Key",region:"DynamoDB Region"},gcp_pubsub_consumer:{pull_max_messages:"Maximum Messages to Pull"},hstreamdb:{grpc_timeout:"gRPC Timeout"},kafka_consumer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab File",mechanism:"Mechanism"},rocketmq:{access_key:"AccessKey",secret_key:"SecretKey",security_token:"Security Token",namespace:"Namespace"},sqlserver:{driver:"SQL Server Driver Name"},oracle:{sid:"Oracle Database SID",service_name:"Oracle Database Service Name",role:"Role"},rabbitmq:{port:"Port",virtual_host:"Virtual Host",heartbeat:"Heartbeat",timeout:"Connection Timeout"},pulsar:{jwt:"JWT"},kinesis:{aws_access_key_id:"AWS Access Key ID",aws_secret_access_key:"AWS Secret Access Key",endpoint:"Amazon Kinesis Endpoint"},greptimedb:{dbname:"Database"},s3:{host:"Host",port:"Port"},azure_blob_storage:{account_name:"Account Name",account_key:"Account Key"},datalayers:{driver_type:"Driver Type"},snowflake:{account:"Account",dsn:"Data Source Name (DSN)",proxy:"Proxy",host:"Proxy Host",port:"Proxy Port",private_key_path:"Private Key Path",private_key_password:"Private Key Password"},tablestore:{endpoint:"Endpoint",access_key_id:"Access Key ID",access_key_secret:"Access Key Secret",instance_name:"Instance Name",storage_model_type:"Storage Model Type"},disk_log:{filepath:"Log Filepath",max_file_size:"Maximum File Size",max_file_number:"Maximum Number of Files"},s3tables:{s3tables_arn:"S3Tables ARN",s_3_client_transport_options_request_timeout:"Single Request Timeout"}},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:"健康检查间隔",health_check_timeout:"健康检查超时",start_timeout:"启动超时时间",max_retries:"最大重试次数",worker_pool_size:"缓存池大小",request_ttl:"请求超期",max_buffer_bytes:"缓存队列最大长度",inflight_window:"请求飞行队列窗口",servers:"服务器列表",enable_pipelining:"HTTP 流水线",pipelining:"HTTP 流水线",url:"服务器地址",authentication:"认证",disable_prepared_statements:"禁用预处理语句",health_check_topic:"健康检查主题",max_inactive:"最大空闲时间",token:"Token",access_key_id:"访问密钥 ID",secret_access_key:"访问密钥",ipv6_probe:"IPv6 探针",headers:"请求头",request_timeout:"请求超时",access_method:"访问模式",service_account_json:"GCP 服务账户凭证"},kafka_producer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab 文件",mechanism:"认证方法"},http:{url:"URL",headers:"请求头",enable_pipelining:"HTTP 管道"},gcp_pubsub_producer:{query_mode:"请求模式",batch_size:"最大批量请求大小"},azure_event_hub_producer:{bootstrap_hosts:"引导主机",password:"连接字符串"},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:"组织"},iotdb:{base_url:"IoTDB REST 服务基础 URL",iotdb_version:"IoTDB 版本",driver:"驱动",protocol_version:"协议版本",zoneId:"时区 ID",recv_timeout:"接收超时"},elasticsearch:{server:"服务器地址"},mqtt:{server:"MQTT 服务地址",clientid_prefix:"客户端 ID 前缀",proto_ver:"MQTT 协议版本",bridge_mode:"桥接模式",clean_start:"清除会话",keepalive:"Keepalive",retry_interval:"消息重发间隔",max_inflight:"飞行窗口",static_clientids:"静态客户端 ID 映射表",node:"节点名称",ids:"客户端 ID 列表"},cassandra:{keyspace:"Keyspace"},opents:{summary:"摘要信息",details:"详细信息"},clickhouse:{url:"服务器 URL"},dynamo:{url:"DynamoDB 地址",aws_access_key_id:"连接访问 ID",aws_secret_access_key:"连接访问密钥",region:"DynamoDB 区域"},gcp_pubsub_consumer:{pull_max_messages:"拉取的最大消息数"},hstreamdb:{grpc_timeout:"gRPC 超时"},kafka_consumer:{kerberos_principal:"Kerberos Principal",kerberos_keytab_file:"Kerberos Keytab 文件",mechanism:"认证方法"},rocketmq:{access_key:"AccessKey",secret_key:"SecretKey",security_token:"安全令牌",namespace:"命名空间"},sqlserver:{driver:"SQL Server Driver 名称"},oracle:{sid:"Oracle Database SID",service_name:"Oracle 数据库服务名称",role:"角色"},rabbitmq:{port:"端口",virtual_host:"虚拟主机",heartbeat:"心跳",timeout:"连接超时时间"},pulsar:{jwt:"JWT"},kinesis:{aws_access_key_id:"AWS 访问密钥 ID",aws_secret_access_key:"AWS 秘密访问密钥",endpoint:"Amazon Kinesis 端点"},greptimedb:{dbname:"数据库"},s3:{host:"地址",port:"端口"},azure_blob_storage:{account_name:"账户名称",account_key:"访问密钥"},datalayers:{driver_type:"驱动类型"},snowflake:{account:"账户",dsn:"数据源名称",proxy:"代理",host:"代理主机",port:"代理端口",private_key_path:"私钥路径",private_key_password:"私钥密码"},tablestore:{endpoint:"端点",access_key_id:"访问密钥 ID",access_key_secret:"访问密钥",instance_name:"实例名称",storage_model_type:"存储模型类型"},disk_log:{filepath:"日志文件路径",max_file_size:"最大文件大小",max_file_number:"最大文件数量"},s3tables:{s3tables_arn:"S3Tables 资源名称(ARN)",s_3_client_transport_options_request_timeout:"单次请求超时时间"}},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
29
|
id SERIAL primary key,
|
|
30
30
|
is_superuser boolean,
|
|
31
31
|
username character varying(100),
|
|
@@ -79,7 +79,7 @@ db.mqtt_acl.findOne({"username": "emqx_user"})`,redis:`# sample data
|
|
|
79
79
|
HSET mqtt_acl:emqx_u 't/#' subscribe
|
|
80
80
|
|
|
81
81
|
# sample cmd
|
|
82
|
-
HGETALL mqtt_acl:\${username}`}},n={async:"Async",sync:"Sync",get:"GET",post:"POST",delete:"DELETE",put:"PUT",producer:"Producer",consumer:"Consumer",ns:"nanosecond",us:"microsecond",ms:"millisecond",s:"second",none:"None",base64:"Base64",json:"JSON",authentication_auth_gssapi_kerberos:"Kerberos",authentication_auth_username_password:"Basic auth",authentication_auth_basic:"Basic auth",authentication_auth_token:"Token",authentication_none:"None",parameters_connector_single:"single",parameters_connector_rs:"rs",parameters_connector_sharded:"sharded",parameters_redis_single_connector:"single",parameters_redis_sentinel_connector:"rs",parameters_redis_cluster_connector:"sharded",parameters_connector_influxdb_api_v_1:"v1",parameters_connector_influxdb_api_v_2:"v2",parameters_action_update:"Update",parameters_action_delete:"Delete",parameters_action_create:"Create",parameters_s_3_direct_upload_parameters:"Direct Upload",parameters_s_3_aggregated_upload_parameters:"Aggregated Upload",parameters_direct_parameters:"Direct Upload",parameters_aggreg_parameters:"Aggregated Upload",all_partitions:"All Partitions",plain:"Plain",scram_sha_256:"SHA256",scram_sha_512:"SHA512",m:"minute",h:"hour",d:"day",no_compression:"No compression",restapi:"REST API",thrift:"Thrift Protocol",protocol_v1:"v1",protocol_v2:"v2",protocol_v3:"v3",influxdb_v1:"InfluxDB Line Protocol",aggregated:"Aggregated Upload",parameters_proxy_none:"None",parameters_proxy_proxy_config:"Enable Proxy",proxy_none:"None",proxy_proxy_config:"Enable Proxy",vhost:"Virtual Hosted",path:"Path",v3:"v3(3.1)",v4:"v4(3.1.1)",v5:"v5(5.0)",timeseries:"TimeSeries",parameters_aggregation_container_container_json_lines:"JSON Lines",parameters_container_container_json_lines:"JSON Lines",parameters_aggregation_container_container_csv:"CSV",parameters_container_container_csv:"CSV",authentication_msk_iam:"AWS IAM for MSK"},c={async:"异步",sync:"同步",get:"GET",post:"POST",delete:"DELETE",put:"PUT",producer:"生产者",consumer:"消费者",ns:"纳秒",us:"微秒",ms:"毫秒",s:"秒",none:"None",base64:"Base64",json:"JSON",authentication_auth_gssapi_kerberos:"Kerberos",authentication_auth_username_password:"基础认证",authentication_auth_basic:"基础认证",authentication_auth_token:"Token",authentication_none:"无",parameters_connector_single:"single",parameters_connector_rs:"rs",parameters_connector_sharded:"sharded",parameters_redis_single_connector:"single",parameters_redis_sentinel_connector:"sentinel",parameters_redis_cluster_connector:"cluster",parameters_connector_influxdb_api_v_1:"v1",parameters_connector_influxdb_api_v_2:"v2",parameters_action_update:"更新",parameters_action_delete:"删除",parameters_action_create:"创建",parameters_s_3_direct_upload_parameters:"直接上传",parameters_s_3_aggregated_upload_parameters:"聚合上传",parameters_direct_parameters:"直接上传",parameters_aggreg_parameters:"聚合上传",all_partitions:"所有分区",plain:"Plain",scram_sha_256:"SHA256",scram_sha_512:"SHA512",m:"分钟",h:"小时",d:"天",no_compression:"不压缩",restapi:"REST API",thrift:"Thrift 协议",protocol_v1:"v1",protocol_v2:"v2",protocol_v3:"v3",influxdb_v1:"InfluxDB 行协议",aggregated:"聚合上传",parameters_proxy_none:"无",parameters_proxy_proxy_config:"开启代理",proxy_none:"无",proxy_proxy_config:"开启代理",vhost:"虚拟托管",path:"路径",v3:"v3(3.1)",v4:"v4(3.1.1)",v5:"v5(5.0)",timeseries:"时序",parameters_aggregation_container_container_json_lines:"JSON Lines",parameters_container_container_json_lines:"JSON Lines",parameters_aggregation_container_container_csv:"CSV",parameters_container_container_csv:"CSV",authentication_msk_iam:"AWS IAM for MSK"},l={common:{auto_restart_interval:"资源断开以后,自动重连的时间间隔。",batch_size:"最大批量请求大小。如果设为 1,则无批处理。",batch_time:"在较低消息率情况下尝试累积批量输出时的最大等待间隔,以提高资源的利用率。",enable_queue:"启用磁盘缓存队列(仅对 egress 方向桥接有用)。",health_check_interval:"健康检查间隔。",inflight_window:"请求飞行队列窗口大小。当请求模式为异步时,如果需要严格保证来自同一 MQTT 客户端的消息有序,则必须将此值设为 1。",query_mode:"请求模式。可选 '同步/异步',默认为'异步'模式。",request_ttl:"从请求进入缓冲区开始计时,如果请求在规定的时间内仍停留在缓冲区内或者已发送但未能及时收到响应或确认,该请求将被视为过期。",start_timeout:"在回复资源创建请求前等待资源进入健康状态的时间。",worker_pool_size:"缓存队列 worker 数量。仅对 egress 类型的桥接有意义。当桥接仅有 ingress 方向时,可设置为 0,否则必须大于 0。",max_buffer_bytes:"每个缓存 worker 允许使用的最大字节数。",password:"相关联的外部数据库中,用于认证或识别的密码。",pool_size:"桥接远端服务时使用的连接池大小。",prepare_statement:"SQL 预处理语句列表。",ssl:"启用 SSL 连接。",username:"相关联的外部数据库中,用于认证或识别的用户名。",database:"数据库名字。",tcp_keepalive:"启用连接器的 TCP keepalive。<br/>该值是三个逗号分隔的数字,格式为`空闲时间,间隔时间,尝试次数`<br/>- 空闲时间:连接在服务器开始发送 keep-alive 探测之前需要空闲的秒数(Linux 默认为 7200)。<br/>- 间隔时间:TCP keep-alive 探测之间的秒数(Linux 默认为 75)。<br/>- 尝试次数:在从另一端获得响应之前发送的 TCP keep-alive 探测的最大次数(Linux 默认为 9)。<br/>例如,\"240,30,5\" 表示:在连接空闲 240 秒后发送 TCP keepalive 探测,并在每隔 30 秒发送一次探测,如果连续 5 次没有响应,则应该关闭连接。<br/>默认值:'none'",sndbuf:"TCP socket 的发送缓存调优。默认值是针对高吞吐量的一个推荐值。",recbuf:"TCP socket 的收包缓存调优。默认值是针对高吞吐量的一个推荐值。",nodelay:"设置 `true` 让系统内核立即发送。否则当需要发送的内容很少时,可能会有一定延迟(默认 40 毫秒)。",pool_type:"连接池的类型。可以是`random`、`hash`之一。",max_retries:"请求出错时的最大重试次数。",memory_overload_protection:`在缓冲区模式设置为 <code>memory</code> 时适用
|
|
82
|
+
HGETALL mqtt_acl:\${username}`}},n={async:"Async",sync:"Sync",get:"GET",post:"POST",delete:"DELETE",put:"PUT",producer:"Producer",consumer:"Consumer",ns:"nanosecond",us:"microsecond",ms:"millisecond",s:"second",none:"None",base64:"Base64",json:"JSON",authentication_auth_gssapi_kerberos:"Kerberos",authentication_auth_username_password:"Basic auth",authentication_auth_basic:"Basic auth",authentication_auth_token:"Token",authentication_none:"None",parameters_connector_single:"single",parameters_connector_rs:"rs",parameters_connector_sharded:"sharded",parameters_redis_single_connector:"single",parameters_redis_sentinel_connector:"rs",parameters_redis_cluster_connector:"sharded",parameters_connector_influxdb_api_v_1:"v1",parameters_connector_influxdb_api_v_2:"v2",parameters_action_update:"Update",parameters_action_delete:"Delete",parameters_action_create:"Create",parameters_s_3_direct_upload_parameters:"Direct Upload",parameters_s_3_aggregated_upload_parameters:"Aggregated Upload",parameters_direct_parameters:"Direct Upload",parameters_aggreg_parameters:"Aggregated Upload",all_partitions:"All Partitions",plain:"Plain",scram_sha_256:"SHA256",scram_sha_512:"SHA512",m:"minute",h:"hour",d:"day",no_compression:"No compression",restapi:"REST API",thrift:"Thrift Protocol",protocol_v1:"v1",protocol_v2:"v2",protocol_v3:"v3",influxdb_v1:"InfluxDB Line Protocol",aggregated:"Aggregated Upload",parameters_proxy_none:"None",parameters_proxy_proxy_config:"Enable Proxy",proxy_none:"None",proxy_proxy_config:"Enable Proxy",vhost:"Virtual Hosted",path:"Path",v3:"v3(3.1)",v4:"v4(3.1.1)",v5:"v5(5.0)",timeseries:"TimeSeries",parameters_aggregation_container_container_json_lines:"JSON Lines",parameters_container_container_json_lines:"JSON Lines",parameters_aggregation_container_container_csv:"CSV",parameters_container_container_csv:"CSV",authentication_msk_iam:"AWS IAM for MSK"},c={async:"异步",sync:"同步",get:"GET",post:"POST",delete:"DELETE",put:"PUT",producer:"生产者",consumer:"消费者",ns:"纳秒",us:"微秒",ms:"毫秒",s:"秒",none:"None",base64:"Base64",json:"JSON",authentication_auth_gssapi_kerberos:"Kerberos",authentication_auth_username_password:"基础认证",authentication_auth_basic:"基础认证",authentication_auth_token:"Token",authentication_none:"无",parameters_connector_single:"single",parameters_connector_rs:"rs",parameters_connector_sharded:"sharded",parameters_redis_single_connector:"single",parameters_redis_sentinel_connector:"sentinel",parameters_redis_cluster_connector:"cluster",parameters_connector_influxdb_api_v_1:"v1",parameters_connector_influxdb_api_v_2:"v2",parameters_action_update:"更新",parameters_action_delete:"删除",parameters_action_create:"创建",parameters_s_3_direct_upload_parameters:"直接上传",parameters_s_3_aggregated_upload_parameters:"聚合上传",parameters_direct_parameters:"直接上传",parameters_aggreg_parameters:"聚合上传",all_partitions:"所有分区",plain:"Plain",scram_sha_256:"SHA256",scram_sha_512:"SHA512",m:"分钟",h:"小时",d:"天",no_compression:"不压缩",restapi:"REST API",thrift:"Thrift 协议",protocol_v1:"v1",protocol_v2:"v2",protocol_v3:"v3",influxdb_v1:"InfluxDB 行协议",aggregated:"聚合上传",parameters_proxy_none:"无",parameters_proxy_proxy_config:"开启代理",proxy_none:"无",proxy_proxy_config:"开启代理",vhost:"虚拟托管",path:"路径",v3:"v3(3.1)",v4:"v4(3.1.1)",v5:"v5(5.0)",timeseries:"时序",parameters_aggregation_container_container_json_lines:"JSON Lines",parameters_container_container_json_lines:"JSON Lines",parameters_aggregation_container_container_csv:"CSV",parameters_container_container_csv:"CSV",authentication_msk_iam:"AWS IAM for MSK"},l={common:{auto_restart_interval:"资源断开以后,自动重连的时间间隔。",batch_size:"最大批量请求大小。如果设为 1,则无批处理。",batch_time:"在较低消息率情况下尝试累积批量输出时的最大等待间隔,以提高资源的利用率。",enable_queue:"启用磁盘缓存队列(仅对 egress 方向桥接有用)。",health_check_interval:"健康检查间隔。",health_check_interval_jitter:"在健康检查间隔中添加一个均匀的随机延迟,以便使用同一连接器的动作和 Source 在不同时间点开始其健康检查。",inflight_window:"请求飞行队列窗口大小。当请求模式为异步时,如果需要严格保证来自同一 MQTT 客户端的消息有序,则必须将此值设为 1。",query_mode:"请求模式。可选 '同步/异步',默认为'异步'模式。",request_ttl:"从请求进入缓冲区开始计时,如果请求在规定的时间内仍停留在缓冲区内或者已发送但未能及时收到响应或确认,该请求将被视为过期。",start_timeout:"在回复资源创建请求前等待资源进入健康状态的时间。",worker_pool_size:"缓存队列 worker 数量。仅对 egress 类型的桥接有意义。当桥接仅有 ingress 方向时,可设置为 0,否则必须大于 0。",max_buffer_bytes:"每个缓存 worker 允许使用的最大字节数。",password:"相关联的外部数据库中,用于认证或识别的密码。",pool_size:"桥接远端服务时使用的连接池大小。",prepare_statement:"SQL 预处理语句列表。",ssl:"启用 SSL 连接。",username:"相关联的外部数据库中,用于认证或识别的用户名。",database:"数据库名字。",tcp_keepalive:"启用连接器的 TCP keepalive。<br/>该值是三个逗号分隔的数字,格式为`空闲时间,间隔时间,尝试次数`<br/>- 空闲时间:连接在服务器开始发送 keep-alive 探测之前需要空闲的秒数(Linux 默认为 7200)。<br/>- 间隔时间:TCP keep-alive 探测之间的秒数(Linux 默认为 75)。<br/>- 尝试次数:在从另一端获得响应之前发送的 TCP keep-alive 探测的最大次数(Linux 默认为 9)。<br/>例如,\"240,30,5\" 表示:在连接空闲 240 秒后发送 TCP keepalive 探测,并在每隔 30 秒发送一次探测,如果连续 5 次没有响应,则应该关闭连接。<br/>默认值:'none'",sndbuf:"TCP socket 的发送缓存调优。默认值是针对高吞吐量的一个推荐值。",recbuf:"TCP socket 的收包缓存调优。默认值是针对高吞吐量的一个推荐值。",nodelay:"设置 `true` 让系统内核立即发送。否则当需要发送的内容很少时,可能会有一定延迟(默认 40 毫秒)。",pool_type:"连接池的类型。可以是`random`、`hash`之一。",max_retries:"请求出错时的最大重试次数。",memory_overload_protection:`在缓冲区模式设置为 <code>memory</code> 时适用
|
|
83
83
|
在内存压力较大时,EMQX 将删除旧的缓冲消息。注意:此配置仅适用于 Linux。`,disable_prepared_statements:"在连接中禁用预处理语句。某些端点(如事务模式下的 PGBouncer 或 Supabase)不支持会话功能(如预处理语句)。对于此类连接,应启用此选项。",health_check_topic:"专用于精确检查健康状态的主题名称。",max_records:"每个聚合对象允许的记录(事件)数量。每次聚合上传包含的事件数量不会超过此数值,但可能会更少。<br/>如果事件速率足够高,在同一时间间隔内显然可能会有多个聚合上传。这些上传将具有不同但连续的序列号,这些序列号将是 S3 对象键的一部分。",max_linger_time:"每个分区生产者,等待收集消息以形成批次的最长时间。<br/>默认值 <code>0</code> 表示不等待。对于非内存缓冲模式,建议至少配置 <code>5ms</code> 以减少 I/O 操作。",max_linger_bytes:"每个分区生产者,等待收集消息以形成批次的最大字节数。",undefined_vars_as_null:"在写入数据库时,将未定义的变量视为 NULL。<br/>当启用此选项时,如果在模板中使用未定义的变量(例如 `${'{'}var{'}'}`),它们将被替换为 `NULL`,而不是字符串 `undefined`。如果此选项未启用(默认为关闭),可能会插入字符串 `undefined`。<br/>如果可能,此选项应始终设置为 `true`;默认值 `false` 仅用于确保向后兼容性。",max_inactive:"HTTP 驱动在无任何活动时,尝试重连前的最大等待时间。",ipv6_probe:"是否探测 IPv6 支持。",min_part_size:"分块上传的最小分块大小。<br/>上传的数据将在内存中累积,直到达到此大小。",max_part_size:"分块上传的最大分块大小。<br/>S3 上传程序不会尝试上传超过此大小的部分。"},mqtt:{bridge_mode:"该设置仅适用于 MQTT 协议版本低于 5.0 的情况,且远程 MQTT 服务必须支持该功能。开启后,远端服务器将识别当前连接为一个桥接,消息回环检测更高效,收到的保留消息标志位会透传给本地。",clean_start:"当重新连接到远程服务,该 MQTT 服务作为入口桥接时,是否启动一个干净的会话。",retry_interval:"在未收到 ACK 的情况下,QoS1/QoS2 消息的重试间隔。",clientid_prefix:"连接器随机生成客户端 ID 时所使用的前缀。",max_inflight:"消息发布时,可以同时等待确认的未确认消息数量,用以提高消息传递效率和吞吐量。",topic:"消息发布主题,支持使用 ${'{'}field{'}'} 语法提取变量动态拼接主题。",source_topic:"消息订阅主题,支持使用 + 和 # 通配符。当 EMQX 运行在集群模式下或连接器配置了连接池时,为了避免消息重复,必须使用共享订阅。",payload:"例如:${'{'}payload{'}'}, ${'{'}clientid{'}'}, ${'{'}topic{'}'}, ${'{'}username{'}'} 等。请根据使用动作的业务需求来选择字段,置空则原样转发消息。支持使用 ${'{'}field{'}'} 语法读取数据。",static_clientids:"配置 EMQX 节点与静态客户端 ID 的对应关系。当配置了映射关系后,只有在映射中指定的 EMQX 节点才会创建对应的 MQTT 客户端连接。",node:"EMQX 的节点名称,例如:<code>emqx{'@'}10.0.0.1</code>",ids:"指定给该节点的静态客户端 ID 列表"},http:{url:"HTTP 连接器的 URL。<br/>路径中支持占位符,但在主机或端口部分中不能使用占位符。<br/>例如,`http://localhost:9901/${'{'}topic{'}'}` 是允许的,但是 `http://${'{'}host{'}'}:9901/message` 或 `http://localhost:${'{'}port{'}'}/message `不允许。",body:"例如:${'{'}payload{'}'}, ${'{'}clientid{'}'}, ${'{'}topic{'}'}, ${'{'}username{'}'} 等。请根据使用动作的业务需求来选择字段,置空则原样转发消息。",path:"此操作的 URL 路径。<br/>此路径将附加到连接器的 <code>url</code> 配置中,以形成完整的 URL 地址。此选项中允许使用带有变量的模板。 例如,<code>/room/{'{'}$room_no{'}'}</code>"},cassandra:{keyspace:"要连接到的 Keyspace 名称。",servers:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port][,Host2:Port]`。<br/>如果未指定 `[:Port]`,则使用 Cassandra 默认端口 9042。",cql:"CQL 模板"},clickhouse:{batch_value_separator:"默认为逗号 ',',适用于 VALUES 格式。您也可以使用其他分隔符, 请参考 [INSERT INTO 语句](https://clickhouse.com/docs/zh/sql-reference/statements/insert-into)。",connect_timeout:"连接 Clickhouse 服务器的超时时间。",url:"你想连接到的 Clickhouse 服务器的 HTTP URL(例如 http://myhostname:8123)。",sql:"可以使用 ${'{'}field{'}'} 占位符来引用消息与客户端上下文中的变量,请确保对应字段存在且数据格式符合预期。此处不支持 [SQL 预处理](https://docs.emqx.com/zh/enterprise/v5.0/data-integration/data-bridges.html#sql-预处理)。"},dynamo:{template:`模板,默认值为空。当此值为空时,整个消息将存储在数据库中。<br/>模板可以是任何带有占位符的有效 JSON,并确保表中所有的键都在这里,例如:<br/> \`{'{'}"id" : "\${'{'}id{'}'}", "clientid" : "\${'{'}clientid{'}'}", "data" : "\${'{'}payload.data{'}'}"{'}'}\``,url:"DynamoDB 的地址。",table:"DynamoDB 的表。",aws_access_key_id:"DynamoDB 的访问 ID。",aws_secret_access_key:"DynamoDB 的访问密钥。",region:"AWS DynamoDB 所在的区域"},gcp_pubsub_producer:{pipelining:"正整数,设置最大可发送的异步 HTTP 请求数量。当设置为 1 时,表示每次发送完成 HTTP 请求后都需要等待服务器返回,再继续发送下一个请求。",connect_timeout:"连接 GCP 服务器的超时时间。",service_account_json:"包含将与 PubSub 一起使用的 GCP 服务账户凭证的 JSON。<br/>当创建 GCP 服务账户时(如 https://developers.google.com/identity/protocols/oauth2/service-account#creatinganaccount ),可以选择下载 JSON 形式的凭证,然后在该配置项中使用。",pubsub_topic:"要发布消息的 GCP PubSub 主题。",payload_template:"用于格式化外发信息的模板。 如果未定义,将以 JSON 格式发送所有可用的上下文。",attributes_template:"用于格式化消息属性的模板。未定义的值将被渲染为空字符串。空键将从属性映射中删除。",ordering_key_template:"用于格式化消息排序键的模板。未定义的值将被渲染为空字符串。如果此值为空,则不会将其添加到消息中。"},gcp_pubsub_consumer:{topic:"要消费的 GCP PubSub 主题。",pipelining:"正整数,设置最大可发送的异步 HTTP 请求数量。当设置为 1 时,表示每次发送完成 HTTP 请求后都需要等待服务器返回,再继续发送下一个请求。",service_account_json:"包含将与 PubSub 一起使用的 GCP 服务账户凭证的 JSON。<br/>当创建 GCP 服务账户时(如 https://developers.google.com/identity/protocols/oauth2/service-account#creatinganaccount ),可以选择下载 JSON 形式的凭证,然后在该配置项中使用。",pull_max_messages:`从 GCP PubSub 中在一个拉取请求里检索的最大消息数。
|
|
84
84
|
实际数量可能小于指定的值。`,connect_timeout:"连接 GCP 服务器的超时时间。"},hstreamdb:{url:"HStreamDB 服务器的 URL。使用 gRPC HTTP 服务器地址。",partition_key:"HStreamDB 分区键。支持占位符。",grpc_flush_timeout:"刷新 gRPC 调用到 HStreamDB 服务器的时间间隔。",aggregation_pool_size:"记录聚合池的大小。增大聚合池可提升并行处理能力,但可能会因批处理变小而影响效率。",max_batches:"刷新队列中最大未确认批次数。",writer_pool_size:"写入池大小。扩大池规模可增加并行化和同时写入操作,可能提升吞吐量。但需权衡内存消耗和资源竞争。",batch_interval:"两个连续(批量)请求之间的最大间隔。",record_template:"将被转发到 HStreamDB 的 HStream record 模板。支持占位符。<br/>注意:当使用 `raw record` 模板(意味着数据不是有效的 JSON)时,应该在 HStream 中使用 `read` 或 `subscription` 来获取数据。",parameters_batch_size:"单个请求中可发送的插入数据子句的最大数量。"},influxdb:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/><br/>主机名具有以下形式:`Host[:Port]`。<br/><br/>如果未指定 `[:Port]`,则使用 InfluxDB 默认端口 8086。",token:"InfluxDB token。",org:"InfluxDB 组织名称。",bucket:"InfluxDB bucket 名称。",write_syntax:"使用 InfluxDB API Line Protocol 写入 InfluxDB 的数据,支持占位符,参考 [InfluxDB 2.3 Line Protocol](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/line-protocol/) 及 [InfluxDB 1.8 Line Protocol](https://docs.influxdata.com/influxdb/v1.8/write_protocols/line_protocol_tutorial/) <br/>TLDR: <br/>```<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]```<br/>注意,整形数值占位符后需要添加一个字符 `i` 类型标识。例如 `${'{'}payload.int_value{'}'}i`",precision:"InfluxDB 时间精度。"},datalayers:{write_syntax:"Datalayers 采用与 InfluxDB v1 完全兼容的行协议,为用户提供了熟悉且高效的数据写入方式。虽然兼容InfluxDB v1 的语法,但 Datalayers 在底层实现上有其独特之处,以优化性能和适应其特定的存储结构。参考 [InfluxDB Line Protocol](https://docs.datalayers.cn/datalayers/latest/development-guide/writing-with-influxdb-line-protocol.html)",precision:"Datalayers 时间精度。"},confluent_producer:{connect_timeout:"建立 TCP 连接时的最大等待时长(若启用认证,这个等待时长也包含完成认证所需时间)。",bootstrap_hosts:"用逗号分隔的 <code>host[:port]</code> 主机列表。默认端口号为 9092。",min_metadata_refresh_interval:"刷新 Kafka broker 和 Kafka 主题元数据的最短时间间隔。设置太小可能会增加 Kafka 压力。",metadata_request_timeout:"刷新元数据时最大等待时长。",topic:"Kafka 主题名称",kafka_headers:`请提供用作 Kafka Headers 的占位符<br/>例如:<code>\${'{'}pub_props{'}'}</code><br/>注意占位符的值必须是一个对象:<br/>\`{'{'}"foo": "bar"{'}'}\``,kafka_header_value_encode_mode:"Kafka Headers 的值编码类型:<br/>- `NONE`:仅将二进制值添加到 Kafka Headers;<br/>- `JSON`:仅将 JSON 值添加到 Kafka Headers,并在发送之前将其编码为 JSON 字符串。",kafka_ext_headers:"请提供更多的键值对,用于 Kafka Headers。<br/>这里的键值对将与 `kafka_headers` 字段的值合并后发送到 Kafka。",key:"生成 Kafka 消息键的模版。如果模版生成后为空值,则会使用 Kafka 的 <code>NULL</code> ,而非空字符串。",value:"生成 Kafka 消息的值的模版。如果模版生成后为空值,则会使用 Kafka 的 <code>NULL</code>,而非空字符串。",partition_strategy:"设置消息发布时应该如何选择 Kafka 分区。<br/><code>random</code>: 为每个消息随机选择一个分区。<br/><code>key_dispatch</code>:对 Kafka 消息键进行哈希,以得到一个分区号。",max_batch_bytes:"最大消息批量字节数。大多数 Kafka 环境的默认最低值是 1 MB,EMQX 的默认值比 1 MB 更小是因为需要补偿 Kafka 消息编码所需要的额外字节(尤其是当每条消息都很小的情况下)。当单个消息的大小超过该限制时,它仍然会被发送,(相当于该批量中只有单个消息)。",required_acks:"设置 Kafka leader 在返回给 EMQX 确认之前需要等待多少个 follower 的确认。<br/><code>all_isr</code>: 需要所有的在线复制者都确认。<br/><code>leader_only</code>: 仅需要分区 leader 确认。<br/><code>none</code>: 无需 Kafka 回复任何确认。",partition_count_refresh_interval:"配置 Kafka 刷新分区数量的时间间隔。<br/>EMQX 发现 Kafka 分区数量增加后,会开始按 <code>partition_strategy</code> 配置,把消息发送到新的分区中。",max_inflight:"设置 Kafka 生产者(每个分区一个)在收到 Kafka 的确认前最多发送多少个请求(批量)。调大这个值通常可以增加吞吐量,但是,当该值设置大于 1 时存在消息乱序的风险。",sync_query_timeout:"同步查询的超时时间。仅当请求模式配置为'同步'时才使用该配置。",mode:"消息缓存模式。<br/><code>memory</code>: 所有的消息都缓存在内存里。如果 EMQX 服务重启,缓存的消息会丢失。<br/><code>disk</code>: 缓存到磁盘上。EMQX 重启后会继续发送重启前未发送完成的消息。<br/><code>hybrid</code>: 先将消息缓存在内存中,当内存中的消息堆积超过一定限制(配置项 <code>segment_bytes</code> 描述了该限制)后,后续的消息会缓存到磁盘上。与 <code>memory</code> 模式一样,如果 EMQX 服务重启,缓存的消息会丢失。",per_partition_limit:"为每个 Kafka 分区设置的最大缓存字节数。当超过这个上限之后,老的消息会被丢弃,为新的消息腾出空间。",segment_bytes:"当缓存模式是 <code>disk</code> 或 <code>hybrid</code> 时适用。该配置用于指定缓存到磁盘上的文件的大小。",compression:"压缩方法。",partitions_limit:"限制生产者能够发送消息的最大分区数量。"},kafka_producer:{bootstrap_hosts:"用逗号分隔的 <code>host[:port]</code> 主机列表。默认端口号为 9092。",authentication:"认证参数。",connect_timeout:"建立 TCP 连接时的最大等待时长(若启用认证,这个等待时长也包含完成认证所需时间)。",min_metadata_refresh_interval:"刷新 Kafka broker 和 Kafka 主题元数据的最短时间间隔。设置太小可能会增加 Kafka 压力。",metadata_request_timeout:"刷新元数据时最大等待时长。",topic:"Kafka 主题名称",kafka_headers:`请提供用作 Kafka Headers 的占位符<br/>例如:<code>\${'{'}pub_props{'}'}</code><br/>注意占位符的值必须是一个对象:<br/>\`{'{'}"foo": "bar"{'}'}\``,kafka_header_value_encode_mode:"Kafka Headers 的值编码类型:<br/>- `NONE`:仅将二进制值添加到 Kafka Headers;<br/>- `JSON`:仅将 JSON 值添加到 Kafka Headers,并在发送之前将其编码为 JSON 字符串。",kafka_ext_headers:"请提供更多的键值对,用于 Kafka Headers。<br/>这里的键值对将与 `kafka_headers` 字段的值合并后发送到 Kafka。",key:"生成 Kafka 消息键的模版。如果模版生成后为空值,则会使用 Kafka 的 <code>NULL</code> ,而非空字符串。",value:"生成 Kafka 消息的值的模版。如果模版生成后为空值,则会使用 Kafka 的 <code>NULL</code>,而非空字符串。",kafka_message_timestamp:"生成 Kafka 消息时间戳的模版。该时间必需是一个整型数值(可以是字符串格式)例如 <code>1661326462115</code> 或 <code>'1661326462115'</code>。当所需的输入字段不存在,或不是一个整型时,则会使用当前系统时间。",compression:"压缩方法。",partition_strategy:"设置消息发布时应该如何选择 Kafka 分区。<br/><code>random</code>: 为每个消息随机选择一个分区。<br/><code>key_dispatch</code>:对 Kafka 消息键进行哈希,以得到一个分区号。",max_batch_bytes:"最大消息批量字节数。大多数 Kafka 环境的默认最低值是 1 MB,EMQX 的默认值比 1 MB 更小是因为需要补偿 Kafka 消息编码所需要的额外字节(尤其是当每条消息都很小的情况下)。当单个消息的大小超过该限制时,它仍然会被发送,(相当于该批量中只有单个消息)。",required_acks:"设置 Kafka leader 在返回给 EMQX 确认之前需要等待多少个 follower 的确认。<br/><code>all_isr</code>: 需要所有的在线复制者都确认。<br/><code>leader_only</code>: 仅需要分区 leader 确认。<br/><code>none</code>: 无需 Kafka 回复任何确认。",partition_count_refresh_interval:"配置 Kafka 刷新分区数量的时间间隔。<br/>EMQX 发现 Kafka 分区数量增加后,会开始按 <code>partition_strategy</code> 配置,把消息发送到新的分区中。",max_inflight:"设置 Kafka 生产者(每个分区一个)在收到 Kafka 的确认前最多发送多少个请求(批量)。调大这个值通常可以增加吞吐量,但是,当该值设置大于 1 时存在消息乱序的风险。",sync_query_timeout:"同步查询的超时时间。仅当请求模式配置为'同步'时才使用该配置。",mode:"消息缓存模式。<br/><code>memory</code>: 所有的消息都缓存在内存里。如果 EMQX 服务重启,缓存的消息会丢失。<br/><code>disk</code>: 缓存到磁盘上。EMQX 重启后会继续发送重启前未发送完成的消息。<br/><code>hybrid</code>: 先将消息缓存在内存中,当内存中的消息堆积超过一定限制(配置项 <code>segment_bytes</code> 描述了该限制)后,后续的消息会缓存到磁盘上。与 <code>memory</code> 模式一样,如果 EMQX 服务重启,缓存的消息会丢失。",per_partition_limit:"为每个 Kafka 分区设置的最大缓存字节数。当超过这个上限之后,老的消息会被丢弃,为新的消息腾出空间。",segment_bytes:"当缓存模式是 <code>disk</code> 或 <code>hybrid</code> 时适用。该配置用于指定缓存到磁盘上的文件的大小。",kafka_ext_header_key:"Kafka Headers 的键。支持使用 <code>${'{'}var{'}'}</code> 格式的占位符。",mechanism:"SASL 认证方法名称。",kerberos_principal:"SASL GSSAPI 认证方法的 Kerberos principal,例如 <code>client_name{'@'}MY.KERBEROS.REALM.MYDOMAIN.COM</code>注意:这里使用的 realm 需要配置在 EMQX 服务器的 /etc/krb5.conf 中",kerberos_keytab_file:"SASL GSSAPI 认证方法的 Kerberos keytab 文件。注意:该文件需要上传到 EMQX 服务器中,且运行 EMQX 服务的系统账户需要有读取权限。",kafka_ext_header_value:"Kafka Headers 的值。支持使用 <code>${'{'}var{'}'}</code> 格式的占位符。",partitions_limit:"限制生产者能够发送消息的最大分区数量。"},kafka_consumer:{bootstrap_hosts:"用逗号分隔的 <code>host[:port]</code> 主机列表。默认端口号为 9092。",key_encoding_mode:"通过 MQTT 转发之前,如何处理 Kafka 消息的 Key。<code>none</code> 使用 Kafka 消息中的 Key 原始值,不进行编码。 注意:在这种情况下,Key 必须是一个有效的 UTF-8 字符串。<br/><code>base64</code> 对收到的密钥或值使用 base-64 编码。",value_encoding_mode:"通过 MQTT 转发之前,如何处理 Kafka 消息的 Value。<code>none</code> 使用 Kafka 消息中的 Value 原始值,不进行编码。 注意:在这种情况下,Value 必须是一个有效的 UTF-8 字符串。<br/><code>base64</code> 对收到的 Value 使用 base-64 编码。",offset_reset_policy:"如不存在偏移量历史记录或历史记录失效,消费者应使用哪个偏移量开始消费。",min_metadata_refresh_interval:"刷新 Kafka broker 和 Kafka 主题元数据的最短时间间隔。设置太小可能会增加 Kafka 压力。",metadata_request_timeout:"刷新元数据时最大等待时长。",connect_timeout:"建立 TCP 连接时的最大等待时长(若启用认证,这个等待时长也包含完成认证所需时间)。",max_batch_bytes:"设置每次从 Kafka 拉取数据的字节数。<br/>消费者按批次获取消息,如果获取的第一个非空分区中的第一个记录批次大小大于这个值,该记录批次仍会被返回,以确保消费者能够继续处理。因此,这并不是一个绝对的最大值限制。如果需要实现最小延迟,可将该值设为 `1`",offset_commit_interval_seconds:"指定 Kafka 消费组偏移量提交的时间间隔。",topic:"Kafka 主题名称",group_id:"用于此 Source 的消费者组 ID。如果未指定,系统将自动生成一个基于 Source 名称的 ID。",max_wait_time:"等待 Kafka broker 发送响应对象的最大时间。"},mongodb:{collection:"数据将被存储到的集合",payload_template:"用于格式化写入 MongoDB 的消息模板。 如果未定义,规则引擎会使用 JSON 格式序列化所有的可见输入,例如 clientid, topic, payload 等。",auth_source:"与用户证书关联的数据库名称。",use_legacy_protocol:"是否使用 MongoDB 的旧协议与数据库通信。默认情况下,系统会尝试自动确定是否支持新协议。",srv_record:"使用 DNS SRV 记录。",max_overflow:"当连接池中所有线程都被占用时,可以创建的最大附加工作线程数。这有助于通过允许更多并发连接到 MongoDB 服务器来管理暂时的工作负载峰值。",overflow_ttl:"当池内工人太多时,等待多久清除多余工人。",overflow_check_period:'检查是否有超过配置的工人的周期("溢出")。',local_threshold:"在多个合适的 MongoDB 实例中进行选择的延迟窗口的大小。",connect_timeout:"超时重连的等待时间。",socket_timeout:"在尝试超时之前,在套接字上尝试发送或接收的持续时间。",server_selection_timeout:"指定在抛出异常之前为服务器选择阻断多长时间。",wait_queue_timeout:"工作者等待连接可用的最长时间。",heartbeat_frequency:"控制驱动程序何时检查 MongoDB 部署的状态。指定检查的间隔时间,从上一次检查结束到下一次检查开始计算。如果连接数增加(例如,如果你增加池子的大小,就会发生这种情况),你可能也需要增加这个周期,以避免在 MongoDB 日志文件中创建太多的日志条目。",min_heartbeat_frequency:"心跳间的最小间隙",server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 MongoDB 默认端口 27017。",w_mode:"写模式。",servers:"集群将要连接的节点列表。 节点之间用逗号分隔,如:`Node[,Node].`<br/>每个节点的配置为:将要连接的 IPv4 或 IPv6 地址或主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 MongoDB 默认端口 27017。",replica_set_name:"副本集的名称。",r_mode:"读模式。"},mysql:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 MySQL 默认端口 3306。",sql:"SQL 模板"},pgsql:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用默认端口 5432。",sql:"SQL 模板"},redis:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 Redis 默认端口 6379。",servers:"集群将要连接的节点列表。 节点之间用逗号分隔,如:`Node[,Node].`<br/>每个节点的配置为:将要连接的 IPv4 或 IPv6 地址或主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 Redis 默认端口 6379。",sentinel:"哨兵模式。当 Redis 服务运行在哨兵模式下,该配置必须设置为 'sentinel'。",command_template:"用于推送数据的 Redis 命令模板。 每个列表元素代表一个命令名称或其参数。<br/>例如,要通过键 `msgs` 将消息体推送到 Redis 列表中,数组元素应该是: `rpush`, `msgs`, `${'{'}payload{'}'}`。"},rocketmq:{servers:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 RocketMQ 默认端口 9876。",access_key:"RocketMQ 服务器的 `accessKey`。",secret_key:"RocketMQ 服务器的 `secretKey`。",security_token:"RocketMQ 服务器安全令牌",topic:"RocketMQ 主题",refresh_interval:"RocketMQ 主题路由更新间隔。",send_buffer:"RocketMQ 驱动的套字节发送消息的缓冲区大小",template:"模板, 默认为空,为空时将会将整个消息转发给 RocketMQ。 <br/>模板可以是任意带有占位符的合法字符串, 例如:<br/>- ${'{'}id{'}'}, ${'{'}username{'}'}, ${'{'}clientid{'}'}, ${'{'}timestamp{'}'}<br/>- {'{'}\"id\" : ${'{'}id{'}'}, \"username\" : ${'{'}username{'}'}{'}'}",sync_timeout:"RocketMQ 驱动同步调用的超时时间。",namespace:"如果你正在使用阿里云的 RocketMQ 服务并且启用了命名空间,或者你在你自己的 RocketMQ 服务里配置了命名空间,那么你必须配置命名空间字段。对于阿里云的 RocketMQ 服务来说,命名空间就是实例 ID。",strategy:"生产者密钥分派策略,默认为 `roundrobin`,支持占位符。"},tdengine:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`[http[s]://]Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 TDengine 默认端口 6041。",sql:"SQL 模板",token:"连接到 TDengine Cloud 时使用的令牌。<br/>如果提供了令牌,它将覆盖用户名和密码的认证方式。"},sqlserver:{server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 SQL Server 默认端口 1433。",driver:"SQL Server Driver 名称",sql:"SQL 模板"},iotdb:{base_url:"外部 IoTDB 服务的 REST 接口的基础 URL。<br/>URL 具有以下形式:`http://Host:Port`",iotdb_version:"要连接的 IoTDB 系统的版本。",enable_pipelining:"一个正整数。是否连续发送 HTTP 请求,当设置为 1 时,这意味着每次发送 HTTP 请求后,您需要等待服务器返回,然后继续发送下一个请求。",connect_timeout:"连接到 IoTDB 服务器时的超时时间。",timestamp:"支持使用 ${'{'}var{'}'} 格式的占位符,要求是时间戳格式。也可以使用以下特殊字符插入系统时间:<br/>- `now`: 当前毫秒级时间戳<br/>- `now_ms`: 当前毫秒级时间戳<br/>- `now_us`: 当前微秒级时间戳<br/>- `now_ns`: 当前纳秒级时间戳",measurement:"也称 Measurement,支持使用 ${'{'}var{'}'} 格式的占位符。",data_type:"插入值的数据类型。支持的类型:boolean、int32、int64、float、double、text。",value:"要插入的值,支持使用 ${'{'}var{'}'} 格式的占位符。",device_id:"应插入此数据的固定设备名称。如果为空,则必须在规则操作中设置,消息本身中设置,或从主题中提取。",is_aligned:"是否对齐时间序列",recv_timeout:"接收 IoTDB Thrift 服务器的超时时间。"},opents:{server:"服务器的地址。",summary:"是否返回摘要信息。",details:"是否返回详细信息。",timestamp:"秒级或毫秒级时间戳,支持 ${'{'}var{'}'} 格式的占位符。",metric:"度量的名称,应为时间序列数据的唯一标识符,支持 ${'{'}var{'}'} 格式的占位符,",tags:"附加元数据的标签,每个标签都是一个键值对,采用 `key=value,key2=value2` 的格式进行配置,并支持 ${'{'}var{'}'} 形式的占位符。",value:"数据点的值,支持 ${'{'}var{'}'} 格式的占位符。它代表实际的测量或观察值。"},oracle:{sql:"SQL 模板。模板中描述消息元数据和有效载荷的字符串可以包含占位符。这些占位符在插入时不会做任何检查和格式转换,所以请务必确保插入值被正确地格式化和转义。",sid:"Oracle Database SID 名称",server:"将要连接的 IPv4 或 IPv6 地址,或者主机名。<br/>主机名具有以下形式:`Host[:Port]`。<br/>如果未指定 `[:Port]`,则使用 Oracle Database 默认端口 1521。"},rabbitmq:{server:"你想要连接的 RabbitMQ 服务器地址(例如,localhost)。",port:"RabbitMQ 服务器监听的端口号(默认为 5672)。",exchange:"消息将被发送到的 RabbitMQ 交换机的名称。",routing_key:"用于将消息路由到 RabbitMQ 交换机的正确队列的路由键。",virtual_host:"连接到 RabbitMQ 服务器时要使用的虚拟主机。",heartbeat:"发送心跳消息到 RabbitMQ 服务器的时间间隔。",delivery_mode:"发布到 RabbitMQ 的消息的传递模式。非持久性的传递模式适用于不需要在 RabbitMQ 重启时保持持久性的消息,而持久性的传递模式适用于必须在 RabbitMQ 重启时保持持久性的消息。",wait_for_publish_confirmations:"使用发布者确认时,是否要等待 RabbitMQ 确认消息。",publish_confirmation_timeout:"使用发布者确认时等待 RabbitMQ 确认消息发布的超时时间。",timeout:"等待建立连接的超时时间。",payload_template:"发送消息到 RabbitMQ 之前格式化消息有效载荷的模板。模板占位符(例如 ${'{'}field1.sub_field{'}'} )将被替换为相应字段的值。如果为空,则整个输入消息将被用作有效载荷,格式化为 JSON 文本。此行为相当于将 ${'{'}.{'}'} 指定为有效载荷模板。",queue:"RabbitMQ 队列名称。",no_ack:"在从 RabbitMQ 消费消息时是否使用 `no_ack` 模式。"},pulsar:{servers:"以逗号分隔的 <code>scheme://host[:port]</code> 格式的 Pulsar URL 列表,支持的 scheme 有 <code>pulsar://</code> (默认)和<code>pulsar+ssl://</code>。默认端口:6650。",pulsar_topic:"Pulsar 主题名称",strategy:"设置消息发布时的 Pulsar 分区选择策略。<br/><code>random</code>: 为每个消息随机选择一个分区。<br/><code>roundrobin</code>: 依次为每条信息挑选可用的 producer。<br/><code>key_dispatch</code>: 将待选择分区的编码进行哈希,并存储在一批信息中第一条信息的 Pulsar 信息密钥中。",compression:"压缩方法。",message_key:"生成 Pulsar 消息 Key 的模版。",message_value:"生成 Pulsar 消息 Value 的模版。",sync_timeout:"同步发布时,从 Pulsar 接收发送回执的最长等待时间。",retention_period:"指定在与 Pulsar broker 断开连接时缓冲消息的持续时间。请合理设置该值,时间设置越久,需要的内存/磁盘的使用量越高。",send_buffer:"TCP socket 的发送缓存调优,高吞吐量下建议保留默认值。",max_batch_bytes:"每个批次可收集的最大消息字节数。EMQX 将默认值设为小于 5 MB,以便补偿编码开销,特别是在处理较小的消息时。当单条消息的大小超过该限制时,会做为单独批次处理,即该批次中仅包含这条消息。",connect_timeout:"建立 TCP 连接时的最大等待时长(若启用认证,这个等待时长也包含完成认证所需时间)。",mode:"消息缓存模式。<br/><code>memory</code>: 所有的消息都缓存在内存里。如果 EMQX 服务重启,缓存的消息会丢失。<br/><code>disk</code>: 缓存到磁盘上。EMQX 重启后会继续发送重启前未发送完成的消息。<br/><code>hybrid</code>: 先将消息缓存在内存中,当内存中的消息堆积超过一定限制(配置项 <code>segment_bytes</code> 描述了该限制)后,后续的消息会缓存到磁盘上。如果 EMQX 服务重启,缓存消息会丢失。",per_partition_limit:"为每个 Pulsar 分区设置的最大缓存字节数。当超过这个上限之后,老的消息会被丢弃,以便接收新的消息。",segment_bytes:"当缓存模式是 <code>disk</code> 或 <code>hybrid</code> 时适用。该配置用于指定缓存到磁盘上的文件的大小。",authentication_jwt:"JWT 认证令牌。",max_inflight:"生产者在等待接收回执前可以发送给每个分区的最大消息批次数量。<br/>设置更高的值可以提高吞吐量。"},azure_event_hub_producer:{bootstrap_hosts:"用于引导客户端的 Azure Event Hubs Kafka <code>host[:port]</code>命名空间端点的逗号分隔列表。默认端口号为 9093。",connect_timeout:"TCP 连接建立的最大等待时间(包括启用身份验证的时间)。",min_metadata_refresh_interval:"客户端在刷新 Azure Event Hubs Kafka 代理和主题元数据之前必须等待的最小时间间隔。设置太小的值可能会对 Azure Event Hubs 造成额外的负载。",metadata_request_timeout:"从 Azure Event Hubs 获取元数据时的最大等待时间。",password:'用于连接到 Azure Event Hubs 的连接字符串。应为命名空间共享访问策略的 "连接字符串 - 主键"。',topic:"事件中心名称",max_batch_bytes:"在 Azure Event Hubs 消息批次中收集的最大字节数。大多数 Azure Event Hubs 代理的默认限制为 1 MB 批次大小。EMQX 的默认值小于 1 MB,以补偿 Azure Event Hubs 消息编码开销(特别是当每个单独消息非常小时)。当单个消息超过限制时,仍然会发送(作为单个元素批次)。",partition_strategy:`分区策略用于告诉生产者如何将消息分派到 Azure Event Hubs 分区。
|
|
85
85
|
|
|
@@ -104,7 +104,7 @@ HGETALL mqtt_acl:\${username}`}},n={async:"Async",sync:"Sync",get:"GET",post:"PO
|
|
|
104
104
|
- 明文密钥:直接以字符串形式输入PEM格式的私钥内容。
|
|
105
105
|
- 文件路径:指定包含私钥的文件路径。确保路径以<code>file://</code>开头。文件路径必须在集群的所有节点上相同。`,database:"包含 Snowflake 资源的数据库名称。",schema:"包含 Snowflake 资源的模式名称。",stage:"用于将数据文件加载到 Snowflake 的 Stage 名称。",pipe:"用于将数据摄取到表中的 Pipe 名称。",pipe_user:"具有使用 Pipe 权限的角色的用户名。最低要求的权限是`operate`和`monitor`。",proxy:"代理配置。当前仅支持 HTTP 代理(不支持 HTTPS)。",private_key_path:"用于 ODBC 连接的私钥的完整文件路径。此路径必须在集群的所有节点上保持一致。",private_key_password:"用于解密私钥的密码。如果私钥未加密,请不要设置此值。"},tablestore:{isint:"是否尝试将数值写为整数。默认为 false,表示将整数写为浮点数。",isbinary:"是否尝试将二进制值写为二进制类型。默认为 false,表示将二进制值写为字符串。"},disk_log:{filepath:"日志文件的基础路径。实际日志文件将采用 `filepath.N` 格式,其中 `N` 是 `1..max_file_number` 范围内的值。当前使用的文件可通过查找最近修改日期的文件来确定。注意,包含该文件的目录也必须对 EMQX 应用程序用户可写,因为目录中还会包含内部使用的额外文件(以 `.siz` 和 `.idx` 为后缀)。",max_file_size:"当前活动日志文件的最大大小。每个日志文件至少会写入一条记录,因此如果单条日志记录超过此值,最终文件大小可能会超过此最大值。",max_file_number:"要使用的最大日志文件数量。一旦达到最大文件数量且需要新的轮转时,最旧的文件将被截断并用作新的当前文件。",write_mode:"同步或异步写入日志到磁盘。",template:"写入的 JSON 对象的内容。支持模板。"},s3tables:{s_3_client_transport_options_request_timeout:"向 S3 服务发起单次 HTTP 请求的最大等待时间,超时后会重试或失败。"}},d={common:{auto_restart_interval:"The auto restart interval after the resource is disconnected.",batch_size:"Maximum batch count. If equal to 1, there's effectively no batching.",batch_time:"Maximum waiting interval when accumulating a batch at a low message rates for more efficient resource usage.",enable_queue:`Enable disk buffer queue (only applicable for egress bridges).
|
|
106
106
|
When Enabled, messages will be buffered on disk when the bridge connection is down.
|
|
107
|
-
When disabled the messages are buffered in RAM only.`,health_check_interval:"Health check interval.",inflight_window:"Query inflight window. When query_mode is set to async, this config has to be set to 1 if messages from the same MQTT client have to be strictly ordered.",query_mode:"Query mode. Optional 'sync/async', default 'async'.",request_ttl:"Starting from the moment when the request enters the buffer, if the request remains in the buffer for the specified time or is sent but does not receive a response or acknowledgement in time, the request is considered expired.",start_timeout:"Time interval to wait for an auto-started resource to become healthy before responding resource creation requests.",worker_pool_size:`The number of buffer workers. Only applicable for egress type bridges.
|
|
107
|
+
When disabled the messages are buffered in RAM only.`,health_check_interval:"Health check interval.",health_check_interval_jitter:"A uniform random delay to be added to health check interval, so that Actions and Sources from the same Connector start their health checks at different instants.",inflight_window:"Query inflight window. When query_mode is set to async, this config has to be set to 1 if messages from the same MQTT client have to be strictly ordered.",query_mode:"Query mode. Optional 'sync/async', default 'async'.",request_ttl:"Starting from the moment when the request enters the buffer, if the request remains in the buffer for the specified time or is sent but does not receive a response or acknowledgement in time, the request is considered expired.",start_timeout:"Time interval to wait for an auto-started resource to become healthy before responding resource creation requests.",worker_pool_size:`The number of buffer workers. Only applicable for egress type bridges.
|
|
108
108
|
For bridges only have ingress direction data flow, it can be set to 0 otherwise must be greater than 0.`,max_buffer_bytes:"Maximum number of bytes to buffer for each buffer worker.",password:"Password used for authentication with the external database.",pool_size:"Size of the connection pool towards the bridge target service.",prepare_statement:"Key-value list of SQL prepared statements.",ssl:"SSL connection settings.",username:"The username in the external database used for authentication or identification purposes.",database:"Database name.",tcp_keepalive:"Enable TCP keepalive for connector.<br/>The value is a comma-separated list of three numbers in the format of `Idle,Interval,Probes`<br/>- Idle: The number of seconds of idle time needed by a connection before the server begins to send out keep-alive probes (default on Linux is 7200).<br/>- Interval: The number of seconds between TCP keep-alive probes (default on Linux is 75).<br/>- Probes: The maximum number of TCP keep-alive probes to send before considering the connection as closed if no response is received from the other end (default on Linux is 9).<br/>For example \"240,30,5\" means: send TCP keepalive probes after 240 seconds of idle time, and send probes every 30 second. If there are no responses for 5 consecutive attempts, the connection should be closed.<br/>Default: 'none'",sndbuf:"Fine tune the socket send buffer. The default value is tuned for high throughput.",recbuf:"Fine tune the socket receive buffer. The default value is tuned for high throughput.",nodelay:"When set to `true`, TCP buffer is sent as soon as possible. Otherwise, the OS kernel may buffer small TCP packets for a while (40 ms by default).",pool_type:"The type of the pool. Can be one of `random`, `hash`.",max_retries:"Max retry times if an error occurs when sending a request.",memory_overload_protection:"This setting applies when the buffer mode is configured as <code>memory</code>. EMQX will automatically discard older buffered messages when it encounters high memory pressure. Note: This configuration is effective only on Linux systems.",disable_prepared_statements:"Disables the usage of prepared statements in the connections. Some endpoints, like PGBouncer or Supabase in Transaction mode, do not support session features such as prepared statements. For such connections, this option should be enabled.",health_check_topic:"Topic name used exclusively for more accurate health checks.",max_records:"Number of records (events) allowed per each aggregated object. Each aggregated upload will contain no more than that number of events, but may contain less.<br/>If event rate is high enough, there obviously may be more than one aggregated upload during the same time interval. These uploads will have different, but consecutive sequence numbers, which will be a part of S3 object key.",max_linger_time:"Maximum duration for a per-partition producer to wait for messages in order to collect a batch to buffer.<br/>The default value <code>0</code> means no wait. For non-memory buffer mode, it's advised to configure at least <code>5ms</code> for less IOPS.",max_linger_bytes:"Maximum number of bytes for a per-partition producer to wait for messages in order to collect a batch to buffer.",undefined_vars_as_null:"When writing to databases, treat undefined variables as NULL.<br/>When this option is enabled, if undefined variables (like `${'{'}var{'}'}`) are used in templates, they will be replaced with `NULL` instead of the string `undefined`. If this option is not enabled (default), the string `undefined` might be inserted.<br/>This option should always be `true` if possible; the default value `false` is only to ensure backward compatibility.",max_inactive:"Maximum amount of time without any activity that the HTTP driver will wait before attempting to reconnect.",ipv6_probe:"Whether to probe for IPv6 support.",min_part_size:"The minimum part size for multipart uploads.<br/>Uploaded data will be accumulated in memory until this size is reached.",max_part_size:"The maximum part size for multipart uploads.<br/>S3 uploader won't try to upload parts larger than this size."},mqtt:{bridge_mode:"This setting is only for MQTT protocol version older than 5.0, and the remote MQTT broker MUST support this feature. After being enabled, the remote broker will recognize the current connection as a bridge, that loop detection will be more effective and that retained messages will be propagated correctly.",clean_start:"Whether to start a clean session when reconnecting a remote broker for ingress bridge.",retry_interval:"Retry interval for QoS1/QoS2 messages if no ACK is received.",clientid_prefix:"The prefix used when the connector randomly generates a Client ID.",max_inflight:"The number of Unacked messages that can be simultaneously waited for during message publishing, in order to improve message delivery efficiency and throughput.",topic:"Message publishing topic, supports using ${'{'}field{'}'} syntax to extract variables and dynamically concatenate the topic.",source_topic:"Message subscription topics support the use of + and # wildcards. When EMQX is running in cluster mode or the connector is configured with a connection pool, shared subscriptions must be used to avoid message duplication.",payload:"For example: ${'{'}payload{'}'}, ${'{'}clientid{'}'}, ${'{'}topic{'}'} , ${'{'}username{'}'}, etc. Use fields according to the action requirements of your business and forwards the message as it is if it is empty.Supports reading data using ${'{'}field{'}'} syntax.",static_clientids:"Entries mapping EMQX node names to static client IDs. If any entries are defined, then only EMQX nodes matching those entries will start MQTT clients with the corresponding clientids.",node:"EMQX node name, e.g.: <code>emqx{'@'}10.0.0.1</code>.",ids:"Array of static client IDs assigned to this node."},http:{url:"The URL of the HTTP Connector.<br/>Template with variables is allowed in the path, but variables cannot be used in the host or port part.<br/>For example, `http://localhost:9901/${'{'}topic{'}'}` is allowed, but`http://${'{'}host{'}'}:9901/message` or `http://localhost:${'{'}port{'}'}/message`is not allowed.",body:"For example: ${'{'}payload{'}'}, ${'{'}clientid{'}'}, ${'{'}topic{'}'} , ${'{'}username{'}'}, etc. Use fields according to the action requirements of your business and forwards the message as it is if it is empty.",path:"The URL path for this Action.<br/>This path will be appended to the Connector's <code>url</code> configuration to form the full URL address.Template with variables is allowed in this option. For example, <code>/room/{'{'}$room_no{'}'}</code>"},cassandra:{keyspace:"Keyspace name to connect to.",servers:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port][,Host2:Port]`.<br/>The Cassandra default port 9042 is used if `[:Port]` is not specified.",cql:"CQL Template"},clickhouse:{batch_value_separator:"The default value ',' works for the VALUES format. You can also use other separator if other format is specified. See [INSERT INTO Statement](https://clickhouse.com/docs/en/sql-reference/statements/insert-into).",connect_timeout:"The timeout when connecting to the Clickhouse server.",url:"The HTTP URL to the Clickhouse server that you want to connect to (for example http://myhostname:8123)",sql:"The template string can contain ${'{'}field{'}'} placeholders for message metadata and payload field. Make sure that the inserted values are formatted and escaped correctly. [Prepared Statement](https://docs.emqx.com/en/enterprise/v5.0/data-integration/data-bridges.html#Prepared-Statement) is not supported."},dynamo:{template:`Template, the default value is empty. When this value is empty the whole message will be stored in the database.<br/>The template can be any valid JSON with placeholders and make sure all keys for table are here, example:<br/> \`{'{'}"id" : "\${'{'}id{'}'}", "clientid" : "\${'{'}clientid{'}'}", "data" : "\${'{'}payload.data{'}'}"{'}'}\``,url:"The url of DynamoDB endpoint.",table:"DynamoDB Table.",aws_access_key_id:"Access Key ID for connecting to DynamoDB.",aws_secret_access_key:"AWS Secret Access Key for connecting to DynamoDB.",region:"Region of the AWS dynamo"},gcp_pubsub_producer:{pipelining:"A positive integer. Whether to send HTTP requests continuously, when set to 1, it means that after each HTTP request is sent, you need to wait for the server to return and then continue to send the next request.",connect_timeout:"The timeout when connecting to the GCP server.",service_account_json:"JSON containing the GCP Service Account credentials to be used with PubSub.<br/>When a GCP Service Account is created (as described in https://developers.google.com/identity/protocols/oauth2/service-account#creatinganaccount), you have the option of downloading the credentials in JSON form. That's the file needed.",pubsub_topic:"The GCP PubSub topic to publish messages to.",payload_template:"The template for formatting the outgoing messages. If undefined, will send all the available context in JSON format.",attributes_template:"The template for formatting the outgoing message attributes. Undefined values will be rendered as empty string values. Empty keys are removed from the attribute map.",ordering_key_template:"The template for formatting the outgoing message ordering key. Undefined values will be rendered as empty string values. This value will not be added to the message if it's empty."},gcp_pubsub_consumer:{topic:"GCP PubSub topic to consume from.",pipelining:"A positive integer. Whether to send HTTP requests continuously, when set to 1, it means that after each HTTP request is sent, you need to wait for the server to return and then continue to send the next request.",service_account_json:"JSON containing the GCP Service Account credentials to be used with PubSub.<br/>When a GCP Service Account is created (as described in https://developers.google.com/identity/protocols/oauth2/service-account#creatinganaccount), you have the option of downloading the credentials in JSON form. That's the file needed.",pull_max_messages:`The maximum number of messages to retrieve from GCP PubSub in a single pull request.
|
|
109
109
|
The actual number may be less than the specified value.`,connect_timeout:"The timeout when connecting to the GCP server."},hstreamdb:{url:"HStreamDB Server URL. Using gRPC http server address.",partition_key:"HStreamDB Partition Key. Placeholders supported.",grpc_flush_timeout:"Time interval for flushing gRPC calls to the HStreamDB server.",aggregation_pool_size:"The size of the record aggregation pool. A larger aggregation pool size can lead to enhanced parallelization but may also result in reduced efficiency due to smaller batch sizes.",max_batches:"Maximum number of unconfirmed batches in the flush queue.",writer_pool_size:"The size of the writer pool. A larger pool may increase parallelization and concurrent write operations, potentially boosting throughput. Trade-offs include greater memory consumption and possible resource contention.",batch_interval:"Maximum interval that is allowed between two successive (batch) request.",record_template:"The HStream record template to be forwarded to the HStreamDB. Placeholders supported.<br/>NOTE: When you use `raw record` template (which means the data is not a valid JSON), you should use `read` or `subscription` in HStream to get the data.",parameters_batch_size:"Maximum number of insert data clauses that can be sent in a single request."},influxdb:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/><br/>A host entry has the following form: `Host[:Port]`.<br/><br/>The InfluxDB default port 8086 is used if `[:Port]` is not specified.",token:"InfluxDB token.",org:"Organization name of InfluxDB.",bucket:"InfluxDB bucket name.",write_syntax:"Conf of InfluxDB line protocol to write data points. It is a text-based format that provides the measurement, tag set, field set, and timestamp of a data point, and placeholder supported. See also [InfluxDB 2.3 Line Protocol](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/line-protocol/) and [InfluxDB 1.8 Line Protocol](https://docs.influxdata.com/influxdb/v1.8/write_protocols/line_protocol_tutorial/) <br/>TLDR:<br/>```<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]```<br/>Please note that a placeholder for an integer value must be annotated with a suffix `i`. For example `${'{'}payload.int_value{'}'}i`.",precision:"InfluxDB time precision."},datalayers:{write_syntax:"Datalayers adopts a line protocol fully compatible with InfluxDB v1, providing users with a familiar and efficient method for data ingestion. While compatible with InfluxDB v1 syntax, Datalayers has its unique characteristics in its underlying implementation to optimize performance and adapt to its specific storage structure. For more information, refer to [InfluxDB Line Protocol](https://docs.datalayers.cn/datalayers/latest/development-guide/writing-with-influxdb-line-protocol.html).",precision:"Datalayers time precision."},confluent_producer:{connect_timeout:"Maximum wait time for TCP connection establishment (including authentication time if enabled).",bootstrap_hosts:"A comma separated list of Kafka <code>host[:port]</code> endpoints to bootstrap the client. Default port number is 9092.",min_metadata_refresh_interval:"Minimum time interval the client has to wait before refreshing Kafka broker and topic metadata. Setting too small value may add extra load on Kafka.",metadata_request_timeout:"Maximum wait time when fetching metadata from Kafka.",topic:"Kafka topic",kafka_headers:`Please provide a placeholder to be used as Kafka Headers<br/>e.g. <code>\${'{'}pub_props{'}'}</code><br/>Notice that the value of the placeholder must either be an object:<br/>\`{'{'}"foo": "bar"{'}'}\`<br/>`,kafka_header_value_encode_mode:"Kafka headers value encode mode:<br/>- `NONE`: only add binary values to Kafka headers;<br/>- `JSON`: only add JSON values to Kafka headers, and encode it to JSON strings before sending.",kafka_ext_headers:"Please provide more key-value pairs for Kafka headers.<br/>The key-value pairs here will be combined with the value of `kafka_headers` field before sending to Kafka.",key:"Template to render Kafka message key. If the template is rendered into a NULL value (i.e. there is no such data field in Rule Engine context) then Kafka's <code>NULL</code> (but not empty string) is used.",value:"Template to render Kafka message value. If the template is rendered into a NULL value (i.e. there is no such data field in Rule Engine context) then Kafka's <code>NULL</code> (but not empty string) is used.",partition_strategy:"Partition strategy is to tell the producer how to dispatch messages to Kafka partitions.<br/><code>random</code>: Randomly pick a partition for each message<br/><code>key_dispatch</code>: Hash Kafka message key to a partition number",max_batch_bytes:"Maximum bytes to collect in a Kafka message batch. Most of the Kafka brokers default to a limit of 1 MB batch size. EMQX's default value is less than 1 MB in order to compensate Kafka message encoding overheads (especially when each individual message is very small). When a single message is over the limit, it is still sent (as a single element batch).",required_acks:"Required acknowledgements for Kafka partition leader to wait for its followers before it sends back the acknowledgement to EMQX Kafka producer<br/><code>all_isr</code>: Require all in-sync replicas to acknowledge.<br/><code>leader_only</code>: Require only the partition-leader's acknowledgement.<br/><code>none</code>: No need for Kafka to acknowledge at all.",partition_count_refresh_interval:"The time interval for Kafka producer to discover increased number of partitions.<br/>After the number of partitions is increased in Kafka, EMQX will start taking the <br/>discovered partitions into account when dispatching messages per <code>partition_strategy</code>.",max_inflight:"Maximum number of batches allowed for Kafka producer (per-partition) to send before receiving acknowledgement from Kafka. Greater value typically means better throughput. However, there can be a risk of message reordering when this value is greater than 1.",query_mode:"Query mode. Optional 'sync/async', default 'async'.",sync_query_timeout:"This parameter defines the timeout limit for synchronous queries. It applies only when the bridge query mode is configured to 'sync'.",mode:"Message buffer mode.<br/><code>memory</code>: Buffer all messages in memory. The messages will be lost in case of EMQX node restart<br/><code>disk</code>: Buffer all messages on disk. The messages on disk are able to survive EMQX node restart.<br/><code>hybrid</code>: Buffer message in memory first, when up to certain limit (see <code>segment_bytes</code> config for more information), then start offloading messages to disk, Like <code>memory</code> mode, the messages will be lost in case of EMQX node restart.",per_partition_limit:"Number of bytes allowed to buffer for each Kafka partition. When this limit is exceeded, old messages will be dropped in a trade for credits for new messages to be buffered.",segment_bytes:"Applicable when buffer mode is set to <code>disk</code> or <code>hybrid</code>.<br/>This value is to specify the size of each on-disk buffer file.",compression:"Compression method.",partitions_limit:"Limits the maximum number of partitions to which a producer can send messages."},kafka_producer:{bootstrap_hosts:"A comma separated list of Kafka <code>host[:port]</code> endpoints to bootstrap the client. Default port number is 9092.",authentication:"Authentication configs.",connect_timeout:"Maximum wait time for TCP connection establishment (including authentication time if enabled).",min_metadata_refresh_interval:"Minimum time interval the client has to wait before refreshing Kafka broker and topic metadata. Setting too small value may add extra load on Kafka.",metadata_request_timeout:"Maximum wait time when fetching metadata from Kafka.",topic:"Kafka topic",kafka_headers:`Please provide a placeholder to be used as Kafka Headers<br/>e.g. <code>\${'{'}pub_props{'}'}</code><br/>Notice that the value of the placeholder must either be an object:<br/>\`{'{'}"foo": "bar"{'}'}\`<br/>`,kafka_header_value_encode_mode:"Kafka headers value encode mode:<br/>- `NONE`: only add binary values to Kafka headers;<br/>- `JSON`: only add JSON values to Kafka headers, and encode it to JSON strings before sending.",kafka_ext_headers:"Please provide more key-value pairs for Kafka headers.<br/>The key-value pairs here will be combined with the value of `kafka_headers` field before sending to Kafka.",key:"Template to render Kafka message key. If the template is rendered into a NULL value (i.e. there is no such data field in Rule Engine context) then Kafka's <code>NULL</code> (but not empty string) is used.",value:"Template to render Kafka message value. If the template is rendered into a NULL value (i.e. there is no such data field in Rule Engine context) then Kafka's <code>NULL</code> (but not empty string) is used.",kafka_message_timestamp:"Which timestamp to use. The timestamp is expected to be a millisecond precision Unix epoch which can be in string format, e.g. <code>1661326462115</code> or <code>'1661326462115'</code>. When the desired data field for this template is not found, or if the found data is not a valid integer, the current system timestamp will be used.",compression:"Compression method.",partition_strategy:"Partition strategy is to tell the producer how to dispatch messages to Kafka partitions.<br/><code>random</code>: Randomly pick a partition for each message<br/><code>key_dispatch</code>: Hash Kafka message key to a partition number",max_batch_bytes:"Maximum bytes to collect in a Kafka message batch. Most of the Kafka brokers default to a limit of 1 MB batch size. EMQX's default value is less than 1 MB in order to compensate Kafka message encoding overheads (especially when each individual message is very small). When a single message is over the limit, it is still sent (as a single element batch).",required_acks:"Required acknowledgements for Kafka partition leader to wait for its followers before it sends back the acknowledgement to EMQX Kafka producer<br/><code>all_isr</code>: Require all in-sync replicas to acknowledge.<br/><code>leader_only</code>: Require only the partition-leader's acknowledgement.<br/><code>none</code>: No need for Kafka to acknowledge at all.",partition_count_refresh_interval:"The time interval for Kafka producer to discover increased number of partitions.<br/>After the number of partitions is increased in Kafka, EMQX will start taking the <br/>discovered partitions into account when dispatching messages per <code>partition_strategy</code>.",max_inflight:"Maximum number of batches allowed for Kafka producer (per-partition) to send before receiving acknowledgement from Kafka. Greater value typically means better throughput. However, there can be a risk of message reordering when this value is greater than 1.",query_mode:"Query mode. Optional 'sync/async', default 'async'.",sync_query_timeout:"This parameter defines the timeout limit for synchronous queries. It applies only when the bridge query mode is configured to 'sync'.",mode:"Message buffer mode.<br/><code>memory</code>: Buffer all messages in memory. The messages will be lost in case of EMQX node restart<br/><code>disk</code>: Buffer all messages on disk. The messages on disk are able to survive EMQX node restart.<br/><code>hybrid</code>: Buffer message in memory first, when up to certain limit (see <code>segment_bytes</code> config for more information), then start offloading messages to disk, Like <code>memory</code> mode, the messages will be lost in case of EMQX node restart.",per_partition_limit:"Number of bytes allowed to buffer for each Kafka partition. When this limit is exceeded, old messages will be dropped in a trade for credits for new messages to be buffered.",segment_bytes:"Applicable when buffer mode is set to <code>disk</code> or <code>hybrid</code>.<br/>This value is to specify the size of each on-disk buffer file.",kafka_ext_header_key:"Key of the Kafka header. Placeholders in the format of <code>${'{'}var{'}'}</code> are supported.",mechanism:"SASL authentication mechanism.",kerberos_principal:"SASL GSSAPI authentication Kerberos principal. For example <code>client_name{'@'}MY.KERBEROS.REALM.MYDOMAIN.COM</code>, NOTE: The realm in use has to be configured in /etc/krb5.conf in EMQX nodes.",kerberos_keytab_file:"SASL GSSAPI authentication Kerberos keytab file path. NOTE: This file has to be placed in EMQX nodes, and the EMQX service runner user requires read permission.",kafka_ext_header_value:"Value of the Kafka header. Placeholders in the format of <code>${'{'}var{'}'}</code> are supported.",partitions_limit:"Limits the maximum number of partitions to which a producer can send messages."},kafka_consumer:{bootstrap_hosts:"A comma separated list of Kafka <code>host[:port]</code> endpoints to bootstrap the client. Default port number is 9092.",key_encoding_mode:"Defines how the key from the Kafka message is encoded before being forwarded via MQTT.<br/><code>none</code> Uses the key from the Kafka message unchanged. Note: in this case, the key must be a valid UTF-8 string.<br/><code>base64</code> Uses base-64 encoding on the received key.",value_encoding_mode:"Defines how the value from the Kafka message is encoded before being forwarded via MQTT.<br/><code>none</code> Uses the value from the Kafka message unchanged. Note: in this case, the value must be a valid UTF-8 string.<br/><code>base64</code> Uses base-64 encoding on the received value.",offset_reset_policy:"Defines from which offset a consumer should start fetching when there is no commit history or when the commit history becomes invalid.",min_metadata_refresh_interval:"Minimum time interval the client has to wait before refreshing Kafka broker and topic metadata. Setting too small value may add extra load on Kafka.",metadata_request_timeout:"Maximum wait time when fetching metadata from Kafka.",connect_timeout:"Maximum wait time for TCP connection establishment (including authentication time if enabled).",max_batch_bytes:"Set how many bytes to pull from Kafka in each fetch request.<br/>Messages are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not an absolute maximum. Set `1` for minimal latency.",offset_commit_interval_seconds:"Defines the time interval between two offset commit requests sent for each consumer group.",topic:"Kafka topic",group_id:"Consumer group identifier to be used for this source. If omitted, one based off the source name will be automatically generated.",max_wait_time:"Maximum amount of time that is waited for the Kafka broker to send a fetch response."},mongodb:{collection:"The collection where data will be stored into",payload_template:"The template for formatting the outgoing messages. If undefined, rule engine will use JSON format to serialize all visible inputs, such as clientid, topic, payload etc.",auth_source:"Database name associated with the user's credentials.",use_legacy_protocol:"Whether to use MongoDB's legacy protocol for communicating with the database. The default is to attempt to automatically determine if the newer protocol is supported.",srv_record:"Use DNS SRV record.",max_overflow:"The maximum number of additional workers that can be created when all workers in the pool are busy. This helps to manage temporary spikes in workload by allowing more concurrent connections to the MongoDB server.",overflow_ttl:'Period of time before workers that exceed the configured pool size ("overflow") to be terminated.',overflow_check_period:'Period for checking if there are more workers than configured ("overflow").',local_threshold:"The size of the latency window for selecting among multiple suitable MongoDB instances.",connect_timeout:"The duration to attempt a connection before timing out.",socket_timeout:"The duration to attempt to send or to receive on a socket before the attempt times out.",server_selection_timeout:"Specifies how long to block for server selection before throwing an exception.",wait_queue_timeout:"The maximum duration that a worker can wait for a connection to become available.",heartbeat_frequency:"Controls when the driver checks the state of the MongoDB deployment. Specify the interval between checks, counted from the end of the previous check until the beginning of the next one. If the number of connections is increased (which will happen, for example, if you increase the pool size), you may need to increase this period as well to avoid creating too many log entries in the MongoDB log file.",min_heartbeat_frequency:"Controls the minimum amount of time to wait between heartbeats.",server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The MongoDB default port 27017 is used if `[:Port]` is not specified.",w_mode:"Write mode.",servers:"A Node list for Cluster to connect to. The nodes should be separated with commas, such as: `Node[,Node].`<br/>For each Node should be: The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The MongoDB default port 27017 is used if `[:Port]` is not specified.",replica_set_name:"Name of the replica set.",r_mode:"Read mode."},mysql:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The MySQL default port 3306 is used if `[:Port]` is not specified.",sql:"SQL Template"},pgsql:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The default port 5432 is used if `[:Port]` is not specified.",sql:"SQL Template"},redis:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The Redis default port 6379 is used if `[:Port]` is not specified.",servers:"A Node list for Cluster to connect to. The nodes should be separated with commas, such as: `Node[,Node].`<br/>For each Node should be: The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The Redis default port 6379 is used if `[:Port]` is not specified.",sentinel:"Sentinel mode. Must be set to 'sentinel' when Redis server is running in sentinel mode.",command_template:"Redis command template used to export messages. Each list element stands for a command name or its argument.<br/>For example, to push payloads in a Redis list by key `msgs`, the elements should be the following:<br/>`rpush`, `msgs`, `${'{'}payload{'}'}`."},rocketmq:{servers:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The RocketMQ default port 9876 is used if `[:Port]` is not specified.",access_key:"RocketMQ server `accessKey`.",secret_key:"RocketMQ server `secretKey`.",security_token:"RocketMQ Server Security Token",topic:"RocketMQ Topic",refresh_interval:"RocketMQ Topic Route Refresh Interval.",send_buffer:"The socket send buffer size of the RocketMQ driver client.",template:"Template, the default value is empty. When this value is empty the whole message will be stored in the RocketMQ.<br/>The template can be any valid string with placeholders, example:<br/>- ${'{'}id{'}'}, ${'{'}username{'}'}, ${'{'}clientid{'}'}, ${'{'}timestamp{'}'}<br/>- {'{'}\"id\" : ${'{'}id{'}'}, \"username\" : ${'{'}username{'}'}{'}'}",sync_timeout:"Timeout of RocketMQ driver synchronous call.",namespace:"The namespace field MUST be set if you are using the RocketMQ service in aliyun cloud and also the namespace is enabled, or if you have configured a namespace in your RocketMQ server. For RocketMQ in aliyun cloud, the namespace is the instance ID.",strategy:"Producer key dispatch strategy, the default is `roundrobin`, also supports placeholders."},tdengine:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `[http[s]://]Host[:Port]`.<br/>The TDengine default port 6041 is used if `[:Port]` is not specified.",sql:"SQL Template",token:"The token used when connecting to TDengine Cloud. <br/>If this value is provided, it will override the authentication method of Username and Password."},sqlserver:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The SQL Server default port 1433 is used if `[:Port]` is not specified.",driver:"SQL Server Driver Name",sql:"SQL Template"},iotdb:{base_url:"The base URL of the external IoTDB service's REST interface.<br/> The URL has the following form `http://Host:Port`.",iotdb_version:"The version of the IoTDB system to connect to.",enable_pipelining:"A positive integer. Whether to send HTTP requests continuously, when set to 1, it means that after each HTTP request is sent, you need to wait for the server to return and then continue to send the next request.",connect_timeout:"The timeout when connecting to the IoTDB server.",timestamp:"Supports the use of ${'{'}var{'}'} format as a placeholder, which should be in timestamp format. You can also use the following special characters to insert system time:<br/>- `now`: Current millisecond-level timestamp<br/>- `now_ms`: Current millisecond-level timestamp<br/>- `now_us`: Current microsecond-level timestamp<br/>- `now_ns`: Current nanosecond-level timestamp",measurement:"Supports the use of ${'{'}var{'}'} format as a placeholder.",data_type:"The data type for the value. Supported types: boolean, int32, int64, float, double, text.",value:"The value to be inserted, supports the use of ${'{'}var{'}'} format as a placeholder.",device_id:"A fixed device name this data should be inserted for. If empty it must either be set in the rule action, the message itself, or it will be extracted from the topic.",is_aligned:"Whether to align the timeseries",recv_timeout:"Timeout for receiving from IoTDB Thrift server."},opents:{server:"The URL of OpenTSDB endpoint.",summary:"Whether to return summary information.",details:"Whether to return detailed information.",timestamp:"Second or millisecond level timestamp, supports placeholders in the format of ${'{'}var{'}'}.",metric:"The name of the metric, should be a unique identifier for the time series data, supports placeholders in the format of ${'{'}var{'}'}.",tags:"Tags for attaching metadata, each tag is a key-value pair, configured in the `key=value,key2=value2` format, and supports placeholders in the format of ${'{'}var{'}'}.",value:"The value of the data point, supports placeholders in the format of ${'{'}var{'}'}. It represents the actual measurement or observed value."},oracle:{server:"The IPv4 or IPv6 address or the hostname to connect to.<br/>A host entry has the following form: `Host[:Port]`.<br/>The Oracle Database default port 1521 is used if `[:Port]` is not specified.",sid:"SID for Oracle Database.",sql:"SQL Template. The template string can contain placeholders for message metadata and payload field. The placeholders are inserted without any checking and special formatting, so it is important to ensure that the inserted values are formatted and escaped correctly."},rabbitmq:{server:"The RabbitMQ server address that you want to connect to (for example, localhost).",port:"The port number on which the RabbitMQ server is listening (default is 5672).",exchange:"The name of the RabbitMQ exchange where the messages will be sent.",routing_key:"The routing key used to route messages to the correct queue in the RabbitMQ exchange.",virtual_host:"The virtual host to use when connecting to the RabbitMQ server.",heartbeat:"The interval for sending heartbeat messages to the RabbitMQ server.",delivery_mode:"The delivery mode for messages published to RabbitMQ. Delivery mode `non_persistent` is suitable for messages that don't require persistence across RabbitMQ restarts, whereas delivery mode `persistent` is designed for messages that must survive RabbitMQ restarts.",wait_for_publish_confirmations:"A boolean value that indicates whether to wait for RabbitMQ to confirm message publication when using publisher confirms.",publish_confirmation_timeout:"The timeout for waiting for RabbitMQ to confirm message publication when using publisher confirms.",timeout:"The timeout for waiting on the connection to be established.",payload_template:"The template for formatting the payload of the message before sending it to RabbitMQ. Template placeholders, such as ${'{'}field1.sub_field{'}'}, will be substituted with the respective field's value. When left empty, the entire input message will be used as the payload, formatted as a JSON text. This behavior is equivalent to specifying ${'{'}.{'}'} as the payload template.",queue:"The queue name of the RabbitMQ.",no_ack:"Whether to use no_ack mode when consuming messages from the RabbitMQ."},pulsar:{servers:"Specify the Pulsar Server URL in the format of <code>scheme://host[:port]</code> for the client to connect to. Multiple servers should be added as a comma-separated list. The supported schemes are <code>pulsar://</code> (default) and <code>pulsar+ssl://</code>. The default port is 6650.",pulsar_topic:"Pulsar topic name",strategy:"Choose how messages are dispatched to Pulsar partitions:<br/><code>random</code>: Messages are randomly assigned to partitions.<br/><code>roundrobin</code>: Messages are evenly distributed across available producers.<br/><code>key_dispatch</code>: Partitions to be selected are hashed and stored in the Pulsar message key of the first message in a batch.",compression:"Compression method.",message_key:"Template to render Pulsar message key.",message_value:"Template to render Pulsar message value.",sync_timeout:"Maximum wait time for receipt in synchronously publishing.",retention_period:"Specify the duration to buffer messages when disconnected from the Pulsar broker. Longer times increase memory/disk usage.",send_buffer:"Fine tune the socket send buffer. The default value is tuned for high throughput.",max_batch_bytes:"Specify the limit on the number of bytes collected in a batch. EMQX has set the default value to less than 5 MB to account for encoding overheads especially when handling small messages. If a single message exceeds the batch size limit, it will still be sent as a single-element batch, indicating it will be treated as a separate batch containing only that specific message.",connect_timeout:"Maximum wait time for TCP connection establishment (including authentication time if enabled).",mode:"Message buffer mode:<br/><code>memory</code>: Buffer all messages in memory. The messages will be lost if EMQX node restarts.<br/><code>disk</code>: Buffer all messages on disk. The messages are designed to persist even during an EMQX node restart.<br/><code>hybrid</code>: Buffer message in memory first, when up to a certain limit (see <code>segment_bytes</code> config for more information), then start offloading messages to disk, the messages will be lost in if EMQX node restarts.",per_partition_limit:"Number of bytes allowed to buffer for each Pulsar partition. When the message limit is exceeded, older messages will be selectively dropped to allocate buffer space for new messages.",segment_bytes:"Applicable when buffer mode is set to <code>disk</code> or <code>hybrid</code>.<br/>This value is to specify the size of each on-disk buffer file.",authentication_jwt:"JWT authentication token.",max_inflight:"The maximum number of message batches that the producer can send to each partition before it must wait for a receipt.<br/>Setting a higher number can enhance throughput."},azure_event_hub_producer:{bootstrap_hosts:"A comma separated list of Azure Event Hubs Kafka <code>host[:port]</code> namespace endpoints to bootstrap the client. Default port number is 9093.",connect_timeout:"Maximum wait time for TCP connection establishment (including authentication time if enabled).",min_metadata_refresh_interval:"Minimum time interval the client has to wait before refreshing Azure Event Hubs Kafka broker and topic metadata. Setting too small value may add extra load on Azure Event Hubs.",metadata_request_timeout:"Maximum wait time when fetching metadata from Azure Event Hubs.",password:'The Connection String for connecting to Azure Event Hubs. Should be the "connection string-primary key" of a Namespace shared access policy.',topic:"Event Hub name",max_batch_bytes:"Maximum bytes to collect in an Azure Event Hubs message batch. Most of the Kafka brokers default to a limit of 1 MB batch size. EMQX's default value is less than 1 MB in order to compensate Kafka message encoding overheads (especially when each individual message is very small). When a single message is over the limit, it is still sent (as a single element batch).",partition_strategy:`Partition strategy is to tell the producer how to dispatch messages to Azure Event Hubs partitions.
|
|
110
110
|
|
|
@@ -131,4 +131,4 @@ Default: 1, i.e., the primary shard.`,index:"Name of the index or index alias to
|
|
|
131
131
|
- Plain key: Enter the private key contents in PEM format directly as a string value.
|
|
132
132
|
- File Path: Specify the path to a file that contains the private key. Ensure the path starts with <code>file://</code>. The file path must be the same on all nodes in the cluster.`,database:"Name of the Database that contains the Snowflake resources.",schema:"Name of the Schema that contains the Snowflake resources.",stage:"Name of the Stage that'll be used for loading data files into Snowflake.",pipe:"Name of the Pipe that'll be used to ingest data into the table.",pipe_user:"A username which has a role with permissions over the Pipe to be used. The minimum permissions are `operate` and `monitor`.",proxy:"Proxy configuration. Only HTTP proxies are currently supported (no HTTPS).",private_key_path:"Full file path to the private key to be used for the ODBC connection. This path must be the same on all nodes of the cluster.",private_key_password:"Password to decrypt the private key. Do not set this value if the private key is not encrypted."},tablestore:{isint:"Whether try to write numeric value as integer. Defaults to false, means that write integers as floats.",isbinary:"Whether try to write binary values as binary type. Defaults to false, means that write binary values as strings."},disk_log:{filepath:"Base file path to the log file to be written to. Actual log files will have the format `filepath.N`, where `N` is `1..max_file_number`. The currently used file can be found by taking the file with the most recent modification date. Note that the directory containing it must also be writable by the EMQX application user, as it'll also contain extra files for internal use (ending in `.siz` and `.idx`).",max_file_size:"Maximum size for the currently active log file. At least one entry is written to each log, so the final file size may exceed this maximum if a single log entry exceeds this value.",max_file_number:"Maximum number of log files to be used. Once the maximum number of files is reached and a new rotation is required, the oldest such file is truncated and used as the new current file.",write_mode:"Whether to write logs synchronously or asynchronously to disk.",template:"Content of the JSON object to be written. Supports templates."},s3tables:{s_3_client_transport_options_request_timeout:"The maximum time allowed for a single HTTP request to the S3 service. If exceeded, the request will be retried or fail."}},m={title:"Streaming (beta)",streams:"Streams",streamName:"Stream Name",partitionNum:"Number of Partitions",mqttTopic:"MQTT Topic Filter",mqttTopicTip:"MQTT messages matching this topic filter are saved to the corresponding default type Stream. The free type Stream is not associated with an MQTT topic filter.",streamNameTip:"The Kafka topic for a Kafka client is the same as the Stream name.",retention:"Retention Period",consumerGroups:"Consumer Groups",groupID:"Group ID",streamNum:"Number of Streams",consumerNum:"Number of Consumers",protocol:"Protocol",consumers:"Consumers",consumerID:"Consumer ID",partition:"Partition",startOffset:"Start Offset",endOffset:"End Offset",partitions:"Partitions",newStream:"New Stream",streamNameFormatTip:"Start with a letter or number and can include letters, numbers, _, . and -, up to 64 characters",maxStreamsTip:"Up to {num} streams can be created",summary:"EMQX Streaming is an innovative feature of EMQX Platform that allows users to persistently store MQTT messages as data streams and consume them directly using Kafka clients.",enableStreaming:"Enable Streaming (beta)",usingStreaming:"With EMQX Streaming, you can:",streamingBenefits:["Reliably store large amounts of MQTT message data","Directly use Kafka clients for historical data replay and real-time subscription","Seamlessly integrate with existing backend applications and big data systems","Directly interface with stream processors like Flink for data processing"],betaTip:"This feature is in beta.",needVPCTip:"Streaming requires intranet access, please create a {vpc} first.",mqttTopicFormatTip:"Can contain letters, numbers, special characters (_, -, /, +, #, $, %, {'@'}, &, :, {'{'}{'}'} and .) and mid-string spaces (no leading/trailing spaces), up to 128 characters",streamType:"Stream Type",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"The default type Stream is associated with an MQTT topic filter, and MQTT messages matching the topic filter are saved to the Stream. The free type Stream is not associated with an MQTT topic filter.",authType:"Authentication Mechanism",host:"Host",hostTip:"Fill in a Host IP address or use <code>*</code> to match all Hosts.<br/>If <code>Literal</code> pattern is selected, an IP address of a host should be provided.",aclResourceType:"Resource Type",aclResourceName:"Resource Selector",aclOperation:"Operation",prefixed:"Prefix",consumerGroupType:"Consumer Group",clusterType:"Cluster",literal:"Literal",matchAll:"All",allow:"Allow",deny:"Deny",aclOperationLabelDic:{ALL:"All",READ:"Read",WRITE:"Write",DESCRIBE:"Describe",CREATE:"Create",DELETE:"Delete",ALTER:"Alter"},usernameRule:"Can contain letters, numbers and some special characters (_, -, /, +, #, $, %, {'@'}, & and .), up to 128 characters",aclDescription:`It refers to the permission control of the resources that Kafka clients can manipulate, including topics, consumer groups and clusters.
|
|
133
133
|
The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"Streams",partition_count:"Partitions",group_count:"Consumer Groups",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},u={title:"Streaming (beta)",streams:"Streams",streamName:"Stream 名称",partitionNum:"分区数量",mqttTopic:"MQTT 主题过滤器",mqttTopicTip:"匹配主题过滤器的 MQTT 消息会被保存到对应的 Default 类型的 Stream 中。Free 类型的 Stream 不与 MQTT 主题过滤器关联。",streamNameTip:"Kafka 客户端看到的 Kafka Topic 的名称和 Stream 名称相同。",retention:"保留天数",consumerGroups:"消费者组",groupID:"组 ID",streamNum:"Stream 数量",consumerNum:"消费者数量",protocol:"协议",consumers:"消费者列表",consumerID:"消费者 ID",partition:"分区",startOffset:"起始偏移量",endOffset:"结束偏移量",partitions:"分区列表",newStream:"新建 Stream",streamNameFormatTip:"以字母或数字开头,可包含字母、数字、下划线(_)、连字符(-)和点号(.),最长 64 个字符",maxStreamsTip:"最多可创建 {num} 个 Stream",summary:"EMQX Streaming 是 EMQX Platform 的一项创新特性,它允许用户将 MQTT 消息持久化存储为数据流,并直接使用 Kafka 客户端进行消费。",enableStreaming:"开通 Streaming (beta)",usingStreaming:"使用 EMQX Streaming,您可以:",streamingBenefits:["可靠地存储大量的 MQTT 消息数据","直接使用 Kafka 客户端进行历史数据回放和实时订阅","无缝集成现有的后端应用程序和大数据系统","直接与 Flink 等流处理器对接进行实时数据处理"],betaTip:"此功能目前处于公测阶段。",needVPCTip:"Streaming 功能需要内网访问,在开通前请先创建 {vpc}。",mqttTopicFormatTip:"可包含字母、数字、部分特殊字符(_、-、/、+、#、$、%、{'@'}、&、:、{'{'}{'}'} 和 .)及中间空格(无首尾空格),最长 128 个字符",streamType:"Stream 类型",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"Default 类型的 Stream 关联 MQTT 主题过滤器,且匹配主题过滤器的 MQTT 消息会被保存到 Stream 中。Free 类型的 Stream 不关联 MQTT 主题过滤器。",authType:"认证方式",host:"Host",hostTip:"填写 Host IP 地址或者使用 <code>*</code> 匹配所有 Host。<br/>如果您选择了 <code>精确匹配</code> 模式,则应提供一个 Host IP 地址。",aclResourceType:"资源类型",aclResourceName:"目标值",aclOperation:"操作类型",prefixed:"前缀匹配",consumerGroupType:"消费者组",clusterType:"集群",literal:"精确匹配",matchAll:"匹配所有",allow:"允许",deny:"不允许",aclOperationLabelDic:{ALL:"全部操作",READ:"读",WRITE:"写",DESCRIBE:"查看详情",CREATE:"创建",DELETE:"删除",ALTER:"更改"},usernameRule:"可包含字母、数字和部分特殊字符(_、-、/、+、#、$、%、{'@'}、& 和 .),最长 128 个字符",aclDescription:"是指对 Kafka 客户端所能操作的资源,包括主题、消费者组和集群等的权限控制。采用白名单模式,即只有在白名单中的条目才能通过,未在白名单中的则默认被拒绝。",networkType:"网络类型",securityProtocol:"安全协议",metricTitleDic:{stream_count:"Stream 数",partition_count:"分区数",group_count:"消费者组数",total_messages_in_rate:"消息流入速率",total_messages_out_rate:"消息流出速率"}},p={title:"ストリーミング(ベータ)",streams:"ストリーム",streamName:"ストリーム名",partitionNum:"パーティション数",mqttTopic:"MQTT トピックフィルタ",mqttTopicTip:"このトピックフィルターに一致する MQTT メッセージは、対応する「Default」タイプのストリームに保存されます。「Free」タイプのストリームは MQTT トピックフィルターと関連付けられていません。",streamNameTip:"Kafka クライアントで使用する Kafka トピックは、ストリーム名と同じです。",retention:"保持期間",consumerGroups:"コンシューマーグループ",groupID:"グループ ID",streamNum:"ストリーム数",consumerNum:"コンシューマー数",protocol:"プロトコル",consumers:"コンシューマー",consumerID:"コンシューマー ID",partition:"パーティション",startOffset:"開始オフセット",endOffset:"終了オフセット",partitions:"パーティション",newStream:"新規ストリーム",streamNameFormatTip:"文字または数字で始まり、文字、数字、「_」、「.」、「-」を含む最大 64 文字",maxStreamsTip:"最大 {num} 個のストリームを作成できます",summary:"「EMQX Streaming」は、EMQX プラットフォームの革新的な機能で、MQTT メッセージをデータストリームとして永続的に保存し、Kafka クライアントから直接コンシュームできます。",enableStreaming:"ストリーミングを有効にする(ベータ)",usingStreaming:"「EMQX Streaming」を使用すると、以下のことが可能です:",streamingBenefits:["大量の MQTT メッセージデータを確実に保存","Kafka クライアントを直接使用して履歴データの再生とリアルタイムサブスクリプション","既存のバックエンドアプリケーションやビッグデータシステムとのシームレスな統合","Flink などのストリームプロセッサとの直接インターフェース"],betaTip:"この機能はベータ版です。",needVPCTip:"ストリーミングを利用するには内部ネットワークへのアクセスが必要です。まず{vpc}を作成してください。",mqttTopicFormatTip:"アルファベット、数字、「_」、「-」、「/」、「+」、「#」、「$」、「%」、「{'@'}」、「&」、「:」、「{'{'}{'}'}」、中間の空白、および「.」のみ使え、最長 128 文字です",streamType:"ストリームタイプ",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"「Default」タイプのストリームは MQTT トピックフィルターと関連付けられており、そのフィルターに一致する MQTT メッセージがストリームに保存されます。Kafka クライアントからの「Free」タイプのストリームのは MQTT トピックフィルターと関連付けられていません。",authType:"認証方式",host:"Host",hostTip:"Fill in a Host IP address or use <code>*</code> to match all Hosts.<br/>If <code>Literal</code> pattern is selected, an IP address of a host should be provided.",aclResourceType:"リソースタイプ",aclResourceName:"リソース値",aclOperation:"操作",prefixed:"プレフィックス",consumerGroupType:"コンシューマーグループ",clusterType:"クラスタ",literal:"リテラル",matchAll:"すべて",allow:"許可",deny:"拒否",aclOperationLabelDic:{ALL:"すべて",READ:"読み取り",WRITE:"書き込み",DESCRIBE:"説明",CREATE:"作成",DELETE:"削除",ALTER:"変更する"},usernameRule:"アルファベット、数字、「_」、「-」、「/」、「+」、「#」、「$」、「%」、「{'@'}」、「&」および「.」のみ使え、最長 128 文字です",aclDescription:`It refers to the permission control of the resources that Kafka clients can manipulate, including topics, consumer groups and clusters.
|
|
134
|
-
The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"ストリーム数",partition_count:"パーティション数",group_count:"コンシューマーグループ数",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},h={access:"Permission",topic:"Topic",username:"Username",password:"Password",cancel:"Cancel",back:"Back",generate:"Generate"},_={access:"是否允许",topic:"主题",username:"用户名",password:"密码",cancel:"取消",back:"返回",generate:"生成"},f={access:"許可/拒否",topic:"トピック",username:"ユーザー名",password:"パスワード",cancel:"キャンセル",back:"戻り",generate:"生成"},b={mathFunc:"Mathematical Functions",dataTypeJudgmentFunc:"Data Type Judgment Functions",dataTypeConversionFunc:"Data Type Conversion Functions",stringFunc:"String Functions",mapFunc:"Map Functions",arrFunc:"Array Functions",hashFunc:"Hash Functions",compressesAndUncompressesFunc:"Compression and Decompression Functions",bitFunc:"Bit Functions",decodingAndEncodingFunc:"Decoding and Encoding Functions",timeAndDateFunc:"Time and Date Functions",schemaRegistry:"Schema Registry",Value:"Value",Base:"Base",Exponent:"Exponent",Numer:"Numer",Denom:"Denom",Precision:"Precision",String:"String",StartPosition:"Start Position",Separator:"Separator",Direction:"Direction",String1:"String1",String2:"String2",PreserveCRLF:"Preserve CRLF",TotalLength:"Total Length",PaddingDirection:"Padding Direction",PaddingString:"Padding String",OldSubStr:"Old Sub Str",Replacement:"Replacement",ReplaceCount:"Replace Count",Pattern:"Pattern",Character:"Character",SubstringToBeFound:"Substring To Be Found",DirectionToFind:"Direction To Find",Key:"Key",Map:"Map",DefaultValue:"Default Value",Index:"Index",Array:"Array",StartIndex:"Start Index",Length:"Length",UnixTimestamp:"Unix Timestamp",TimeUnit:"Time Unit",RFC3339String:"RFC3339 Time String",TimeOffset:"Time Offset",DateFormat:"Date Format",Timestamp:"Timestamp",BinaryData:"Binary Data",BinaryStartIndex:"Start Index",DataType:"Data Type",Signedness:"Signedness",Endian:"Endian",SchemaName:"Schema",Data:"Data",Type:"Message Type"},g={mathFunc:"数学函数",dataTypeJudgmentFunc:"数据类型判断函数",dataTypeConversionFunc:"数据类型转换函数",stringFunc:"字符串函数",mapFunc:"Map 函数",arrFunc:"数组函数",hashFunc:"哈希函数",compressesAndUncompressesFunc:"压缩解压缩函数",bitFunc:"比特操作函数",decodingAndEncodingFunc:"编解码函数",timeAndDateFunc:"时间与日期函数",schemaRegistry:"编解码",Value:"值",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"字符串",StartPosition:"起始位置",Separator:"分割符",Direction:"方向",String1:"左字符串",String2:"右字符串",PreserveCRLF:"是否保留换行符",TotalLength:"字符总长度",PaddingDirection:"补足方向",PaddingString:"补足字符",OldSubStr:"需要替换的字符串",Replacement:"替换值",ReplaceCount:"替换位置",Pattern:"正则表达式",Character:"字符",SubstringToBeFound:"要查找的子串",DirectionToFind:"查找方向",Key:"键",Map:"Map",DefaultValue:"默认值",Index:"索引",Array:"数组",StartIndex:"起始索引",Length:"截取长度",UnixTimestamp:"Unix 时间戳",TimeUnit:"时间单位",RFC3339String:"RFC 3339 时间字符串",TimeOffset:"时区偏移",DateFormat:"日期格式",Timestamp:"时间戳",BinaryData:"二进制数据",BinaryStartIndex:"起始位置的下标",DataType:"数据类型",Signedness:"符号性",Endian:"字节序",SchemaName:"Schema",Data:"数据",Type:"消息类型"},y={mathFunc:"数学関数",dataTypeJudgmentFunc:"データ型判定関数",dataTypeConversionFunc:"データ型変換関数",stringFunc:"文字列関数",mapFunc:"マップ関数",arrFunc:"配列関数",hashFunc:"ハッシュ関数",compressesAndUncompressesFunc:"圧縮・展開関数",bitFunc:"ビット関数",decodingAndEncodingFunc:"デコード・エンコード関数",timeAndDateFunc:"日時関数",schemaRegistry:"スキーマレジストリ",Value:"値",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"文字列",StartPosition:"開始位置",Separator:"区切り文字",Direction:"方向",String1:"文字列 1",String2:"文字列 2",PreserveCRLF:"改行保持(CRLF)",TotalLength:"全体の長さ",PaddingDirection:"パディング方向",PaddingString:"パディング文字",OldSubStr:"元の部分文字列",Replacement:"置換後の文字列",ReplaceCount:"置換回数",Pattern:"パターン",Character:"文字",SubstringToBeFound:"検索対象の部分文字列",DirectionToFind:"検索方向",Key:"キー",Map:"マップ",DefaultValue:"デフォルト値",Index:"インデックス",Array:"配列",StartIndex:"開始インデックス",Length:"長さ",UnixTimestamp:"Unix タイムスタンプ",TimeUnit:"時間単位",RFC3339String:"RFC3339 形式の時間文字列",TimeOffset:"時間オフセット",DateFormat:"日付形式",Timestamp:"タイムスタンプ",BinaryData:"バイナリデータ",BinaryStartIndex:"開始インデックス",DataType:"データ型",Signedness:"符号の有無",Endian:"エンディアン",SchemaName:"スキーマ",Data:"データ",Type:"メッセージタイプ"},v={generateSQLByAIBtn:"SQL Generator",generateSQLWithAI:"Generate SQL with AI",taskDescPlaceholder:'Enter a natural language task description, e.g., "Select all fields from t/#"',taskDesc:"Task Description",relatedTopics:"Related Topics",relatedTopicsDesc:'Supports a single topic, or multiple topics (comma-separated, with +/# support), e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'Please enter related topics, e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"Input Example (JSON)",sqlExampleInputDesc:"Provide an example JSON for the input message",sqlExampleOutput:"Output Example (JSON)",sqlExampleOutputDesc:"Provide an example JSON for the output result",applySQL:"Apply SQL",generatedSQLOutputTitle:"Generated SQL",generatedSQLOutputDesc:"Please review the AI-generated SQL. You can apply it directly, or return to modify the description and regenerate."},k={generateSQLByAIBtn:"SQL 生成器",generateSQLWithAI:"使用 AI 生成 SQL",taskDescPlaceholder:'请输入自然语言的任务描述,例如:"从 t/# 主题选择所有字段"',taskDesc:"任务描述",relatedTopics:"相关主题",relatedTopicsDesc:'支持单个主题,或多个主题(请使用逗号分隔,支持 +/#),例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'请输入相关主题,例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"输入示例(JSON)",sqlExampleInputDesc:"提供一个输入消息的 JSON 示例",sqlExampleOutput:"输出示例(JSON)",sqlExampleOutputDesc:"提供一个输出结果的 JSON 示例",applySQL:"应用 SQL",generatedSQLOutputTitle:"生成的 SQL",generatedSQLOutputDesc:"请检查 AI 生成的 SQL。可直接应用,或返回修改描述并重新生成。"},T={generateSQLByAIBtn:"SQL ジェネレーター",generateSQLWithAI:"AI で SQL を生成",taskDescPlaceholder:"自然言語でタスク説明を入力してください。例:「t/# からすべてのフィールドを選択」",taskDesc:"タスク説明",relatedTopics:"関連トピック",relatedTopicsDesc:"単一トピックまたは複数トピック(カンマ区切り、+/# をサポート)を指定できます。例:「t/a」または「t/a, t/b/#, t/c/+/d」",relatedTopicsPlaceholder:"関連トピックを入力してください。例:「t/a」または「t/a, t/b/#, t/c/+/d」",sqlExampleInput:"入力例(JSON)",sqlExampleInputDesc:"入力メッセージのサンプル JSON を指定してください",sqlExampleOutput:"出力例(JSON)",sqlExampleOutputDesc:"出力結果のサンプル JSON を指定してください",applySQL:"SQL を適用",generatedSQLOutputTitle:"生成された SQL",generatedSQLOutputDesc:"AI が生成した SQL を確認してください。直接適用することも、説明を修正して再生成することもできます。"};e.SQLTemplates=t,e.authHelpCodeMap=i,e.enActionsLabel=a,e.enCommon=h,e.enConnectorsLabel=r,e.enIntegrationDesc=d,e.enRuleFunction=b,e.enRuleSQL=v,e.enStreaming=m,e.enSymbolLabel=n,e.jaCommon=f,e.jaRuleFunction=y,e.jaRuleSQL=T,e.jaStreaming=p,e.zhActionsLabel=o,e.zhCommon=_,e.zhConnectorsLabel=s,e.zhIntegrationDesc=l,e.zhRuleFunction=g,e.zhRuleSQL=k,e.zhStreaming=u,e.zhSymbolLabel=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
|
134
|
+
The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"ストリーム数",partition_count:"パーティション数",group_count:"コンシューマーグループ数",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},h={access:"Permission",topic:"Topic",username:"Username",password:"Password",cancel:"Cancel",back:"Back",generate:"Generate",field:"Field",pleaseChoose:"Required",pleaseEnter:"Required",add:"Add",actions:"Actions",transform:"Transform",alias:"Alias",name:"Name",colon:": "},f={access:"是否允许",topic:"主题",username:"用户名",password:"密码",cancel:"取消",back:"返回",generate:"生成",field:"字段",pleaseChoose:"请选择",pleaseEnter:"请输入",add:"添加",actions:"操作",transform:"转换",alias:"别名",name:"名称",colon:":"},_={access:"許可/拒否",topic:"トピック",username:"ユーザー名",password:"パスワード",cancel:"キャンセル",back:"戻り",generate:"生成",field:"フィールド",pleaseChoose:"選択してください",pleaseEnter:"入力してください",add:"追加",actions:"操作",transform:"変換",alias:"エイリアス",name:"名称",colon:":"},b={mathFunc:"Mathematical Functions",dataTypeJudgmentFunc:"Data Type Judgment Functions",dataTypeConversionFunc:"Data Type Conversion Functions",stringFunc:"String Functions",mapFunc:"Map Functions",arrFunc:"Array Functions",hashFunc:"Hash Functions",compressesAndUncompressesFunc:"Compression and Decompression Functions",bitFunc:"Bit Functions",decodingAndEncodingFunc:"Decoding and Encoding Functions",timeAndDateFunc:"Time and Date Functions",schemaRegistry:"Schema Registry",Value:"Value",Base:"Base",Exponent:"Exponent",Numer:"Numer",Denom:"Denom",Precision:"Precision",String:"String",StartPosition:"Start Position",Separator:"Separator",Direction:"Direction",String1:"String1",String2:"String2",PreserveCRLF:"Preserve CRLF",TotalLength:"Total Length",PaddingDirection:"Padding Direction",PaddingString:"Padding String",OldSubStr:"Old Sub Str",Replacement:"Replacement",ReplaceCount:"Replace Count",Pattern:"Pattern",Character:"Character",SubstringToBeFound:"Substring To Be Found",DirectionToFind:"Direction To Find",Key:"Key",Map:"Map",DefaultValue:"Default Value",Index:"Index",Array:"Array",StartIndex:"Start Index",Length:"Length",UnixTimestamp:"Unix Timestamp",TimeUnit:"Time Unit",RFC3339String:"RFC3339 Time String",TimeOffset:"Time Offset",DateFormat:"Date Format",Timestamp:"Timestamp",BinaryData:"Binary Data",BinaryStartIndex:"Start Index",DataType:"Data Type",Signedness:"Signedness",Endian:"Endian",SchemaName:"Schema",Data:"Data",Type:"Message Type",aliasDesc:"If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias",inputFieldRequiredError:"{name} is required",unusedField:"Unused field",aliasRequired:"Need to specify an alias",aliasFormatError:"Invalid alias format"},g={mathFunc:"数学函数",dataTypeJudgmentFunc:"数据类型判断函数",dataTypeConversionFunc:"数据类型转换函数",stringFunc:"字符串函数",mapFunc:"Map 函数",arrFunc:"数组函数",hashFunc:"哈希函数",compressesAndUncompressesFunc:"压缩解压缩函数",bitFunc:"比特操作函数",decodingAndEncodingFunc:"编解码函数",timeAndDateFunc:"时间与日期函数",schemaRegistry:"编解码",Value:"值",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"字符串",StartPosition:"起始位置",Separator:"分割符",Direction:"方向",String1:"左字符串",String2:"右字符串",PreserveCRLF:"是否保留换行符",TotalLength:"字符总长度",PaddingDirection:"补足方向",PaddingString:"补足字符",OldSubStr:"需要替换的字符串",Replacement:"替换值",ReplaceCount:"替换位置",Pattern:"正则表达式",Character:"字符",SubstringToBeFound:"要查找的子串",DirectionToFind:"查找方向",Key:"键",Map:"Map",DefaultValue:"默认值",Index:"索引",Array:"数组",StartIndex:"起始索引",Length:"截取长度",UnixTimestamp:"Unix 时间戳",TimeUnit:"时间单位",RFC3339String:"RFC 3339 时间字符串",TimeOffset:"时区偏移",DateFormat:"日期格式",Timestamp:"时间戳",BinaryData:"二进制数据",BinaryStartIndex:"起始位置的下标",DataType:"数据类型",Signedness:"符号性",Endian:"字节序",SchemaName:"Schema",Data:"数据",Type:"消息类型",aliasDesc:"别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号",inputFieldRequiredError:"请输入{name}",unusedField:"未被使用的字段",aliasRequired:"需指定一个别名",aliasFormatError:"格式错误的别名"},y={mathFunc:"数学関数",dataTypeJudgmentFunc:"データ型判定関数",dataTypeConversionFunc:"データ型変換関数",stringFunc:"文字列関数",mapFunc:"マップ関数",arrFunc:"配列関数",hashFunc:"ハッシュ関数",compressesAndUncompressesFunc:"圧縮・展開関数",bitFunc:"ビット関数",decodingAndEncodingFunc:"デコード・エンコード関数",timeAndDateFunc:"日時関数",schemaRegistry:"スキーマレジストリ",Value:"値",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"文字列",StartPosition:"開始位置",Separator:"区切り文字",Direction:"方向",String1:"文字列 1",String2:"文字列 2",PreserveCRLF:"改行保持(CRLF)",TotalLength:"全体の長さ",PaddingDirection:"パディング方向",PaddingString:"パディング文字",OldSubStr:"元の部分文字列",Replacement:"置換後の文字列",ReplaceCount:"置換回数",Pattern:"パターン",Character:"文字",SubstringToBeFound:"検索対象の部分文字列",DirectionToFind:"検索方向",Key:"キー",Map:"マップ",DefaultValue:"デフォルト値",Index:"インデックス",Array:"配列",StartIndex:"開始インデックス",Length:"長さ",UnixTimestamp:"Unix タイムスタンプ",TimeUnit:"時間単位",RFC3339String:"RFC3339 形式の時間文字列",TimeOffset:"時間オフセット",DateFormat:"日付形式",Timestamp:"タイムスタンプ",BinaryData:"バイナリデータ",BinaryStartIndex:"開始インデックス",DataType:"データ型",Signedness:"符号の有無",Endian:"エンディアン",SchemaName:"スキーマ",Data:"データ",Type:"メッセージタイプ",aliasDesc:"エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",inputFieldRequiredError:"{name} は必須項目です",unusedField:"未使用のフィールド",aliasRequired:"エイリアスを指定する必要があります",aliasFormatError:"エイリアスの形式が正しくありません"},v={generateSQLByAIBtn:"SQL Generator",generateSQLWithAI:"Generate SQL with AI",taskDescPlaceholder:'Enter a natural language task description, e.g., "Select all fields from t/#"',taskDesc:"Task Description",relatedTopics:"Related Topics",relatedTopicsDesc:'Supports a single topic, or multiple topics (comma-separated, with +/# support), e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'Please enter related topics, e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"Input Example (JSON)",sqlExampleInputDesc:"Provide an example JSON for the input message",sqlExampleOutput:"Output Example (JSON)",sqlExampleOutputDesc:"Provide an example JSON for the output result",applySQL:"Apply SQL",generatedSQLOutputTitle:"Generated SQL",generatedSQLOutputDesc:"Please review the AI-generated SQL. You can apply it directly, or return to modify the description and regenerate."},k={generateSQLByAIBtn:"SQL 生成器",generateSQLWithAI:"使用 AI 生成 SQL",taskDescPlaceholder:'请输入自然语言的任务描述,例如:"从 t/# 主题选择所有字段"',taskDesc:"任务描述",relatedTopics:"相关主题",relatedTopicsDesc:'支持单个主题,或多个主题(请使用逗号分隔,支持 +/#),例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'请输入相关主题,例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"输入示例(JSON)",sqlExampleInputDesc:"提供一个输入消息的 JSON 示例",sqlExampleOutput:"输出示例(JSON)",sqlExampleOutputDesc:"提供一个输出结果的 JSON 示例",applySQL:"应用 SQL",generatedSQLOutputTitle:"生成的 SQL",generatedSQLOutputDesc:"请检查 AI 生成的 SQL。可直接应用,或返回修改描述并重新生成。"},T={generateSQLByAIBtn:"SQL ジェネレーター",generateSQLWithAI:"AI で SQL を生成",taskDescPlaceholder:"自然言語でタスク説明を入力してください。例:「t/# からすべてのフィールドを選択」",taskDesc:"タスク説明",relatedTopics:"関連トピック",relatedTopicsDesc:"単一トピックまたは複数トピック(カンマ区切り、+/# をサポート)を指定できます。例:「t/a」または「t/a, t/b/#, t/c/+/d」",relatedTopicsPlaceholder:"関連トピックを入力してください。例:「t/a」または「t/a, t/b/#, t/c/+/d」",sqlExampleInput:"入力例(JSON)",sqlExampleInputDesc:"入力メッセージのサンプル JSON を指定してください",sqlExampleOutput:"出力例(JSON)",sqlExampleOutputDesc:"出力結果のサンプル JSON を指定してください",applySQL:"SQL を適用",generatedSQLOutputTitle:"生成された SQL",generatedSQLOutputDesc:"AI が生成した SQL を確認してください。直接適用することも、説明を修正して再生成することもできます。"},S={systemTitle:"Log Analysis AI Assistant",noMCPServers:"No MCP server is available, please configure the MCP server gateway.",configMCPServerGateway:"Configure MCP Server Gateway",mcpServerGatewayConfigs:"MCP Server Gateway Configurations",cancel:"Cancel",save:"Save",mqttHost:"MQTT Host",mqttPort:"MQTT Port",mqttUsername:"MQTT Username",mqttPassword:"MQTT Password",mqttClientId:"MQTT Client ID",mqttAppId:"MQTT App ID",saveSuccess:"Saved successfully",parseUserIntention:"Parse User Intention",loadLogEntries:"Load Log Entries",generalConversation:"General Conversation",extractAndExplainLogEntries:"Extract and Explain Log Entries",queryEmqxContext:"Query EMQX Context",genAnalysisReport:"Generate Analysis Report",completeReport:"Complete Report",funcCall:"Function Call",analysisResultTip:"The following is the report content:",responseConfirm:"Please confirm the result is ok?",yes:"Yes",no:"No",refreshConfirm:"There is a conversation in progress, confirm to clear the conversation and start a new one?",confirm:"Confirm",guidanceText:"Welcome to the Log Analysis AI Assistant. I will leverage technologies such as LLM and RAG,as well as utilize the MCP tool to query system status, to help you analyze EMQX-related logs and quickly identify and resolve issues. Here are some example questions you can ask,",querySample1:"Query the error/warning log messages from the past 5 minutes.",querySample2:"Query the latest 5 error/warning log messages.",querySample3:"Analyze log: ",noConfigStatus:"MCP server gateway not configured. Please configure the server gateway and connect to the server before proceeding with the analysis of server logs.",disconnectedStatus:"Cannot connect to your MCP servers, please check your settings or network.",selectServerRequired:"Please select the MCP server to connect.",funcName:"Function Name",funcArgs:"Function Arguments",funcOutput:"Function Output",permissionRequest:'Tool "{tool}" requires permission to access system resources.',deny:"Deny",allowOnce:"Allow Once",allowAlways:"Allow Always",reportGenerationCompleted:"Report generation completed.",userCancelled:"User cancelled the operation."},w={systemTitle:"日志分析 AI 助手",noMCPServers:"暂无可用 MCP 服务器,请先配置 MCP 服务器网关。",configMCPServerGateway:"配置 MCP 服务器网关",mcpServerGatewayConfigs:"MCP 服务器网关配置",cancel:"取消",save:"保存",mqttHost:"MQTT 主机",mqttPort:"MQTT 端口",mqttUsername:"MQTT 用户名",mqttPassword:"MQTT 密码",mqttClientId:"MQTT 客户端 ID",mqttAppId:"MQTT 应用 ID",saveSuccess:"保存成功",parseUserIntention:"分析用户意图",loadLogEntries:"加载日志条目",generalConversation:"通用对话",extractAndExplainLogEntries:"查找并解释日志数据",queryEmqxContext:"查询 EMQX 上下文",genAnalysisReport:"生成分析报告",completeReport:"完成报告",funcCall:"函数调用",analysisResultTip:"以下是报告内容:",responseConfirm:"请确认结果是否正确?",yes:"正确",no:"不正确",refreshConfirm:"当前页面有正在进行的对话,是否确认清空记录并开始新的对话?",confirm:"确认",guidanceText:"欢迎使用日志分析 AI 助手。我将利用 LLM 和 RAG 等技术,以及 MCP 工具查询系统状态,帮助您分析 EMQX 相关日志并快速识别和解决问题。以下是一些您可以询问的问题:",querySample1:"查询过去 5 分钟内的错误/警告日志消息。",querySample2:"查询最新的 5 条错误/警告日志消息。",querySample3:"分析日志:",noConfigStatus:"未配置 MCP 服务器网关,如需分析服务器日志,请先配置服务器网关,并连接服务器后再进行操作。",disconnectedStatus:"无法连接到 MCP 服务器,请检查您的设置或网络。",selectServerRequired:"请选择需要连接的 MCP 服务器。",funcName:"函数名称",funcArgs:"函数参数",funcOutput:"函数输出",permissionRequest:'工具 "{tool}" 需要权限访问系统资源。',deny:"拒绝",allowOnce:"允许一次",allowAlways:"始终允许",reportGenerationCompleted:"报告生成完成。",userCancelled:"用户取消操作。"},P={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"拖拽多个节点以选择消息与事件输入",guideProcessingNodeLabel:"Processing(可选)",guideProcessingNodeDesc:"拖拽节点以处理和过滤数据",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"拖拽多个节点以输出数据到外部数据集成",guideFallbackNodeLabel:"Fallback(可选)",guideFallbackNodeDesc:"拖拽节点以作为备选动作",actionAvailable:"可用",actionUnavailable:"不可用",connecting:"连接中",inconsistent:"集群中各节点不一致",disconnected:"已断开",message:"消息",event:"事件",dataProcessing:"数据处理",filter:"过滤器",consoleOutput:"控制台输出",republish:"消息重发布",condition:"个条件",systemPrompt:"系统消息",consoleFallbackWrong:"Console 不可作为备选动作",incorrectConnection:"错误的连线",filterFunctionsWrongOrder:"函数节点必须放置在过滤器节点之前,请调整节点位置。",flowEmptyError:"无法保存,Flow 中需要有至少一个 Sink 节点和一个 Source 节点",flowIntegrityError:"无法保存,Flow 中需要有至少一个 {missing} 节点",isolatedNodeError:"Flow 中有未连接的节点,请先连接或将其删除|Flow 中有未连接的节点,请先连接或将其删除",multipleFlowError:"每次仅允许创建一个 Flow",multipleFallbackWrong:"Flow 暂不支持编辑多层级备选动作",incorrectInputOutputConnection:"请确认所有 Source 节点均正确连接到同一数据处理节点",incorrectOutputNodeConnection:"请确认所有 Sink 节点均由同一数据处理节点输出",incorrectDefaultNodeConnection:"请确认所有数据处理节点均按照顺序首尾相连"},x={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"Drag in multiple nodes to select message and event inputs",guideProcessingNodeLabel:"Processing (optional)",guideProcessingNodeDesc:"Drag nodes to transform and filter data",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"Drag in multiple nodes to output data to external integrations",guideFallbackNodeLabel:"Fallback (optional)",guideFallbackNodeDesc:"Drag nodes as fallback actions",actionAvailable:"Available",actionUnavailable:"Unavailable",connecting:"Connecting",inconsistent:"Inconsistent for nodes in the cluster",disconnected:"Disconnected",message:"Message",event:"Event",dataProcessing:"Data Processing",filter:"Filter",consoleOutput:"Console Output",republish:"Republish",condition:"condition | conditions",systemPrompt:"System Message",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"Incorrect connection",filterFunctionsWrongOrder:"Function nodes must be placed before filter nodes. Please adjust node positions.",flowEmptyError:"Unable to save, there must be at least one Sink node and one Source node in the Flow",flowIntegrityError:"Unable to save, at least one {missing} node is required in the Flow",isolatedNodeError:"There are unconnected node in the flow. Please connect or delete them.|There are unconnected nodes in the flow. Please connect or delete them.",multipleFlowError:"Only one flow can be created at a time",multipleFallbackWrong:"Flow does not support editing multi-level fallback actions",incorrectInputOutputConnection:"Please confirm that all source nodes are correctly connected to the same data processing node",incorrectOutputNodeConnection:"Please confirm that all sink nodes are output from the same data processing node",incorrectDefaultNodeConnection:"Please confirm that all data processing nodes are connected in sequence from start to end"},M={guideSourceNodeLabel:"ソース",guideSourceNodeDesc:"複数のノードをドラッグしてメッセージとイベント入力を選択",guideProcessingNodeLabel:"処理(任意)",guideProcessingNodeDesc:"ノードをドラッグしてデータを変換・フィルター",guideSinkNodeLabel:"シンク",guideSinkNodeDesc:"複数のノードをドラッグして外部連携にデータを出力",guideFallbackNodeLabel:"フォールバック(任意)",guideFallbackNodeDesc:"ノードをドラッグしてフォールバックアクションとして設定します",actionAvailable:"利用可能",actionUnavailable:"利用不可",connecting:"接続中",inconsistent:"クラスタ内のノードで不一致",disconnected:"切断",message:"メッセージ",event:"イベント",dataProcessing:"データ処理",filter:"フィルター",consoleOutput:"Console Output",republish:"再パブリッシュ(Republish)",condition:"条件",systemPrompt:"システムメッセージ",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"不正な接続",filterFunctionsWrongOrder:"関数ノードはフィルターノードより前に配置する必要があります。ノードの位置を調整してください。",flowEmptyError:"保存できません。フローには少なくとも1つのシンクノードと1つのソースノードが必要です。",flowIntegrityError:"保存できません。フローには少なくとも 1 つの{missing}ノードが必要です。",isolatedNodeError:"フローに未接続のノードがあります。接続するか削除してください。",multipleFlowError:"一度に作成できるフローは1つだけです。",multipleFallbackWrong:"フローは多段階のフォールバックアクションの編集をサポートしていません",incorrectInputOutputConnection:"すべてのソースノードが同じデータ処理ノードに正しく接続されていることを確認してください",incorrectOutputNodeConnection:"すべてのシンクノードが同じデータ処理ノードから出力されていることを確認してください",incorrectDefaultNodeConnection:"すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください"};e.SQLTemplates=t,e.authHelpCodeMap=i,e.enActionsLabel=a,e.enAiLog=S,e.enCommon=h,e.enConnectorsLabel=r,e.enFlow=x,e.enIntegrationDesc=d,e.enRuleFunction=b,e.enRuleSQL=v,e.enStreaming=m,e.enSymbolLabel=n,e.jaCommon=_,e.jaFlow=M,e.jaRuleFunction=y,e.jaRuleSQL=T,e.jaStreaming=p,e.zhActionsLabel=o,e.zhAiLog=w,e.zhCommon=f,e.zhConnectorsLabel=s,e.zhFlow=P,e.zhIntegrationDesc=l,e.zhRuleFunction=g,e.zhRuleSQL=k,e.zhStreaming=u,e.zhSymbolLabel=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
|
package/dist/ja/common.d.ts
CHANGED
|
@@ -6,4 +6,13 @@ export declare const jaCommon: {
|
|
|
6
6
|
cancel: string;
|
|
7
7
|
back: string;
|
|
8
8
|
generate: string;
|
|
9
|
+
field: string;
|
|
10
|
+
pleaseChoose: string;
|
|
11
|
+
pleaseEnter: string;
|
|
12
|
+
add: string;
|
|
13
|
+
actions: string;
|
|
14
|
+
transform: string;
|
|
15
|
+
alias: string;
|
|
16
|
+
name: string;
|
|
17
|
+
colon: string;
|
|
9
18
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const jaFlow: {
|
|
2
|
+
guideSourceNodeLabel: string;
|
|
3
|
+
guideSourceNodeDesc: string;
|
|
4
|
+
guideProcessingNodeLabel: string;
|
|
5
|
+
guideProcessingNodeDesc: string;
|
|
6
|
+
guideSinkNodeLabel: string;
|
|
7
|
+
guideSinkNodeDesc: string;
|
|
8
|
+
guideFallbackNodeLabel: string;
|
|
9
|
+
guideFallbackNodeDesc: string;
|
|
10
|
+
actionAvailable: string;
|
|
11
|
+
actionUnavailable: string;
|
|
12
|
+
connecting: string;
|
|
13
|
+
inconsistent: string;
|
|
14
|
+
disconnected: string;
|
|
15
|
+
message: string;
|
|
16
|
+
event: string;
|
|
17
|
+
dataProcessing: string;
|
|
18
|
+
filter: string;
|
|
19
|
+
consoleOutput: string;
|
|
20
|
+
republish: string;
|
|
21
|
+
condition: string;
|
|
22
|
+
systemPrompt: string;
|
|
23
|
+
consoleFallbackWrong: string;
|
|
24
|
+
incorrectConnection: string;
|
|
25
|
+
filterFunctionsWrongOrder: string;
|
|
26
|
+
flowEmptyError: string;
|
|
27
|
+
flowIntegrityError: string;
|
|
28
|
+
isolatedNodeError: string;
|
|
29
|
+
multipleFlowError: string;
|
|
30
|
+
multipleFallbackWrong: string;
|
|
31
|
+
incorrectInputOutputConnection: string;
|
|
32
|
+
incorrectOutputNodeConnection: string;
|
|
33
|
+
incorrectDefaultNodeConnection: string;
|
|
34
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const zhAiLog: {
|
|
2
|
+
systemTitle: string;
|
|
3
|
+
noMCPServers: string;
|
|
4
|
+
configMCPServerGateway: string;
|
|
5
|
+
mcpServerGatewayConfigs: string;
|
|
6
|
+
cancel: string;
|
|
7
|
+
save: string;
|
|
8
|
+
mqttHost: string;
|
|
9
|
+
mqttPort: string;
|
|
10
|
+
mqttUsername: string;
|
|
11
|
+
mqttPassword: string;
|
|
12
|
+
mqttClientId: string;
|
|
13
|
+
mqttAppId: string;
|
|
14
|
+
saveSuccess: string;
|
|
15
|
+
parseUserIntention: string;
|
|
16
|
+
loadLogEntries: string;
|
|
17
|
+
generalConversation: string;
|
|
18
|
+
extractAndExplainLogEntries: string;
|
|
19
|
+
queryEmqxContext: string;
|
|
20
|
+
genAnalysisReport: string;
|
|
21
|
+
completeReport: string;
|
|
22
|
+
funcCall: string;
|
|
23
|
+
analysisResultTip: string;
|
|
24
|
+
responseConfirm: string;
|
|
25
|
+
yes: string;
|
|
26
|
+
no: string;
|
|
27
|
+
refreshConfirm: string;
|
|
28
|
+
confirm: string;
|
|
29
|
+
guidanceText: string;
|
|
30
|
+
querySample1: string;
|
|
31
|
+
querySample2: string;
|
|
32
|
+
querySample3: string;
|
|
33
|
+
noConfigStatus: string;
|
|
34
|
+
disconnectedStatus: string;
|
|
35
|
+
selectServerRequired: string;
|
|
36
|
+
funcName: string;
|
|
37
|
+
funcArgs: string;
|
|
38
|
+
funcOutput: string;
|
|
39
|
+
permissionRequest: string;
|
|
40
|
+
deny: string;
|
|
41
|
+
allowOnce: string;
|
|
42
|
+
allowAlways: string;
|
|
43
|
+
reportGenerationCompleted: string;
|
|
44
|
+
userCancelled: string;
|
|
45
|
+
};
|
package/dist/zh/common.d.ts
CHANGED
|
@@ -6,4 +6,13 @@ export declare const zhCommon: {
|
|
|
6
6
|
cancel: string;
|
|
7
7
|
back: string;
|
|
8
8
|
generate: string;
|
|
9
|
+
field: string;
|
|
10
|
+
pleaseChoose: string;
|
|
11
|
+
pleaseEnter: string;
|
|
12
|
+
add: string;
|
|
13
|
+
actions: string;
|
|
14
|
+
transform: string;
|
|
15
|
+
alias: string;
|
|
16
|
+
name: string;
|
|
17
|
+
colon: string;
|
|
9
18
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const zhFlow: {
|
|
2
|
+
guideSourceNodeLabel: string;
|
|
3
|
+
guideSourceNodeDesc: string;
|
|
4
|
+
guideProcessingNodeLabel: string;
|
|
5
|
+
guideProcessingNodeDesc: string;
|
|
6
|
+
guideSinkNodeLabel: string;
|
|
7
|
+
guideSinkNodeDesc: string;
|
|
8
|
+
guideFallbackNodeLabel: string;
|
|
9
|
+
guideFallbackNodeDesc: string;
|
|
10
|
+
actionAvailable: string;
|
|
11
|
+
actionUnavailable: string;
|
|
12
|
+
connecting: string;
|
|
13
|
+
inconsistent: string;
|
|
14
|
+
disconnected: string;
|
|
15
|
+
message: string;
|
|
16
|
+
event: string;
|
|
17
|
+
dataProcessing: string;
|
|
18
|
+
filter: string;
|
|
19
|
+
consoleOutput: string;
|
|
20
|
+
republish: string;
|
|
21
|
+
condition: string;
|
|
22
|
+
systemPrompt: string;
|
|
23
|
+
consoleFallbackWrong: string;
|
|
24
|
+
incorrectConnection: string;
|
|
25
|
+
filterFunctionsWrongOrder: string;
|
|
26
|
+
flowEmptyError: string;
|
|
27
|
+
flowIntegrityError: string;
|
|
28
|
+
isolatedNodeError: string;
|
|
29
|
+
multipleFlowError: string;
|
|
30
|
+
multipleFallbackWrong: string;
|
|
31
|
+
incorrectInputOutputConnection: string;
|
|
32
|
+
incorrectOutputNodeConnection: string;
|
|
33
|
+
incorrectDefaultNodeConnection: string;
|
|
34
|
+
};
|