edgex.json 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. {
  2. "about": {
  3. "trial": false,
  4. "author": {
  5. "name": "EMQ",
  6. "email": "contact@emqx.io",
  7. "company": "EMQ Technologies Co., Ltd",
  8. "website": "https://www.emqx.io"
  9. },
  10. "helpUrl": {
  11. "en_US": "https://ekuiper.org/docs/en/latest/guide/sinks/builtin/edgex.html",
  12. "zh_CN": "https://ekuiper.org/docs/zh/latest/guide/sinks/builtin/edgex.html"
  13. },
  14. "description": {
  15. "en_US": "The action is used for publishing output message into EdgeX message bus.",
  16. "zh_CN": "该操作用于将输出消息发布到 EdgeX 消息总线"
  17. }
  18. },
  19. "properties": [
  20. {
  21. "name": "connectionSelector",
  22. "default": "",
  23. "optional": true,
  24. "control": "select",
  25. "type": "string",
  26. "values": [],
  27. "hint": {
  28. "en_US": "specify the source to reuse the connection defined in connection configuration.",
  29. "zh_CN": "复用 connection 中定义的连接"
  30. },
  31. "label": {
  32. "en_US": "Connection selector",
  33. "zh_CN": "复用连接信息"
  34. }
  35. },
  36. {
  37. "name": "protocol",
  38. "default": "redis",
  39. "optional": true,
  40. "control": "select",
  41. "connection_related": true,
  42. "values": [
  43. "tcp",
  44. "redis"
  45. ],
  46. "type": "string",
  47. "hint": {
  48. "en_US": "The protocol. If it's not specified, then use default value 'redis'.",
  49. "zh_CN": "协议,如未指定,使用缺省值 redis。"
  50. },
  51. "label": {
  52. "en_US": "Protocol",
  53. "zh_CN": "协议"
  54. }
  55. },
  56. {
  57. "name": "server",
  58. "optional": true,
  59. "control": "text",
  60. "default": "localhost",
  61. "type": "string",
  62. "connection_related": true,
  63. "hint": {
  64. "en_US": "The host of message bus. If not specified, then use default value 'localhost'",
  65. "zh_CN": "消息总线主机地址,使用缺省值 localhost."
  66. },
  67. "label": {
  68. "en_US": "Binding host",
  69. "zh_CN": "绑定主机"
  70. }
  71. },
  72. {
  73. "name": "port",
  74. "optional": true,
  75. "control": "text",
  76. "default": 6379,
  77. "type": "int",
  78. "connection_related": true,
  79. "hint": {
  80. "en_US": "The port of message bus",
  81. "zh_CN": "消息总线端口号"
  82. },
  83. "label": {
  84. "en_US": "Port",
  85. "zh_CN": "端口"
  86. }
  87. },
  88. {
  89. "name": "topic",
  90. "default": "application",
  91. "optional": true,
  92. "control": "text",
  93. "type": "string",
  94. "hint": {
  95. "en_US": "The topic to be published. If not specified, then use default value 'application'.",
  96. "zh_CN": "发布的主题名称,如未指定,使用缺省值 application."
  97. },
  98. "label": {
  99. "en_US": "Topic",
  100. "zh_CN": "主题"
  101. }
  102. },
  103. {
  104. "name": "topicPrefix",
  105. "default": "",
  106. "optional": true,
  107. "control": "text",
  108. "type": "string",
  109. "hint": {
  110. "en_US": "The prefix of a dynamic topic to be published. The topic will become a concatenation of `$topicPrefix/$profileName/$deviceName/$sourceName`",
  111. "zh_CN": " 发布的主题的前缀。发送的主题将采用动态拼接,格式为`$topicPrefix/$profileName/$deviceName/$sourceName` 。"
  112. },
  113. "label": {
  114. "en_US": "Topic Prefix",
  115. "zh_CN": "主题前缀"
  116. }
  117. },
  118. {
  119. "name": "type",
  120. "default": "redis",
  121. "optional": true,
  122. "control": "select",
  123. "connection_related": true,
  124. "values": [
  125. "mqtt",
  126. "zero",
  127. "redis",
  128. "nats-jetstream",
  129. "nats-core"
  130. ],
  131. "type": "string",
  132. "hint": {
  133. "en_US": "The message bus type, two types of message buses are supported,'redis', 'zero' or 'mqtt', and 'redis' is the default value.",
  134. "zh_CN": "消息总线类型,目前支持两种类型的消息总线,'redis', 'zero' 或者 'mqtt',其中 'redis' 为缺省类型。"
  135. },
  136. "label": {
  137. "en_US": "Message bus type",
  138. "zh_CN": "消息总线类型"
  139. }
  140. },
  141. {
  142. "name": "messageType",
  143. "default": "event",
  144. "optional": true,
  145. "control": "select",
  146. "values": [
  147. "event",
  148. "request"
  149. ],
  150. "type": "string",
  151. "hint": {
  152. "en_US": "The EdgeX message model type. To publish the message as an event like EdgeX application service, use `event`. Otherwise, to publish the message as an event request like EdgeX device service or core data service, use `request`. If not specified, then use the default value `event`.",
  153. "zh_CN": "EdgeX 消息模型类型。若要将消息发送为类似 apllication service 的 event 类型,则应设置为 `event`。否则,若要将消息发送为类似 device service 或者 core data service 的 event request 类型,则应设置为 `request`。如未指定,使用缺省值 `event` 。"
  154. },
  155. "label": {
  156. "en_US": "Message type",
  157. "zh_CN": "消息类型"
  158. }
  159. },
  160. {
  161. "name": "contentType",
  162. "default": "application/json",
  163. "optional": true,
  164. "control": "text",
  165. "type": "string",
  166. "hint": {
  167. "en_US": "The content type of message to be published. If not specified, then use the default value 'application/json'.",
  168. "zh_CN": "发布消息的内容类型,如未指定,则使用缺省值 application/json."
  169. },
  170. "label": {
  171. "en_US": "Content type",
  172. "zh_CN": "内容类型"
  173. }
  174. },
  175. {
  176. "name": "metadata",
  177. "default": "",
  178. "optional": true,
  179. "control": "text",
  180. "type": "string",
  181. "hint": {
  182. "en_US": "The property is a field name that allows user to specify a field name of SQL select clause, the field name should use meta(*) AS xxx to select all of EdgeX metadata from message.",
  183. "zh_CN": "该属性为一个字段名称,该字段是 SQL SELECT 子句的一个字段名称,这个字段应该类似于 meta(*) AS xxx ,用于选出消息中所有的 EdgeX 元数据."
  184. },
  185. "label": {
  186. "en_US": "Metadata field name",
  187. "zh_CN": "元数据字段名"
  188. }
  189. },
  190. {
  191. "name": "deviceName",
  192. "default": "",
  193. "optional": true,
  194. "control": "text",
  195. "type": "string",
  196. "hint": {
  197. "en_US": "Allows user to specify the device name in the event structure that are sent from eKuiper.",
  198. "zh_CN": "允许用户指定设备名称,该名称将作为从 eKuiper 中发送出来的 Event 结构体的设备名称"
  199. },
  200. "label": {
  201. "en_US": "Device name",
  202. "zh_CN": "设备名称"
  203. }
  204. },
  205. {
  206. "name": "profileName",
  207. "default": "",
  208. "optional": true,
  209. "control": "text",
  210. "type": "string",
  211. "hint": {
  212. "en_US": "Allows user to specify the profile name in the event structure that are sent from eKuiper. The profileName in the meta take precedence if specified.",
  213. "zh_CN": "允许用户指定设备名称,该名称将作为从 eKuiper 中发送出来的 Event 结构体的 profile 名称。若在 metadata 中设置了 profileName 将会优先采用。"
  214. },
  215. "label": {
  216. "en_US": "Profile name",
  217. "zh_CN": "Profile 名称"
  218. }
  219. },
  220. {
  221. "name": "sourceName",
  222. "default": "",
  223. "optional": true,
  224. "control": "text",
  225. "type": "string",
  226. "hint": {
  227. "en_US": "Allows user to specify the source name in the event structure that are sent from eKuiper. The sourceName in the meta take precedence if specified.",
  228. "zh_CN": "允许用户指定源名称,该名称将作为从 eKuiper 中发送出来的 Event 结构体的源名称。若在 metadata 中设置了 sourceName 将会优先采用。"
  229. },
  230. "label": {
  231. "en_US": "Source name",
  232. "zh_CN": "源名称"
  233. }
  234. },
  235. {
  236. "name": "optional",
  237. "optional": true,
  238. "control": "list",
  239. "type": "object",
  240. "connection_related": true,
  241. "hint": {
  242. "en_US": "If MQTT message bus is used, some other optional configurations can be specified. Please notice that all of values in optional are string type, so values for these configurations should be string - such as KeepAlive: \"5000\".",
  243. "zh_CN": "如果使用了 MQTT 消息总线,还可以指定别的一些可选配置项。请注意,所有在可选的配置项里指定的值都必须为**字符类型**,因此这里出现的所有的配置应该是字符类型的 - 例如 KeepAlive: \"5000\"。"
  244. },
  245. "label": {
  246. "en_US": "Optional",
  247. "zh_CN": "选项"
  248. },
  249. "default": {
  250. "ClientId": {
  251. "name": "ClientId",
  252. "default": "",
  253. "optional": true,
  254. "control": "text",
  255. "type": "string",
  256. "hint": {
  257. "en_US": "MQTT clientID",
  258. "zh_CN": "MQTT 客户端 ID"
  259. },
  260. "label": {
  261. "en_US": "MQTT clientID",
  262. "zh_CN": "MQTT 客户端 ID"
  263. }
  264. },
  265. "Username": {
  266. "name": "Username",
  267. "default": "",
  268. "optional": true,
  269. "control": "text",
  270. "type": "string",
  271. "hint": {
  272. "en_US": "MQTT username",
  273. "zh_CN": "MQTT 用户名"
  274. },
  275. "label": {
  276. "en_US": "MQTT username",
  277. "zh_CN": "MQTT 用户名"
  278. }
  279. },
  280. "Password": {
  281. "name": "Password",
  282. "default": "",
  283. "optional": true,
  284. "control": "text",
  285. "type": "string",
  286. "hint": {
  287. "en_US": "MQTT password",
  288. "zh_CN": "MQTT 密码"
  289. },
  290. "label": {
  291. "en_US": "MQTT password",
  292. "zh_CN": "MQTT 密码"
  293. }
  294. },
  295. "Qos": {
  296. "name": "Qos",
  297. "default": "",
  298. "optional": true,
  299. "control": "text",
  300. "type": "string",
  301. "hint": {
  302. "en_US": "MQTT QoS",
  303. "zh_CN": "MQTT 服务质量"
  304. },
  305. "label": {
  306. "en_US": "MQTT QoS",
  307. "zh_CN": "MQTT 服务质量"
  308. }
  309. },
  310. "KeepAlive": {
  311. "name": "KeepAlive",
  312. "default": "",
  313. "optional": true,
  314. "control": "text",
  315. "type": "string",
  316. "hint": {
  317. "en_US": "MQTT keepalive",
  318. "zh_CN": "MQTT keepalive"
  319. },
  320. "label": {
  321. "en_US": "MQTT keepalive",
  322. "zh_CN": "MQTT keepalive"
  323. }
  324. },
  325. "Retained": {
  326. "name": "Retained",
  327. "default": "",
  328. "optional": true,
  329. "control": "text",
  330. "type": "string",
  331. "hint": {
  332. "en_US": "MQTT retained",
  333. "zh_CN": "MQTT retained"
  334. },
  335. "label": {
  336. "en_US": "MQTT retained",
  337. "zh_CN": "MQTT retained"
  338. }
  339. },
  340. "ConnectionPayload": {
  341. "name": "ConnectionPayload",
  342. "default": "",
  343. "optional": true,
  344. "control": "text",
  345. "type": "string",
  346. "hint": {
  347. "en_US": "MQTT connection payload",
  348. "zh_CN": "MQTT connection payload"
  349. },
  350. "label": {
  351. "en_US": "MQTT connection payload",
  352. "zh_CN": "MQTT connection payload"
  353. }
  354. },
  355. "CertFile": {
  356. "name": "CertFile",
  357. "default": "",
  358. "optional": true,
  359. "control": "text",
  360. "type": "string",
  361. "hint": {
  362. "en_US": "MQTT cert file",
  363. "zh_CN": "MQTT cert file"
  364. },
  365. "label": {
  366. "en_US": "MQTT cert file",
  367. "zh_CN": "MQTT cert file"
  368. }
  369. },
  370. "KeyFile": {
  371. "name": "KeyFile",
  372. "default": "",
  373. "optional": true,
  374. "control": "text",
  375. "type": "string",
  376. "hint": {
  377. "en_US": "MQTT key file",
  378. "zh_CN": "MQTT key file"
  379. },
  380. "label": {
  381. "en_US": "MQTT key file",
  382. "zh_CN": "MQTT key file"
  383. }
  384. },
  385. "CertPEMBlock": {
  386. "name": "CertPEMBlock",
  387. "default": "",
  388. "optional": true,
  389. "control": "text",
  390. "type": "string",
  391. "hint": {
  392. "en_US": "MQTT cert PEM block",
  393. "zh_CN": "MQTT cert PEM block"
  394. },
  395. "label": {
  396. "en_US": "MQTT cert PEM block",
  397. "zh_CN": "MQTT cert PEM block"
  398. }
  399. },
  400. "KeyPEMBlock": {
  401. "name": "KeyPEMBlock",
  402. "default": "",
  403. "optional": true,
  404. "control": "text",
  405. "type": "string",
  406. "hint": {
  407. "en_US": "MQTT key PEM block",
  408. "zh_CN": "MQTT key PEM block"
  409. },
  410. "label": {
  411. "en_US": "MQTT key PEM block",
  412. "zh_CN": "MQTT key PEM block"
  413. }
  414. },
  415. "SkipCertVerify": {
  416. "name": "SkipCertVerify",
  417. "default": "",
  418. "optional": true,
  419. "control": "text",
  420. "type": "string",
  421. "hint": {
  422. "en_US": "MQTT skip cert verify",
  423. "zh_CN": "MQTT skip cert verify"
  424. },
  425. "label": {
  426. "en_US": "MQTT skip cert verify",
  427. "zh_CN": "MQTT skip cert verify"
  428. }
  429. }
  430. }
  431. }
  432. ],
  433. "node": {
  434. "category": "sink",
  435. "icon": "iconPath",
  436. "label": {
  437. "en": "EdgeX Foundry",
  438. "zh": "EdgeX Foundry"
  439. }
  440. }
  441. }