This is an automated email from the ASF dual-hosted git repository.
pandaapo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/eventmesh.git
The following commit(s) were added to refs/heads/master by this push:
new d66ebe6b9 [ISSUE #4665] Optimize and sync recent new connectors' docs
(#4668)
d66ebe6b9 is described below
commit d66ebe6b9092dda30fb653f1bcb3aba1ebcf13aa
Author: Pil0tXia <[email protected]>
AuthorDate: Sun Dec 17 17:04:12 2023 +0800
[ISSUE #4665] Optimize and sync recent new connectors' docs (#4668)
* Unify 'LiteMessage' to 'EventMeshMessage'
* Sync connectors doc
* Format RabbitMQ & 企业微信
* Format Slack & 钉钉
* Format HTTP & MongoDB
* Unify 'EventMesh Runtime'
* Unify 'EventMesh'
* Fix translation
https://github.com/apache/eventmesh/pull/4664#discussion_r1428716801
* Explain additional attributes
https://github.com/apache/eventmesh/pull/4591#discussion_r1411598889
* Append: Unify remaining 'EventMesh'
* Beautify meshAddress
* Add and correct attributes
---
.../eventmesh/common/EventMeshMessageTest.java | 12 +++---
eventmesh-connectors/README.md | 36 ++++++++++++++++--
eventmesh-connectors/README_CN.md | 36 ++++++++++++++++--
.../eventmesh-connector-dingtalk/README.md | 22 +++++++----
.../eventmesh-connector-dingtalk/README_CN.md | 22 +++++++----
.../eventmesh-connector-http/README.md | 9 ++++-
.../eventmesh-connector-http/README_CN.md | 24 +++++++-----
.../eventmesh-connector-lark/README.md | 15 ++++----
.../eventmesh-connector-lark/README_CN.md | 43 +++++++++++-----------
.../eventmesh-connector-mongodb/README.md | 17 +++++----
.../eventmesh-connector-mongodb/README_CN.md | 15 ++++----
.../eventmesh-connector-rabbitmq/README.md | 18 +++++----
.../eventmesh-connector-rabbitmq/README_CN.md | 17 +++++----
.../eventmesh-connector-slack/README.md | 12 +++---
.../eventmesh-connector-slack/README_CN.md | 12 +++---
.../eventmesh-connector-wecom/README.md | 20 +++++++---
.../eventmesh-connector-wecom/README_CN.md | 20 +++++++---
17 files changed, 232 insertions(+), 118 deletions(-)
diff --git
a/eventmesh-common/src/test/java/org/apache/eventmesh/common/EventMeshMessageTest.java
b/eventmesh-common/src/test/java/org/apache/eventmesh/common/EventMeshMessageTest.java
index c6d25ea3a..d6a9a2232 100644
---
a/eventmesh-common/src/test/java/org/apache/eventmesh/common/EventMeshMessageTest.java
+++
b/eventmesh-common/src/test/java/org/apache/eventmesh/common/EventMeshMessageTest.java
@@ -27,13 +27,13 @@ public class EventMeshMessageTest {
@Test
public void testGetProp() {
- EventMeshMessage message = createLiteMessage();
+ EventMeshMessage message = createEventMeshMessage();
Assertions.assertEquals(2L, message.getProp().size());
}
@Test
public void testSetProp() {
- EventMeshMessage message = createLiteMessage();
+ EventMeshMessage message = createEventMeshMessage();
Map<String, String> prop = new HashMap<>();
prop.put("key3", "value3");
message.setProp(prop);
@@ -43,7 +43,7 @@ public class EventMeshMessageTest {
@Test
public void testAddProp() {
- EventMeshMessage message = createLiteMessage();
+ EventMeshMessage message = createEventMeshMessage();
message.addProp("key3", "value3");
Assertions.assertEquals(3L, message.getProp().size());
Assertions.assertEquals("value1", message.getProp("key1"));
@@ -51,19 +51,19 @@ public class EventMeshMessageTest {
@Test
public void testGetPropKey() {
- EventMeshMessage message = createLiteMessage();
+ EventMeshMessage message = createEventMeshMessage();
Assertions.assertEquals("value1", message.getProp("key1"));
}
@Test
public void testRemoveProp() {
- EventMeshMessage message = createLiteMessage();
+ EventMeshMessage message = createEventMeshMessage();
message.removePropIfPresent("key1");
Assertions.assertEquals(1L, message.getProp().size());
Assertions.assertNull(message.getProp("key1"));
}
- private EventMeshMessage createLiteMessage() {
+ private EventMeshMessage createEventMeshMessage() {
Map<String, String> prop = new HashMap<>();
prop.put("key1", "value1");
prop.put("key2", "value2");
diff --git a/eventmesh-connectors/README.md b/eventmesh-connectors/README.md
index 1ad429e10..bd89b2a58 100644
--- a/eventmesh-connectors/README.md
+++ b/eventmesh-connectors/README.md
@@ -2,22 +2,52 @@
## Connector
-A connector is a bridge that interacts with a specific external service or
underlying data source (e.g., Databases) on behalf of user applications. A
connector is either a Source or a Sink.
+A connector is an image or instance that interacts with a specific external
service or underlying data source (e.g., Databases) on behalf of user
applications. A connector is either a Source or a Sink.
## Source
A source connector obtains data from an underlying data producer, and delivers
it to targets after original data has been transformed into CloudEvents. It
doesn't limit the way how a source retrieves data. (e.g., A source may pull
data from a message queue or act as an HTTP server waiting for data sent to it).
-CloudEvents is a specification for describing event data in common formats to
provide interoperability across services, platforms and systems.
-
## Sink
A sink connector receives CloudEvents and does some specific business logics.
(e.g., A MySQL Sink extracts useful data from CloudEvents and writes them to a
MySQL database).
+## CloudEvents
+
+A specification for describing event data in common formats to provide
interoperability across services, platforms and systems.
+
## Implements
Add a new connector by implementing the source/sink interface using
[eventmesh-openconnect-java](https://github.com/apache/eventmesh/tree/master/eventmesh-openconnect/eventmesh-openconnect-java).
+## Technical Solution
+
+### Structure and process
+
+
+
+### Design Detail
+
+
+
+### Description
+
+#### Worker
+
+Worker is divided into Source Worker and Sink Worker, which are triggered by
the `Application` class and implement the methods of the `ConnectorWorker`
interface respectively, which include the worker's running life cycle, and the
worker carries the running of the connector. Workers can be lightweight and
independent through mirroring Running, the eventmesh-sdk-java module is
integrated internally, and the CloudEvents protocol is used to interact with
EventMesh. Currently, the TCP client [...]
+
+#### Connector
+
+Connectors are divided into Source Connector and Sink Connector. Connectors
have their own configuration files and run independently. Workers perform
reflective loading and configuration analysis to complete Connector
initialization and subsequent operation. Source Connector implements the poll
method, and Sink Connector implements The put method uniformly uses
`ConnectorRecord` to carry data. Both Source Connector and Sink Connector can
operate independently.
+
+#### ConnectorRecord with CloudEvents
+
+`ConnectorRecord` is a connector layer data protocol. When workers interact
with EventMesh, a protocol adapter needs to be developed to convert
`ConnectorRecord` to CloudEvents protocol.
+
+#### Registry
+
+The Registry module is responsible for storing the synchronization progress of
synchronizing data of different Connector instances, ensuring high availability
between multiple Connector images or instances.
+
## Connector Status
| Connector Name | Source | Sink |
diff --git a/eventmesh-connectors/README_CN.md
b/eventmesh-connectors/README_CN.md
index 2fc5c123f..626921323 100644
--- a/eventmesh-connectors/README_CN.md
+++ b/eventmesh-connectors/README_CN.md
@@ -2,22 +2,52 @@
## 连接器类型
-一个连接器就是一座桥梁,代表用户应用程序与特定的外部服务或底层数据源(例如数据库)进行交互。连接器的类型可以是源(Source)或汇(Sink)。
+连接器是代表用户应用程序与特定外部服务或底层数据源(例如数据库)交互的镜像或实例。连接器的类型可以是源(Source)或汇(Sink)。
## 数据源(Source 端)
源连接器从底层数据生产者获取数据,并在原始数据被转换为 CloudEvents
后将其传递给目标。源连接器不限制源如何检索数据(例如,源可以从消息队列中获取数据,也可以充当等待接收数据的 HTTP 服务器)。
-CloudEvents 是一种以通用格式描述事件数据的规范,以提供服务、平台和系统之间的互操作性。
-
## 数据汇(Sink 端)
汇连接器接收 CloudEvents 并执行特定的业务逻辑(例如,MySQL 的汇连接器从 CloudEvents 中提取有用的数据,并将其写入 MySQL
数据库)。
+## CloudEvents
+
+CloudEvents 是一种以通用格式描述事件数据的规范,以提供服务、平台和系统之间的互操作性。
+
## 实现连接器
使用
[eventmesh-openconnect-java](https://github.com/apache/eventmesh/tree/master/eventmesh-openconnect/eventmesh-openconnect-java)
实现 Source/Sink 接口即可添加新的连接器。
+## 技术方案
+
+### 结构与处理流程
+
+
+
+### 详细设计
+
+
+
+### 描述
+
+#### Worker
+
+Worker 分为 Source Worker 与 Sink
Worker,由`Application`类进行触发运行,分别实现了`ConnectorWorker`接口的方法,其中包含了 worker
的运行生命周期,worker 承载了 connector 的运行。Worker 可以通过镜像的方式轻量的独立运行,内部集成了
eventmesh-sdk-java 模块,采用 CloudEvents 协议与 EventMesh 进行交互,目前默认采用 TCP
客户端,后续可以考虑支持动态可配。
+
+#### Connector
+
+Connector 分为 Source Connector 与 Sink Connector,connector 有各自的配置文件,以及独立运行的方式,通过
worker 进行反射加载与配置解析,完成 Connector 的初始化以及后续运行工作,其中 Source Connector 实现 poll
方法,Sink Connector 实现 put 方法,统一使用`ConnectorRecord`承载数据。Source Connector 与 Sink
Connector 均可独立运行。
+
+#### ConnectorRecord with CloudEvents
+
+`ConnectorRecord`为 connector 层数据协议,当 worker 与 EventMesh
进行交互时需开发协议适配器进行`ConnectorRecord`到 CloudEvents 的协议转换。
+
+#### Registry
+
+`Registry`模块负责存储同步不同 Connector 实例的数据的同步进度,确保多个 Connector 镜像或实例之间的高可用。
+
## 连接器实现状态
| 连接器名称 | 源 | 汇 |
diff --git a/eventmesh-connectors/eventmesh-connector-dingtalk/README.md
b/eventmesh-connectors/eventmesh-connector-dingtalk/README.md
index 40c7111d5..4e3b729a1 100644
--- a/eventmesh-connectors/eventmesh-connector-dingtalk/README.md
+++ b/eventmesh-connectors/eventmesh-connector-dingtalk/README.md
@@ -1,14 +1,15 @@
-# eventmesh-connector-dingtalk
+# DingTalk
-## DingtalkSinkConnector:from eventmesh to dingtalk。
+## DingtalkSinkConnector: From EventMesh to DingTalk
-1. launch your eventmesh-runtime.
+1. launch your EventMesh Runtime.
2. enable sinkConnector and check `sink-config.yml`.
-3. send a message to eventmesh with the topic defined in `pubSubConfig.subject`
+3. send a message to EventMesh with the topic defined in `pubSubConfig.subject`
+
```yaml
pubSubConfig:
- # default port is 10000
- meshAddress: 127.0.0.1:10000
+ # default port 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-DINGTALK
idc: FT
env: PRD
@@ -23,4 +24,11 @@ sinkConnectorConfig:
appSecret: dingTalkAppSecret
openConversationId: dingTalkOpenConversationId
robotCode: dingTalkRobotCode
-```
\ No newline at end of file
+```
+
+### CloudEvent Attributes
+
+When using the eventmesh-connector-dingtalk sinking event, you need to add the
corresponding extension filed in CloudEvent:
+
+- When key=`dingtalktemplatetype`, value=`text`/`markdown`, indicating the
text type of the event.
+- When text type is markdown, you can add extension:
key=`dingtalkmarkdownmessagetitle`, value indicates the title of the event.
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-dingtalk/README_CN.md
b/eventmesh-connectors/eventmesh-connector-dingtalk/README_CN.md
index 26ca8cdad..1228a9ea2 100644
--- a/eventmesh-connectors/eventmesh-connector-dingtalk/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-dingtalk/README_CN.md
@@ -1,14 +1,15 @@
-# eventmesh-connector-dingtalk
+# 钉钉
-## DingtalkSinkConnector:从 eventmesh 到 dingtalk。
+## DingtalkSinkConnector:从 EventMesh 到钉钉
-1. 启动你的 eventmesh-runtime。
+1. 启动你的 EventMesh Runtime。
2. 启用 sinkConnector 并检查 `sink-config.yml`。
-3. 向 eventmesh 发送带有在 `pubSubConfig.subject` 中定义的主题消息。
+3. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息。
+
```yaml
pubSubConfig:
- # 默认端口10000
- meshAddress: 127.0.0.1:10000
+ # 默认端口 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-DINGTALK
idc: FT
env: PRD
@@ -23,4 +24,11 @@ sinkConnectorConfig:
appSecret: dingTalkAppSecret
openConversationId: dingTalkOpenConversationId
robotCode: dingTalkRobotCode
-```
\ No newline at end of file
+```
+
+### CloudEvent 属性
+
+使用 eventmesh-connector-dingtalk 下沉事件时,需要在 CloudEvent 中添加对应的 extension filed:
+
+- 当 key=`dingtalktemplatetype`时,value=`text`/`markdown`,表明该事件的文本类型。
+- 当文本类型 `dingtalktemplatetype` 为 markdown 时,可以为文本设置标题。添加
extension:key=`dingtalkmarkdownmessagetitle`,value 为该事件的标题。
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-http/README.md
b/eventmesh-connectors/eventmesh-connector-http/README.md
index 229dd3c59..7572c4e5d 100644
--- a/eventmesh-connectors/eventmesh-connector-http/README.md
+++ b/eventmesh-connectors/eventmesh-connector-http/README.md
@@ -1,4 +1,4 @@
-# eventmesh-connector-http
+# HTTP
## 1 HTTP Source Connector
@@ -14,13 +14,15 @@ Before using HTTP source connector, you need to configure
the server.
### 1.2 Startup
-1. start eventmesh-runtime
+1. start EventMesh Runtime
2. start eventmesh-connector-http
When finished, the HTTP source connector will act as an HTTP server.
### 1.3 Sending messages
+
You can send messages to the source connector via HTTP.
+
```yaml
connectorConfig:
connectorName: httpSource
@@ -28,6 +30,7 @@ connectorConfig:
port: 3755
idleTimeout: 5
```
+
The above example configures a URL `http://localhost:3755/test` in
`source-config.yml`.
You can send messages in `binary` mode or `structured` mode as specified in
[cloudevent-spec](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md).
@@ -35,6 +38,7 @@ You can send messages in `binary` mode or `structured` mode
as specified in [clo
Here are two examples:
1. Sending a message in `binary` mode.
+
```shell
curl --location --request POST 'http://localhost:3755/test' \
--header 'ce-id: 1' \
@@ -47,6 +51,7 @@ curl --location --request POST 'http://localhost:3755/test' \
```
2. Sending a message in `structured` mode.
+
```shell
curl --location --request POST 'http://localhost:3755/test' \
--header 'Content-Type: application/cloudevents+json' \
diff --git a/eventmesh-connectors/eventmesh-connector-http/README_CN.md
b/eventmesh-connectors/eventmesh-connector-http/README_CN.md
index 52843b78c..a2062c886 100644
--- a/eventmesh-connectors/eventmesh-connector-http/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-http/README_CN.md
@@ -1,25 +1,28 @@
-# eventmesh-connector-http
+# HTTP
## 1 HTTP Source Connector
### 1.1 配置
+
使用 HTTP source connector 前,需要进行 server 的配置。
- 请在 `/resource/server-config.yml` 中配置 `sourceEnable`为`true` 以开启 source 功能。
- 请在 `/resource/source-config.yml`中配置 source connector, 在此仅说明
`connectorConfig` 下的配置:
- - `connectorName`, connector的名称
- - (必需) `path`, 接口的路径
- - (必需) `port`, 接口的端口
- - `idleTimeout`, 空闲TCP连接超时时间,单位为秒。超过 `idleTimeout`
秒没有进行数据接收或发送的连接将会发生超时并被关闭。默认为0, 不会发生超时。
+ - `connectorName`, connector 的名称
+ - (必需) `path`, 接口的路径
+ - (必需) `port`, 接口的端口
+ - `idleTimeout`, 空闲 TCP 连接超时时间,单位为秒。超过 `idleTimeout`
秒没有进行数据接收或发送的连接将会发生超时并被关闭。默认为 0, 不会发生超时。
### 1.2 启动
-1. 启动 eventmesh-runtime
+1. 启动 EventMesh Runtime
2. 启动 eventmesh-connector-http
完成后,HTTP source connector 会作为一个 HTTP 服务器对外提供服务。
### 1.3 发送消息
-你可以通过HTTP向 source connector 发送消息。
+
+你可以通过 HTTP 向 source connector 发送消息。
+
```yaml
connectorConfig:
connectorName: httpSource
@@ -27,13 +30,15 @@ connectorConfig:
port: 3755
idleTimeout: 5
```
-上述的例子在`source-config.yml`中配置了一个URL`http://localhost:3755/test`.
-你可以按照[cloudevent-spec](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md)中的规定,以`binary`模式或者`structured`模式发送消息。
+上述的例子在`source-config.yml`中配置了一个 URL `http://localhost:3755/test`.
+
+你可以按照
[cloudevent-spec](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/bindings/http-protocol-binding.md)
中的规定,以`binary`模式或者`structured`模式发送消息。
这里是两个例子:
以`binary`模式发送消息。
+
```shell
curl --location --request POST 'http://localhost:3755/test' \
--header 'ce-id: 1' \
@@ -46,6 +51,7 @@ curl --location --request POST 'http://localhost:3755/test' \
```
以`structured`模式发送消息。
+
```shell
curl --location --request POST 'http://localhost:3755/test' \
--header 'Content-Type: application/cloudevents+json' \
diff --git a/eventmesh-connectors/eventmesh-connector-lark/README.md
b/eventmesh-connectors/eventmesh-connector-lark/README.md
index 1da30a13f..665b590a4 100644
--- a/eventmesh-connectors/eventmesh-connector-lark/README.md
+++ b/eventmesh-connectors/eventmesh-connector-lark/README.md
@@ -1,9 +1,10 @@
-# eventmesh-connector-lark
+# Feishu/Lark
## Lark Sink Server Config And Start
Before using eventmesh-connector-lark to sink events, you need to configure
the server.
-- Please customize `sinkEnable`=`true`/`false` in
`/resource/server-config.yml` to turn on/off the sink function.
+
+- Please customize `sinkEnable``=`true`/`false` in
`/resource/server-config.yml` to turn on/off the sink function.
- Regarding `/resource/sink-config.yml`, only the configuration under
`sinkConnectorConfig` is explained here:
- `connectorName`, specify the connector name
- (required) `appId`, the appId obtained from lark
@@ -14,22 +15,22 @@ Before using eventmesh-connector-lark to sink events, you
need to configure the
- `maxRetryTimes`, the maximum number of retransmissions when the sink event
fails. The default is 3 times.
- `retryDelayInMills`, when the sink event fails, the time interval for
retransmitting the event. Default is 1s, unit is milliseconds.
-
## Sink CloudEvent To Lark
When using the eventmesh-connector-lark sinking event, you need to add the
corresponding extension filed in CloudEvent:
-- When key=`templatetype4lark`, value=`text`/`markdown`, indicating the text
type of the event
-- When the text type is markdown, you can add extension:
key=`markdownmessagetitle4lark`, value indicates the title of the event.
-- When key=`atusers4lark`, value=`id-0,name-0;id-1,name-1`, indicating that
the event requires `@`certain users
+
+- When key=`templatetype4lark`, value=`text`/`markdown`, indicating the text
type of the event.
+- When text type is markdown, you can add extension:
key=`markdownmessagetitle4lark`, value indicates the title of the event.
+- When key=`atusers4lark`, value=`id-0,name-0;id-1,name-1`, indicating that
the event requires `@`certain users.
- It is recommended to use **open_id** for id.
- When the text is of text type, the id can be **open_id/union_id/user_id**;
when the text is of markdown type, the id can be **open_id/user_id**. In
particular, when the application type is [custom
robot](https://open.larksuite.com/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN)
and the text is of markdown type, only the use of **open_id** to `@` the user
is supported.
- When the text is of text type and the id is invalid, name will be used
instead for display; when the text is of markdown type and the id is invalid,
an exception will be thrown directly (you should try to ensure the correctness
of the id, and name can be considered omitted).
- When key=`atall4lark`, value=`true`/`false`, indicating that the event
requires `@` everyone.
-
## Lark Open Platform API
For the Lark open platform API involved in this module, please click the
following link:
+
- **Send Message**, please [view
here](https://open.larksuite.com/document/server-docs/im-v1/message/create?appId=cli_a5e1bc31507ed00c)
- **text**, please [view
here](https://open.larksuite.com/document/server-docs/im-v1/message-content-description/create_json#c9e08671)
- **markdown**, please [view
here](https://open.larksuite.com/document/common-capabilities/message-card/message-cards-content/using-markdown-tags)
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-lark/README_CN.md
b/eventmesh-connectors/eventmesh-connector-lark/README_CN.md
index e15d242be..ce629335c 100644
--- a/eventmesh-connectors/eventmesh-connector-lark/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-lark/README_CN.md
@@ -1,35 +1,36 @@
-# eventmesh-connector-lark
+# 飞书/Lark
## Lark Sink Server 的配置与启动
使用 eventmesh-connector-lark 下沉事件之前,需要进行 server 的配置。
-- 请在`/resource/server-config.yml`中自定义`sinkEnable``=`true`/`false`以开启/关闭 sink
功能。
-- 关于`/resource/sink-config.yml`,在此仅说明`sinkConnectorConfig`下的配置:
- - `connectorName`, 指定 connector 名称
- - (必需)`appId`, lark 中获取的 appId
- - (必需)`appSecret`, lark 中获取的 appSecret
- - `receiveIdType`,接收 Id 的类型,默认且推荐使用`open_id`。可选
open_id/user_id/union_id/email/chat_id。
- - (必需)`receiveId`, 接收 Id,需要和`receiveIdType`对应。
- - `sinkAsync`, 是否异步下沉事件
- - `maxRetryTimes`, sink 事件失败时,最大重传的次数。默认 3 次。
- - `retryDelayInMills`, sink 事件失败时,重传事件的时间间隔。默认 1s,单位为毫秒。
+- 请在`/resource/server-config.yml`中自定义`sinkEnable`=`true`/`false`以开启/关闭 sink 功能。
+- 关于`/resource/sink-config.yml`,在此仅说明`sinkConnectorConfig`下的配置:
+ - `connectorName`, 指定 connector 名称
+ - (必需)`appId`, lark 中获取的 appId
+ - (必需)`appSecret`, lark 中获取的 appSecret
+ - `receiveIdType`,接收 Id 的类型,默认且推荐使用`open_id`。可选
open_id/user_id/union_id/email/chat_id。
+ - (必需)`receiveId`, 接收 Id,需要和`receiveIdType`对应。
+ - `sinkAsync`, 是否异步下沉事件
+ - `maxRetryTimes`, sink 事件失败时,最大重传的次数。默认 3 次。
+ - `retryDelayInMills`, sink 事件失败时,重传事件的时间间隔。默认 1s,单位为毫秒。
## 可下沉飞书的 CLoudEvent
使用 eventmesh-connector-lark 下沉事件时,需要在 CloudEvent 中添加对应的 extension filed:
-- 当 key=`templatetype4lark`时,value=`text`/`markdown`,表明该事件的文本类型
-- 当文本类型为 markdown 时,可以添加 extension:key=`markdownmessagetitle4lark`,value
表明该事件的标题。
-- 当 key=`atusers4lark`时,value=`id-0,name-0;id-1,name-1`,表明该事件需要`@`某些用户
- - id 推荐使用**open_id**。
- - 当文本属于 text 类型时,id 可以是**open_id/union_id/user_id**;当文本属于 markdown 类型时,id
可以是**open_id/user_id**。特别地,当应用类型为[自定义机器人](https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN)且文本属于
markdown 类型,则仅支持使用**open_id**来`@`用户。
- - 当文本属于 text 类型且 id 无效时,将利用 name 代替展示;当文本属于 markdown 类型时且 id 无效时,直接抛出异常
(您应该尽量保证 id 的正确性,而 name 则可以考虑省略)。
-- 当 key=`atall4lark`时,value=`true`/`false`,表明该事件需要`@`所有人。
+- 当 key=`templatetype4lark`时,value=`text`/`markdown`,表明该事件的文本类型。
+- 当文本类型 (`templatetype4lark`) 为 markdown 时,可以为文本设置标题。添加
extension:key=`markdownmessagetitle4lark`,value 为该事件的标题。
+- 当 key=`atusers4lark`时,value=`id-0,name-0;id-1,name-1`,表明该事件需要`@`某些用户。
+ - id 推荐使用 **open_id**。
+ - 当文本属于 text 类型时,id 可以是 **open_id/union_id/user_id**; 当文本属于 markdown
类型时,id 可以是 **open_id/user_id**。特别地,当应用类型为
[自定义机器人](https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN)
且文本属于 markdown 类型,则仅支持使用 **open_id** 来`@`用户。
+ - 当文本属于 text 类型且 id 无效时,将利用 name 代替展示;当文本属于 markdown 类型时且 id
无效时,直接抛出异常(您应该尽量保证 id 的正确性,而 name 则可以考虑省略)。
+- 当 key=`atall4lark`时,value=`true`/`false`,表明该事件需要`@`所有人。
## 飞书开放平台 API
有关该模块涉及到的飞书开放平台 API,请点击以下链接:
--
**发送消息**,请[查看这里](https://open.feishu.cn/document/server-docs/im-v1/message/create?appId=cli_a5e1bc31507ed00c)
--
**text**,请[查看这里](https://open.feishu.cn/document/server-docs/im-v1/message-content-description/create_json#c9e08671)
--
**markdown**,请[查看这里](https://open.feishu.cn/document/common-capabilities/message-card/message-cards-content/using-markdown-tags)
\ No newline at end of file
+
+- **发送消息**,请
[查看这里](https://open.feishu.cn/document/server-docs/im-v1/message/create?appId=cli_a5e1bc31507ed00c)
+- **text**,请
[查看这里](https://open.feishu.cn/document/server-docs/im-v1/message-content-description/create_json#c9e08671)
+- **markdown**,请
[查看这里](https://open.feishu.cn/document/common-capabilities/message-card/message-cards-content/using-markdown-tags)
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-mongodb/README.md
b/eventmesh-connectors/eventmesh-connector-mongodb/README.md
index ab388e980..bbf1d2e70 100644
--- a/eventmesh-connectors/eventmesh-connector-mongodb/README.md
+++ b/eventmesh-connectors/eventmesh-connector-mongodb/README.md
@@ -1,13 +1,14 @@
-# eventmesh-connector-mongodb
+# MongoDB
-## MongoDBSinkConnector: from eventmesh to mongodb.
+## MongoDBSinkConnector: From EventMesh to MongoDB
-1. launch your mongodb server and eventmesh-runtime.
+1. launch your MongoDB server and EventMesh Runtime.
2. enable sinkConnector and check `sink-config.yml`.
-3. send a message to eventmesh with the topic defined in `pubSubConfig.subject`
+3. send a message to EventMesh with the topic defined in `pubSubConfig.subject`
+
```yaml
pubSubConfig:
- # default port is 10000
+ # default port 10000
meshAddress: your.eventmesh.server:10000
subject: TopicTest
idc: FT
@@ -26,9 +27,9 @@ connectorConfig:
collection: yourCol
```
-## MongoDBSourceConnector: from mongodb to eventmesh.
+## MongoDBSourceConnector: From MongoDB to EventMesh
-1. launch your mongodb server and eventmesh-runtime.
+1. launch your MongoDB server and EventMesh Runtime.
2. enable sourceConnector and check `source-config.yml` (Basically the same as
`sink-config.yml`)
3. start your `MongoDBSourceConnector` and you are ready to forward message.
-4. write a cloudevent message to `yourCol` at `yourDB` in your mongodb and
then you will receive the message in eventmesh.
\ No newline at end of file
+4. write a CloudEvent message to `yourCol` at `yourDB` in your MongoDB and
then you will receive the message in EventMesh.
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-mongodb/README_CN.md
b/eventmesh-connectors/eventmesh-connector-mongodb/README_CN.md
index bf9e08574..9bc4850c8 100644
--- a/eventmesh-connectors/eventmesh-connector-mongodb/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-mongodb/README_CN.md
@@ -1,10 +1,11 @@
-# eventmesh-connector-mongodb
+# MongoDB
-## MongoDBSinkConnector:从 eventmesh 到 mongodb。
+## MongoDBSinkConnector:从 EventMesh 到 MongoDB
-1. 启动你的 mongodb 服务和 eventmesh-runtime。
+1. 启动你的 MongoDB 服务和 EventMesh Runtime。
2. 启用 sinkConnector 并检查 `sink-config.yml`。
-3. 向 eventmesh 发送带有在 `pubSubConfig.subject` 中定义的主题消息。
+3. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息。
+
```yaml
pubSubConfig:
# 默认端口 10000
@@ -26,9 +27,9 @@ connectorConfig:
collection: yourCol
```
-## MongoDBSourceConnector:从 mongodb 到 eventmesh。
+## MongoDBSourceConnector:从 MongoDB 到 EventMesh
-1. 启动你的 mongodb 服务和 eventmesh-runtime。
+1. 启动你的 MongoDB 服务和 EventMesh Runtime。
2. 启用 sourceConnector 并检查 `source-config.yml`(与 sink-config.yml 基本相同)。
3. 启动你的 MongoDBSourceConnector,现在都已经准备好了。
-4. 向 mongodb 中 `yourDB` 的 `yourCol` 写入一个 cloudevent 消息,然后你将在 eventmesh 中接收到该消息。
\ No newline at end of file
+4. 向 MongoDB 中 `yourDB` 的 `yourCol` 写入一个 CloudEvent 消息,然后你将在 EventMesh 中接收到该消息。
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-rabbitmq/README.md
b/eventmesh-connectors/eventmesh-connector-rabbitmq/README.md
index a8b338f16..212f6bd02 100644
--- a/eventmesh-connectors/eventmesh-connector-rabbitmq/README.md
+++ b/eventmesh-connectors/eventmesh-connector-rabbitmq/README.md
@@ -1,13 +1,14 @@
-# eventmesh-connector-rabbitmq
+# RabbitMQ
-## RabbitMQSinkConnector: from eventmesh to rabbitmq.
+## RabbitMQSinkConnector: From EventMesh to RabbitMQ
-1. launch your rabbitmq server and eventmesh-runtime.
+1. launch your RabbitMQ server and EventMesh Runtime.
2. enable sinkConnector and check `sink-config.yml`.
-3. send a message to eventmesh with the topic defined in `pubSubConfig.subject`
+3. send a message to EventMesh with the topic defined in `pubSubConfig.subject`
+
```yaml
pubSubConfig:
- # default port is 10000
+ # default port 10000
meshAddress: your.eventmesh.server:10000
subject: TopicTest
idc: FT
@@ -32,8 +33,9 @@ connectorConfig:
autoAck: true
```
-## RabbitMQSourceConnector: from rabbitmq to eventmesh.
-1. launch your rabbitmq server and eventmesh-runtime.
+## RabbitMQSourceConnector: From RabbitMQ to EventMesh
+
+1. launch your rabbitmq server and EventMesh Runtime.
2. enable sourceConnector and check `source-config.yml` (Basically the same as
`sink-config.yml`)
3. start your `RabbitMQConnectorServer` and you will find the channel in
rabbitmq server.
-4. send a cloudevent message to the queue and then you will receive the
message in eventmesh.
\ No newline at end of file
+4. send a CloudEvent message to the queue and then you will receive the
message in EventMesh.
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-rabbitmq/README_CN.md
b/eventmesh-connectors/eventmesh-connector-rabbitmq/README_CN.md
index 00fd299f4..33afb4e02 100644
--- a/eventmesh-connectors/eventmesh-connector-rabbitmq/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-rabbitmq/README_CN.md
@@ -1,10 +1,11 @@
-# eventmesh-connector-rabbitmq
+# RabbitMQ
-## RabbitMQSinkConnector:从 eventmesh 到 rabbitmq。
+## RabbitMQSinkConnector:从 EventMesh 到 RabbitMQ
-1. 启动你的 rabbitmq 服务和 eventmesh-runtime。
+1. 启动你的 RabbitMQ 服务和 EventMesh Runtime。
2. 启用 sinkConnector 并检查 `sink-config.yml`。
-3. 向 eventmesh 发送带有在 `pubSubConfig.subject` 中定义的主题消息。
+3. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息。
+
```yaml
pubSubConfig:
# 默认端口 10000
@@ -32,9 +33,9 @@ connectorConfig:
autoAck: true
```
-## RabbitMQSourceConnector:从 rabbitmq 到 eventmesh。
+## RabbitMQSourceConnector:从 RabbitMQ 到 EventMesh
-1. 启动你的 rabbitmq 服务和 eventmesh-runtime。
+1. 启动你的 rabbitmq 服务和 EventMesh Runtime。
2. 启用 sourceConnector 并检查 `source-config.yml`(与 sink-config.yml 基本相同)。
-3. 启动你的 RabbitMQConnectorServer,你会在 rabbitmq 服务中找到该channel。
-4. 向队列发送一个 cloudevent 消息,然后你将在 eventmesh 中接收到该消息。
\ No newline at end of file
+3. 启动你的 RabbitMQConnectorServer,你会在 rabbitmq 服务中找到该 channel。
+4. 向队列发送一个 CloudEvent 消息,然后你将在 EventMesh 中接收到该消息。
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-slack/README.md
b/eventmesh-connectors/eventmesh-connector-slack/README.md
index 936065aca..cee677985 100644
--- a/eventmesh-connectors/eventmesh-connector-slack/README.md
+++ b/eventmesh-connectors/eventmesh-connector-slack/README.md
@@ -1,13 +1,15 @@
-# eventmesh-connector-slack
+# Slack
-## SlackSinkConnector:from eventmesh to slack。
+## SlackSinkConnector: From EventMesh to Slack
-1. launch your eventmesh-runtime.
+1. launch your EventMesh Runtime.
2. enable sinkConnector and check `sink-config.yml`.
-3. send a message to eventmesh with the topic defined in `pubSubConfig.subject`
+3. send a message to EventMesh with the topic defined in `pubSubConfig.subject`
+
```yaml
pubSubConfig:
- meshAddress: 127.0.0.1:10000
+ # default port 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-SLACK
idc: FT
env: PRD
diff --git a/eventmesh-connectors/eventmesh-connector-slack/README_CN.md
b/eventmesh-connectors/eventmesh-connector-slack/README_CN.md
index 97daa9f0a..ede3d66b0 100644
--- a/eventmesh-connectors/eventmesh-connector-slack/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-slack/README_CN.md
@@ -1,13 +1,15 @@
-# eventmesh-connector-slack
+# Slack
-## SlackSinkConnector:从 eventmesh 到 slack。
+## SlackSinkConnector:从 EventMesh 到 Slack
-1. 启动你的 eventmesh-runtime。
+1. 启动你的 EventMesh Runtime。
2. 启用 sinkConnector 并检查 `sink-config.yml`。
-3. 向 eventmesh 发送带有在 `pubSubConfig.subject` 中定义的主题消息。
+3. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息。
+
```yaml
pubSubConfig:
- meshAddress: 127.0.0.1:10000
+ # 默认端口 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-SLACK
idc: FT
env: PRD
diff --git a/eventmesh-connectors/eventmesh-connector-wecom/README.md
b/eventmesh-connectors/eventmesh-connector-wecom/README.md
index aac0c24c2..62e834ef0 100644
--- a/eventmesh-connectors/eventmesh-connector-wecom/README.md
+++ b/eventmesh-connectors/eventmesh-connector-wecom/README.md
@@ -1,13 +1,15 @@
-# eventmesh-connector-wecom
+# WeCom
-## WecomSinkConnector:from eventmesh to wecom。
+## WecomSinkConnector: From EventMesh to WeCom
-1. launch your eventmesh-runtime.
+1. launch your EventMesh Runtime.
2. enable sinkConnector and check `sink-config.yml`.
-3. send a message to eventmesh with the topic defined in `pubSubConfig.subject`
+3. send a message to EventMesh with the topic defined in `pubSubConfig.subject`
+
```yaml
pubSubConfig:
- meshAddress: 127.0.0.1:10000
+ # default port 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-WECOM
idc: FT
env: PRD
@@ -19,4 +21,10 @@ sinkConnectorConfig:
connectorName: weComSink
# Please refer to: https://developer.work.weixin.qq.com/document/path/90236
robotWebhookKey: weComRobotWebhookKey
-```
\ No newline at end of file
+```
+
+### CloudEvent Attributes
+
+When using the eventmesh-connector-wecom sinking event, you need to add the
corresponding extension filed in CloudEvent:
+
+- When key=`wecomtemplatetype`, value=`text`/`markdown`, indicating the text
type of the event.
\ No newline at end of file
diff --git a/eventmesh-connectors/eventmesh-connector-wecom/README_CN.md
b/eventmesh-connectors/eventmesh-connector-wecom/README_CN.md
index 6a69cc5ea..334a51eaa 100644
--- a/eventmesh-connectors/eventmesh-connector-wecom/README_CN.md
+++ b/eventmesh-connectors/eventmesh-connector-wecom/README_CN.md
@@ -1,13 +1,15 @@
-# eventmesh-connector-slack
+# 企业微信
-## SlackSinkConnector:从 eventmesh 到 slack。
+## WecomSinkConnector:从 EventMesh 到企业微信
-1. 启动你的 eventmesh-runtime。
+1. 启动你的 EventMesh Runtime。
2. 启用 sinkConnector 并检查 `sink-config.yml`。
-3. 向 eventmesh 发送带有在 `pubSubConfig.subject` 中定义的主题消息。
+3. 使用在 `pubSubConfig.subject` 中指定的 Topic,向 EventMesh 发送消息。
+
```yaml
pubSubConfig:
- meshAddress: 127.0.0.1:10000
+ # 默认端口 10000
+ meshAddress: your.eventmesh.server:10000
subject: TEST-TOPIC-WECOM
idc: FT
env: PRD
@@ -19,4 +21,10 @@ sinkConnectorConfig:
connectorName: weComSink
# 以下配置请参考文档:https://developer.work.weixin.qq.com/document/path/90236
robotWebhookKey: weComRobotWebhookKey
-```
\ No newline at end of file
+```
+
+### CloudEvent 属性
+
+使用 eventmesh-connector-wecom 下沉事件时,需要在 CloudEvent 中添加对应的 extension filed:
+
+- 当 key=`wecomtemplatetype`时,value=`text`/`markdown`,表明该事件的文本类型。
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]