Prechádzať zdrojové kódy

fix(docs): revise writings (#2014)

* add the SQL plugin in the sink overview page

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>

* Remove Chinese from the en API file

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>

* fix unicode issue

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>

* unify zeroMQ and fix some format issue

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>

* standardize some of the database names

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>

---------

Signed-off-by: LenaLenaPan <hilena.pan@gmail.com>
LenaLenaPan 1 rok pred
rodič
commit
d33019e673

+ 1 - 1
docs/en_US/api/restapi/data.md

@@ -53,7 +53,7 @@ POST http://{{host}}/data/import
 Content-Type: application/json
 Content-Type: application/json
 
 
 {
 {
-  "content": "$规则集 json 内容"
+  "content": "{json of the ruleset}"
 }
 }
 ```
 ```
 
 

+ 1 - 1
docs/en_US/api/restapi/ruleset.md

@@ -30,7 +30,7 @@ POST http://{{host}}/ruleset/import
 Content-Type: application/json
 Content-Type: application/json
 
 
 {
 {
-  "content": "$规则集 json 内容"
+  "content": "{json of the ruleset}"
 }
 }
 ```
 ```
 
 

+ 1 - 1
docs/en_US/guide/sinks/builtin/rest.md

@@ -73,7 +73,7 @@ Use text json create rules SQL and Actions
 Example for taosdb rest:
 Example for taosdb rest:
 ```json
 ```json
 {"id": "rest1",
 {"id": "rest1",
-  "sql": "SELECT tele[0]-\u003eTag00001 AS temperature, tele[0]-\u003eTag00002 AS humidity FROM neuron", 
+  "sql": "SELECT tele[0].Tag00001 AS temperature, tele[0].Tag00002 AS humidity FROM neuron", 
   "actions": [
   "actions": [
     {
     {
       "rest": {
       "rest": {

+ 1 - 1
docs/zh_CN/guide/sinks/builtin/rest.md

@@ -71,7 +71,7 @@ Text mode
 
 
 ```json
 ```json
 {"id": "rest1",
 {"id": "rest1",
-  "sql": "SELECT tele[0]-\u003eTag00001 AS temperature, tele[0]-\u003eTag00002 AS humidity FROM neuron", 
+  "sql": "SELECT tele[0].Tag00001 AS temperature, tele[0].Tag00002 AS humidity FROM neuron", 
   "actions": [
   "actions": [
     {
     {
       "rest": {
       "rest": {

+ 17 - 16
docs/zh_CN/guide/sinks/overview.md

@@ -4,7 +4,7 @@
 
 
 ## 内置动作
 ## 内置动作
 
 
-用户可以直接使用标准 eKuiper 实例中的内置动作。内建动作的列表如下
+用户可以直接使用标准 eKuiper 实例中的内置动作。内建动作的列表如下
 
 
 - [Mqtt sink](./builtin/mqtt.md):输出到外部 mqtt 服务。
 - [Mqtt sink](./builtin/mqtt.md):输出到外部 mqtt 服务。
 - [Neuron sink](./builtin/neuron.md):输出到本地的 Neuron 实例。
 - [Neuron sink](./builtin/neuron.md):输出到本地的 Neuron 实例。
@@ -22,22 +22,23 @@
 
 
 这些插件有预编译的二进制文件,用于主流cpu架构,如AMD或ARM。预编译的插件托管在 `https://packages.emqx.net/kuiper-plugins/$version/$os/sinks/$type_$arch.zip` 中。例如,要获得用于 debian amd64 的 tdengine 插件,请从 `https://packages.emqx.net/kuiper-plugins/1.4.4/debian/sinks/tdengine_amd64.zip` 安装。
 这些插件有预编译的二进制文件,用于主流cpu架构,如AMD或ARM。预编译的插件托管在 `https://packages.emqx.net/kuiper-plugins/$version/$os/sinks/$type_$arch.zip` 中。例如,要获得用于 debian amd64 的 tdengine 插件,请从 `https://packages.emqx.net/kuiper-plugins/1.4.4/debian/sinks/tdengine_amd64.zip` 安装。
 
 
-预定义的动作插件列表
+预定义的动作插件列表
 
 
+- [SQL](./plugin/sql.md):写入 SQL。
 - [InfluxDB sink](./plugin/influx.md): 写入 Influx DB `v1.x`。
 - [InfluxDB sink](./plugin/influx.md): 写入 Influx DB `v1.x`。
 - [InfluxDBV2 sink](./plugin/influx2.md): 写入 Influx DB `v2.x`。
 - [InfluxDBV2 sink](./plugin/influx2.md): 写入 Influx DB `v2.x`。
-- [Tdengine sink](./plugin/tdengine.md): 写入 Tdengine 
-- [Image sink](./plugin/image.md): 写入一个图像文件。仅用于处理二进制结果。
-- [Zero MQ sink](./plugin/zmq.md):输出到 Zero MQ 
-- [Kafka sink](./plugin/kafka.md):输出到 Kafka 
+- [Tdengine sink](./plugin/tdengine.md): 写入 Tdengine。
+- [Image sink](./plugin/image.md):写入一个图像文件。仅用于处理二进制结果。
+- [ZeroMQ sink](./plugin/zmq.md):输出到 ZeroMQ。
+- [Kafka sink](./plugin/kafka.md):输出到 Kafka。
 
 
 ## 更新
 ## 更新
 
 
-默认情况下,Sink 将数据附加到外部系统中。一些外部系统,如 SQL DB 本身是可更新的,允许更新或删除数据。与查找源类似,只有少数 Sink 是天然 "可更新 "的。可更新的 Sink 必须支持插入、更新和删除。产品自带的 Sink ,可更新的包括: 
+默认情况下,Sink 将数据附加到外部系统中。一些外部系统,如 SQL DB 本身是可更新的,允许更新或删除数据。与查找源类似,只有少数 Sink 是天然 "可更新 "的。可更新的 Sink 必须支持插入、更新和删除。产品自带的 Sink ,可更新的包括: 
 
 
-- Memory Sink
-- Redis Sink
-- SQL Sink
+- [Memory Sink](./builtin/memory.md)
+- [Redis Sink](./builtin/redis.md)
+- [SQL Sink](./plugin/sql.md)
 
 
 为了激活更新功能,Sink 必须设置 `rowkindField` 属性,以指定数据中的哪个字段代表要采取的动作。在下面的例子中,`rowkindField` 被设置为 `action`。
 为了激活更新功能,Sink 必须设置 `rowkindField` 属性,以指定数据中的哪个字段代表要采取的动作。在下面的例子中,`rowkindField` 被设置为 `action`。
 
 
@@ -115,10 +116,10 @@
 
 
 ### 流程
 ### 流程
 
 
-每个sink都可以配置自己的缓存机制。每个 sink 的缓存流程是相同的。如果启用了缓存,所有 sink 的事件都会经过两个阶段:首先是将所有内容保存到缓存中;然后在收到ack后删除缓存。
+每个 sink 都可以配置自己的缓存机制。每个 sink 的缓存流程是相同的。如果启用了缓存,所有 sink 的事件都会经过两个阶段:首先是将所有内容保存到缓存中;然后在收到 ack 后删除缓存。
 
 
 - 错误检测:发送失败后,sink应该通过返回特定的错误类型来识别可恢复的失败(网络等),这将返回一个失败的ack,这样缓存就可以被保留下来。对于成功的发送或不可恢复的错误,将发送一个成功的 ack 来删除缓存。
 - 错误检测:发送失败后,sink应该通过返回特定的错误类型来识别可恢复的失败(网络等),这将返回一个失败的ack,这样缓存就可以被保留下来。对于成功的发送或不可恢复的错误,将发送一个成功的 ack 来删除缓存。
-- 缓存机制:缓存将首先被保存在内存中。如果超过了内存的阈值,后面的缓存将被保存到磁盘中。一旦磁盘缓存超过磁盘存储阈值,缓存将开始rotate,即内存中最早的缓存将被丢弃,并加载磁盘中最早的缓存来代替。
+- 缓存机制:缓存将首先被保存在内存中。如果超过了内存的阈值,后面的缓存将被保存到磁盘中。一旦磁盘缓存超过磁盘存储阈值,缓存将开始 rotate,即内存中最早的缓存将被丢弃,并加载磁盘中最早的缓存来代替。
 - 重发策略:目前缓存机制仅可运行在默认的同步模式中,如果有一条消息正在发送中,则会等待发送的结果以继续发送下个缓存数据。否则,当有新的数据到来时,发送缓存中的第一个数据以检测网络状况。如果发送成功,将按顺序链式发送所有内存和磁盘中的所有缓存。链式发送可定义一个发送间隔,防止形成消息风暴。
 - 重发策略:目前缓存机制仅可运行在默认的同步模式中,如果有一条消息正在发送中,则会等待发送的结果以继续发送下个缓存数据。否则,当有新的数据到来时,发送缓存中的第一个数据以检测网络状况。如果发送成功,将按顺序链式发送所有内存和磁盘中的所有缓存。链式发送可定义一个发送间隔,防止形成消息风暴。
 
 
 ### 配置
 ### 配置
@@ -127,9 +128,9 @@ Sink 缓存的配置有两个层次。`etc/kuiper.yaml` 中的全局配置,定
 
 
 - enableCache:是否启用sink cache。缓存存储配置遵循 `etc/kuiper.yaml` 中定义的元数据存储的配置。
 - enableCache:是否启用sink cache。缓存存储配置遵循 `etc/kuiper.yaml` 中定义的元数据存储的配置。
 - memoryCacheThreshold:要缓存在内存中的消息数量。出于性能方面的考虑,最早的缓存信息被存储在内存中,以便在故障恢复时立即重新发送。这里的数据会因为断电等故障而丢失。
 - memoryCacheThreshold:要缓存在内存中的消息数量。出于性能方面的考虑,最早的缓存信息被存储在内存中,以便在故障恢复时立即重新发送。这里的数据会因为断电等故障而丢失。
-- maxDiskCache: 缓存在磁盘中的信息的最大数量。磁盘缓存是先进先出的。如果磁盘缓存满了,最早的一页信息将被加载到内存缓存中,取代旧的内存缓存。
-- bufferPageSize缓冲页是批量读/写到磁盘的单位,以防止频繁的IO。如果页面未满,eKuiper 因硬件或软件错误而崩溃,最后未写入磁盘的页面将被丢失。
-- resendInterval: 故障恢复后重新发送信息的时间间隔,防止信息风暴。
+- maxDiskCache缓存在磁盘中的信息的最大数量。磁盘缓存是先进先出的。如果磁盘缓存满了,最早的一页信息将被加载到内存缓存中,取代旧的内存缓存。
+- bufferPageSize缓冲页是批量读/写到磁盘的单位,以防止频繁的IO。如果页面未满,eKuiper 因硬件或软件错误而崩溃,最后未写入磁盘的页面将被丢失。
+- resendInterval故障恢复后重新发送信息的时间间隔,防止信息风暴。
 - cleanCacheAtStop:是否在规则停止时清理所有缓存,以防止规则重新启动时对过期消息进行大量重发。如果不设置为true,一旦规则停止,内存缓存将被存储到磁盘中。否则,内存和磁盘规则会被清理掉。
 - cleanCacheAtStop:是否在规则停止时清理所有缓存,以防止规则重新启动时对过期消息进行大量重发。如果不设置为true,一旦规则停止,内存缓存将被存储到磁盘中。否则,内存和磁盘规则会被清理掉。
 
 
 在以下规则的示例配置中,log sink 没有配置缓存相关选项,因此将会采用全局默认配置;而 mqtt sink 进行了自身缓存策略的配置。
 在以下规则的示例配置中,log sink 没有配置缓存相关选项,因此将会采用全局默认配置;而 mqtt sink 进行了自身缓存策略的配置。
@@ -155,7 +156,7 @@ Sink 缓存的配置有两个层次。`etc/kuiper.yaml` 中的全局配置,定
 ```
 ```
 
 
 ## 资源引用
 ## 资源引用
- 
+
 像源一样,动作也支持配置复用,用户只需要在 sinks 文件夹中创建与目标动作同名的 yaml 文件并按照源一样的形式写入配置。
 像源一样,动作也支持配置复用,用户只需要在 sinks 文件夹中创建与目标动作同名的 yaml 文件并按照源一样的形式写入配置。
 
 
 例如,针对 MQTT 动作场景, 用户可以在 sinks 目录下创建 mqtt.yaml 文件,并写入如下内容
 例如,针对 MQTT 动作场景, 用户可以在 sinks 目录下创建 mqtt.yaml 文件,并写入如下内容

+ 2 - 2
docs/zh_CN/guide/sinks/plugin/image.md

@@ -23,7 +23,7 @@
 
 
 ## 使用示例
 ## 使用示例
 
 
-下面示例演示接收图片并将图片保存到文件夹 `/tmp`  中,当图片数量超过1000张时,删除时间较早的图片;当图片保存时长超过72小时时,删除超时的图片。
+下面示例演示接收图片并将图片保存到文件夹 `/tmp`  中,当图片数量超过1000张时,删除时间较早的图片;图片保存时长超过 72 小时后,将删除超时的图片。
 
 
 ```json
 ```json
 {
 {
@@ -43,7 +43,7 @@
 
 
 ## 演示
 ## 演示
 
 
-下面以`zmq`插件为`source`,`image`插件为`sink`,将`zmq`接受到的图片保存在`image`指定的文件夹中。
+下面以 `zmq` 插件为 `source`,`image` 插件为 `sink`,将 `zmq` 接受到的图片保存在 `image` 指定的文件夹中。
 
 
 ```shell
 ```shell
 curl http://127.0.0.1:9081/streams -X POST -d '{"sql":"create stream s(image bytea)WITH(DATASOURCE = \"\",FORMAT=\"binary\", TYPE=\"zmq\");"}'
 curl http://127.0.0.1:9081/streams -X POST -d '{"sql":"create stream s(image bytea)WITH(DATASOURCE = \"\",FORMAT=\"binary\", TYPE=\"zmq\");"}'

+ 11 - 11
docs/zh_CN/guide/sinks/plugin/influx.md

@@ -1,7 +1,7 @@
 # InfluxDB 目标(Sink)
 # InfluxDB 目标(Sink)
 
 
 该插件将分析结果发送到 InfluxDB 中。
 该插件将分析结果发送到 InfluxDB 中。
-## 编译插件&创建插件
+## 编译部署插件
 
 
 在编译之前,请对源代码做如下更改:
 在编译之前,请对源代码做如下更改:
 
 
@@ -23,21 +23,21 @@
 
 
 | 属性名称         | 会否可选 | 说明               |
 | 属性名称         | 会否可选 | 说明               |
 |--------------|------|------------------|
 |--------------|------|------------------|
-| addr         | 是    | InfluxDB的地址      |
-| measurement  | 是    | InfluxDb的测量(如表名) |
-| username     | 否    | InfluxDB登陆用户名    |
-| password     | 否    | InfluxDB登陆密码     |
-| databasename | 是    | InfluxDB的数据库     |
-| tagkey       | 是    | InfluxDB的标签键     |
-| tagvalue     | 是    | InfluxDB的标签值     |
+| addr         | 是    | InfluxDB 的地址      |
+| measurement  | 是    | InfluxDb 的测量(如表名) |
+| username     | 否    | InfluxDB 登陆用户名    |
+| password     | 否    | InfluxDB 登陆密码     |
+| databasename | 是    | InfluxDB 数据库名称     |
+| tagkey       | 是    | InfluxDB 的标签键     |
+| tagvalue     | 是    | InfluxDB 的标签值     |
 
 
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 
 
 ## 示例用法
 ## 示例用法
 
 
-下面是选择温度大于50度的样本规则,和一些配置文件仅供参考。
+下面是选择温度大于 50 度的样本规则,和一些配置文件仅供参考。
 
 
-### ####/tmp/influxRule.txt
+### /tmp/influxRule.txt
 ```json
 ```json
 {
 {
   "id": "influx",
   "id": "influx",
@@ -59,7 +59,7 @@
   ]
   ]
 }
 }
 ```
 ```
-### ####/tmp/influxPlugin.txt
+### /tmp/influxPlugin.txt
 ```json
 ```json
 {
 {
   "file":"http://localhost:8080/influx.zip"
   "file":"http://localhost:8080/influx.zip"

+ 11 - 11
docs/zh_CN/guide/sinks/plugin/influx2.md

@@ -1,7 +1,7 @@
 # InfluxDB 目标(Sink)
 # InfluxDB 目标(Sink)
 
 
 该插件将分析结果发送到 InfluxDB V2.X 中。
 该插件将分析结果发送到 InfluxDB V2.X 中。
-## 编译插件&创建插件
+## 编译部署插件
 
 
 在编译之前,请对源代码做如下更改:
 在编译之前,请对源代码做如下更改:
 
 
@@ -51,15 +51,15 @@ $(PLUGINS_CUSTOM):
 
 
 ## 属性
 ## 属性
 
 
-| 属性名称        | 否可选 | 说明                 |
+| 属性名称        | 否可选 | 说明                 |
 |-------------|------|--------------------|
 |-------------|------|--------------------|
-| addr        | 是    | InfluxDB的地址        |
-| measurement | 是    | InfluxDb的测量(如表名)   |
-| org         | 否    | InfluxDB存储组织       |
-| bucket      | 否    | InfluxDB存储bucket   |
-| token       | 否    | InfluxDB访问Token    |
-| tagKey      | 是    | InfluxDB的标签键       |
-| tagValue    | 是    | InfluxDB的标签值       |
+| addr        | 是    | InfluxDB 的地址        |
+| measurement | 是    | InfluxDB 的测量(如表名)   |
+| org         | 否    | InfluxDB 存储组织       |
+| bucket      | 否    | InfluxDB 存储 Bucket   |
+| token       | 否    | InfluxDB 访问 Token    |
+| tagKey      | 是    | InfluxDB 的标签键       |
+| tagValue    | 是    | InfluxDB 的标签值       |
 
 
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 
 
@@ -67,7 +67,7 @@ $(PLUGINS_CUSTOM):
 
 
 下面是选择温度大于50度的样本规则,和一些配置文件仅供参考。
 下面是选择温度大于50度的样本规则,和一些配置文件仅供参考。
 
 
-### ####/tmp/influxRule.txt
+### /tmp/influxRule.txt
 ```json
 ```json
 {
 {
   "id": "influx",
   "id": "influx",
@@ -89,7 +89,7 @@ $(PLUGINS_CUSTOM):
   ]
   ]
 }
 }
 ```
 ```
-### ####/tmp/influxPlugin.txt
+### /tmp/influxPlugin.txt
 ```json
 ```json
 {
 {
   "file":"http://localhost:8080/influx2.zip"
   "file":"http://localhost:8080/influx2.zip"

+ 4 - 2
docs/zh_CN/guide/sinks/plugin/kafka.md

@@ -30,7 +30,7 @@ RUN go env -w GOPROXY=https://goproxy.cn,direct
 RUN make plugins_c
 RUN make plugins_c
 CMD ["sleep","3600"]
 CMD ["sleep","3600"]
 ```
 ```
-在Makefile中添加:
+在 Makefile 中添加:
 ```
 ```
 PLUGINS_CUSTOM := sinks/kafka
 PLUGINS_CUSTOM := sinks/kafka
 
 
@@ -51,7 +51,7 @@ $(PLUGINS_CUSTOM):
 |-------------------|------|--------------------------------|
 |-------------------|------|--------------------------------|
 | brokers           | 否    | broker地址列表 ,用 "," 分割           |
 | brokers           | 否    | broker地址列表 ,用 "," 分割           |
 | topic             | 否    | kafka 主题                       |
 | topic             | 否    | kafka 主题                       |
-| saslAuthType      | 否    | sasl 认证类型 , 支持none,plain,scram |
+| saslAuthType      | 否    | sasl 认证类型 , 支持none,plain,scram |
 | saslUserName      | 是    | sasl 用户名                       |
 | saslUserName      | 是    | sasl 用户名                       |
 | saslPassword      | 是    | sasl 密码                        |
 | saslPassword      | 是    | sasl 密码                        |
 
 
@@ -63,6 +63,7 @@ $(PLUGINS_CUSTOM):
 下面是选择温度大于50度的样本规则,和一些配置文件仅供参考。
 下面是选择温度大于50度的样本规则,和一些配置文件仅供参考。
 
 
 ### /tmp/kafkaRule.txt
 ### /tmp/kafkaRule.txt
+
 ```json
 ```json
 {
 {
   "id": "kafka",
   "id": "kafka",
@@ -82,6 +83,7 @@ $(PLUGINS_CUSTOM):
 }
 }
 ```
 ```
 ### /tmp/kafkaPlugin.txt
 ### /tmp/kafkaPlugin.txt
+
 ```json
 ```json
 {
 {
   "file":"http://localhost:8080/kafka.zip"
   "file":"http://localhost:8080/kafka.zip"

+ 14 - 14
docs/zh_CN/guide/sinks/plugin/sql.md

@@ -1,11 +1,11 @@
-# Sql 目标(Sink)
+# SQL 目标(Sink)
 
 
-此插件将结果写入数据库
+此插件将结果写入 SQL 数据库
 
 
 ## 编译部署插件
 ## 编译部署插件
 
 
-此插件必须与至少一个数据库驱动程序一起使用。我们使用构建标签来确定将包含哪个驱动程序。[此处](https://github.com/lf-edge/ekuiper/tree/master/extensions/sqldatabase/driver)列出了所有支持的驱动程序。
-该插件默认支持 `sqlserver\postgres\mysql\sqlite3\oracle` 驱动。用户可以自己编译只支持一个驱动的插件,例如如果他只想要 mysql,那么他可以用 build tag mysql 构建。
+此插件必须与至少一个数据库驱动程序一起使用。我们使用构建标签来确定将包含哪个驱动程序。[eKuiper - SQL 数据库插件 GitHub 页面](https://github.com/lf-edge/ekuiper/tree/master/extensions/sqldatabase/driver)列出了所有支持的驱动程序。
+该插件默认支持 `sqlserver\postgres\mysql\sqlite3\oracle` 驱动。用户可以自己编译只支持一个驱动的插件,例如如果他只想要 MySQL,那么他可以用 build tag mysql 构建。
 
 
 ### 默认构建指令
 ### 默认构建指令
 ```shell
 ```shell
@@ -14,7 +14,7 @@
 # cp plugins/sinks/Sql.so $eKuiper_install/plugins/sinks
 # cp plugins/sinks/Sql.so $eKuiper_install/plugins/sinks
 ```
 ```
 
 
-### MySql 构建指令 
+### MySQL 构建指令 
 ```shell
 ```shell
 # cd $eKuiper_src
 # cd $eKuiper_src
 # go build -trimpath --buildmode=plugin -tags mysql -o plugins/sinks/Sql.so extensions/sinks/sql/sql.go
 # go build -trimpath --buildmode=plugin -tags mysql -o plugins/sinks/Sql.so extensions/sinks/sql/sql.go
@@ -22,21 +22,21 @@
 ```
 ```
 
 
 
 
-## Properties
+## 属性
 
 
-| Property name  | Optional | Description                                 |
-|----------------|----------|---------------------------------------------|
-| url            | false    | 目标数据库的url                                   |
-| table          | false    | 结果的表名                                       |
-| fields         | true     | 要插入的字段。结果映射和数据库都应该有这些字段。如果未指定,将插入结果映射中的所有字段 |
-| tableDataField | true     | 将 tableDataField 的嵌套值写入数据库。                 |
-| rowkindField   | true     | 指定哪个字段表示操作,例如插入或更新。如果不指定,默认所有的数据都是插入操作      |
+| 属性名称  | 是否可选 | 说明                                                  |
+| -------------- | -------- | ------------------------------------------------------------ |
+| url            | 否    | 目标数据库的 url                                             |
+| table          | 否    | 结果的表名                                                   |
+| fields         |      | 要插入的字段。结果映射和数据库都应该有这些字段。如果未指定,将插入结果映射中的所有字段 |
+| tableDataField |      | 将 tableDataField 的嵌套值写入数据库。                       |
+| rowkindField   |      | 指定哪个字段表示操作,例如插入或更新。如果不指定,默认所有的数据都是插入操作 |
 
 
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 
 
 ## 使用样例
 ## 使用样例
 
 
-下面是一个获取目标数据并写入 mysql 数据库的示例
+下面是一个获取目标数据并写入 MySQL 数据库的示例
 
 
 ```json
 ```json
 {
 {

+ 6 - 5
docs/zh_CN/guide/sinks/plugin/tdengine.md

@@ -1,3 +1,5 @@
+# TDengine 目标 (Sink)
+
 ## 编译插件
 ## 编译插件
 
 
 在 eKuiper 项目主目录运行如下命令:
 在 eKuiper 项目主目录运行如下命令:
@@ -5,15 +7,15 @@
 ```shell
 ```shell
 go build -trimpath --buildmode=plugin -o plugins/sinks/Tdengine@v1.0.0.so extensions/sinks/tdengine/tdengine.go
 go build -trimpath --buildmode=plugin -o plugins/sinks/Tdengine@v1.0.0.so extensions/sinks/tdengine/tdengine.go
 ```
 ```
-### 安装插件
+## 安装插件
 
 
-由于 tdengine 插件的运行依赖于 tdengine 客户端,为了便于用户使用,安装插件时将下载 tdengine 客户端。但是 tdengine 客户端版本与其服务器版本一一对应,互不兼容,所以用户必须告知所用 tdengine 服务器版本。
+由于 TDengine 插件的运行依赖于 TDengine 客户端,为了便于用户使用,安装插件时将下载 TDengine 客户端。但是 TDengine 客户端版本与其服务器版本一一对应,互不兼容,所以用户必须告知所用 TDengine 服务器版本。
 
 
 ## 规则 Actions 说明
 ## 规则 Actions 说明
 
 
-由于 tdengine 数据库要求表中必须有时间戳字段,所以用户必须告知数据表的时间戳字段名称(必填tsFieldName)。用户可以选择是否提供时间戳数据,若不提供(provideTs=false),时间戳字段的内容由 tdengine 数据库自动生成。
+由于 TDengine 数据库要求表中必须有时间戳字段,所以用户必须告知数据表的时间戳字段名称(必填tsFieldName)。用户可以选择是否提供时间戳数据,若不提供(provideTs=false),时间戳字段的内容由 TDengine 数据库自动生成。
 
 
-| 名称             | 类型       | 是否必填 | 释义                                                                                                    |
+| 名称             | 类型       | 是否必填 | 说明                                                                                                    |
 |----------------|----------|------|-------------------------------------------------------------------------------------------------------|
 |----------------|----------|------|-------------------------------------------------------------------------------------------------------|
 | host           | string   | 否    | 数据库域名,其值必须为域名,即 [FQDN](https://www.taosdata.com/blog/2020/09/11/1824.html),不能为 IP 地址。其默认值为 localhost。 |
 | host           | string   | 否    | 数据库域名,其值必须为域名,即 [FQDN](https://www.taosdata.com/blog/2020/09/11/1824.html),不能为 IP 地址。其默认值为 localhost。 |
 | port           | int      | 是    | 数据库端口                                                                                                 |
 | port           | int      | 是    | 数据库端口                                                                                                 |
@@ -123,4 +125,3 @@ curl --location --request POST 'http://127.0.0.1:9081/rules' --header 'Content-T
 }
 }
 ```
 ```
 
 
-

+ 7 - 7
docs/zh_CN/guide/sinks/plugin/zmq.md

@@ -1,6 +1,6 @@
-# Zmq 目标(Sink)
+# ZeroMQ 目标(Sink)
 
 
-目标(Sink)会将结果发布到 Zero Mq 主题中。
+目标(Sink)会将结果发布到 ZeroMQ 主题中。
 
 
 ## 编译和部署插件
 ## 编译和部署插件
 
 
@@ -14,16 +14,16 @@
 
 
 ## 属性
 ## 属性
 
 
-| 属性名称   | Optional | Description             |
-|--------|----------|-------------------------|
-| server | false    | Zero Mq 服务器的 URL        |
-| topic  | true     | The topic to publish to |
+| 属性名称 | 是否可选 | 说明       |
+| -------- | -------- | ------------------- |
+| server   | 否    | ZeroMQ 服务器的 URL |
+| topic    | 是     | 待发送的主题        |
 
 
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 其他通用的 sink 属性也支持,请参阅[公共属性](../overview.md#公共属性)。
 
 
 ## 使用示例
 ## 使用示例
 
 
-下面是一个选择温度大于50度的示例,并将结果发布到 Zero Mq 主题 "temp"。
+下面是一个选择温度大于 50 度的示例,并将结果发布到 ZeroMQ 主题 "temp"。
 
 
 ```json
 ```json
 {
 {