You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2023/01/17 02:55:10 UTC

[rocketmq-site] branch new-official-website updated: [ISSUE #443]Translation for "eventbridge-RocketMQ EventBridge 快速开始" Section in the v4.x & 5.0 Document (CN -> EN) (#449)

This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch new-official-website
in repository https://gitbox.apache.org/repos/asf/rocketmq-site.git


The following commit(s) were added to refs/heads/new-official-website by this push:
     new 4cd064f7f [ISSUE #443]Translation for "eventbridge-RocketMQ EventBridge 快速开始" Section in the v4.x & 5.0 Document (CN -> EN) (#449)
4cd064f7f is described below

commit 4cd064f7fed5e1cdff8a491315c43f27805cb637
Author: mxsm <lj...@gmail.com>
AuthorDate: Tue Jan 17 10:55:06 2023 +0800

    [ISSUE #443]Translation for "eventbridge-RocketMQ EventBridge 快速开始" Section in the v4.x & 5.0 Document (CN -> EN) (#449)
---
 .../27RocketMQEventBridgeQuickStart.md             | 313 +++++++++++----------
 .../27RocketMQEventBridgeQuickStart.md             | 313 +++++++++++----------
 2 files changed, 316 insertions(+), 310 deletions(-)

diff --git a/i18n/en/docusaurus-plugin-content-docs/current/07-eventbridge/27RocketMQEventBridgeQuickStart.md b/i18n/en/docusaurus-plugin-content-docs/current/07-eventbridge/27RocketMQEventBridgeQuickStart.md
index 274b0f029..133e730f0 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/07-eventbridge/27RocketMQEventBridgeQuickStart.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/07-eventbridge/27RocketMQEventBridgeQuickStart.md
@@ -1,19 +1,19 @@
-# RocketMQ EventBridge 快速开始
+# RocketMQ EventBridge Quick Start
 
-RocketMQ EventBridge 需要一个消息服务来存储事件,另外需要一个Runtime来订阅并推送事件。这里我们选择 Apache RocketMQ 作为我们的消息服务,选择 Apache RocketMQ Connect 作为我们的Runtime来订阅和推送事件。当然,您也可以选择其他消息服务代替,EventBridge并不对此做限制。未来EventBridge也计划基于OpenMessaging Connect API 实现自己的Runtime,以便更好的提供事件驱动服务。
+RocketMQ EventBridge requires a message service to store events and a runtime to subscribe and push events. In this case, we choose Apache RocketMQ as our message service and Apache RocketMQ Connect as our runtime for subscribing and pushing events. Of course, you can also choose other message services instead, EventBridge does not impose any restrictions on this. In the future, EventBridge also plans to implement its own runtime based on OpenMessaging Connect API in order to better prov [...]
 
+System requirements:
 
-系统要求:
-* 64位操作系统,推荐 Linux/Unix/macOS
-* 64位 JDK 1.8+
+- 64-bit operating system, Linux/Unix/macOS is recommended
+- 64-bit JDK 1.8+
 
-## 部署Apache RocketMQ
+## Deploy Apache RocketMQ
 
-Apache RocketMQ 是一个很棒的消息服务,我们默认选择它作为EventBus的默认存储。这里您可以根据这个手册快速部署: [Apache RocketMQ Quick Start](https://rocketmq.apache.org/docs/quick-start/)
+Apache RocketMQ is a great message service and we choose it as the default storage for EventBus. You can quickly deploy it according to this manual: [Apache RocketMQ Quick Start](https://rocketmq.apache.org/docs/quick-start/)
 
-## 部署Apache RocketMQ Connect
+## Deploy Apache RocketMQ Connect
 
-我们使用Apache RocketMQ Connect作为我们的默认Runtime,来连接外部的上下游服务,您可以根据手册完成部署: [RocketMQ Connect Quick Start](https://github.com/apache/rocketmq-connect) 。在部署 Apache RocketMQ Connect 之前,您应该下载下面的插件,并将其放在rocketmq-connect中配置参数“pluginPaths”所定义的目录下:
+We use Apache RocketMQ Connect as our default runtime to connect to external upstream and downstream services. You can complete the deployment according to the manual: [RocketMQ Connect Quick Start](https://github.com/apache/rocketmq-connect). Before deploying Apache RocketMQ Connect, you should download the following plugins and put them in the directory defined by the "pluginPaths" configuration parameter in rocketmq-connect.
 
 
 * [rocketmq-connect-eventbridge-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/rocketmq-connect-eventbridge-0.0.1-SNAPSHOT-jar-with-dependencies.jar)
@@ -22,166 +22,169 @@ Apache RocketMQ 是一个很棒的消息服务,我们默认选择它作为Even
 * [connect-filter-transform-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/connect-filter-transform-1.0.0-SNAPSHOT-jar-with-dependencies.jar)
 * [connect-eventbridge-transform-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/connect-eventbridge-transform-1.0.0-SNAPSHOT-jar-with-dependencies.jar)
 
-## 部署RocketMQ EventBridge
-
-* 获取 EventBridge
-
-你可以从[这里](https://www.apache.org/dyn/closer.cgi?path=rocketmq/rocketmq-eventbridge/1.0.0/rocketmq-eventbridge-1.0.0-bin-release.zip)下载EventBridge的二进制包:rocketmq-eventbridge-xxx-bin-release.zip,下载完毕后进行解压缩,你会得到一个如下目录:
-```text
-/rocketmq-eventbridge-xxx-bin-release/
-|——bin
-|   |——runserver.sh
-|   |——eventbridge.sh
-|——config
-|   |——application.properties
-|——jar
-|   |——rocketmq-eventbridge.jar
-```
-  
+## Deploy RocketMQ EventBridge
+
+* Download EventBridge
 
-* 配置 EventBridge
+  You can download the binary package of EventBridge from [here](https://www.apache.org/dyn/closer.cgi?path=rocketmq/rocketmq-eventbridge/1.0.0/rocketmq-eventbridge-1.0.0-bin-release.zip) : rocketmq-eventbridge-xxx-bin-release.zip. After downloading, unzip it and you will get a directory as follows:
 
-运行前,我们需要配置EventBridge的运行环境,修改config/application.properties,参考如下:
+  ```
+  /rocketmq-eventbridge-xxx-bin-release/
+  |——bin
+  |   |——runserver.sh
+  |   |——eventbridge.sh
+  |——config
+  |   |——application.properties
+  |——jar
+  |   |——rocketmq-eventbridge.jar
+  ```
 
-```properties
-# Mysql数据库的连接地址
-spring.datasource.url=jdbc:mysql://xxxx:3306/xxxx?characterEncoding=utf8
-spring.datasource.username=xxx
-spring.datasource.password=xxxx
 
-# RocketMQ nameserver的连接地址
-rocketmq.namesrvAddr=xxxxx:9876
+* Configuring EventBridge
 
-# RocketMQ的集群名称.
-rocketmq.cluster.name=DefaultCluster
+  Before running, we need to configure the runtime environment for EventBridge by modifying the config/application.properties file, as follows:
+
+  ```
+  # Mysql database address
+  spring.datasource.url=jdbc:mysql://xxxx:3306/xxxx?characterEncoding=utf8
+  spring.datasource.username=xxx
+  spring.datasource.password=xxxx
+  
+  # RocketMQ nameserver address
+  rocketmq.namesrvAddr=xxxxx:9876
+  
+  # RocketMQ cluster name
+  rocketmq.cluster.name=DefaultCluster
+  
+  # RocketMQ Connect address
+  rocketmq.connect.endpoint=xxxxxx:8082
+  
+  # log default configuration
+  log.path=~
+  log.level=INFO
+  app.name=rocketmq-eventbridge
+  ```
 
-# RocketMQ Connect的连接地址
-rocketmq.connect.endpoint=xxxxxx:8082
+* Start EventBridge
 
-# log默认配置
-log.path=~
-log.level=INFO
-app.name=rocketmq-eventbridge
-```
+  ```shell
+  sh bin/eventbridge.sh start 
+  ```
 
-* 启动 EventBridge
-```shell
-sh bin/eventbridge.sh start 
-```
-log默认目录为~/rocketmq-eventbridge/rocketmq-eventbridge.log,可以修改上述log.path和app.name进行修改。可以通过日志来观察服务是否正常启动:
-![img.png](../picture/07eventbridge/Started.png)
+  The log directory by default is located at ~ /rocketmq-eventbridge/rocketmq-eventbridge.log, it can be modified by changing the log.path and app.name. The log can be used to check if the service has started properly.:
+  ![img.png](../picture/07eventbridge/Started.png)
 
-* 测试 EventBridge
+* Test EventBridge
+
+Once the service is started, we can use the following demo cases to test and verify EventBridge.
 
-当服务启动后,我们就可以通过下面的Demo用例来测试和验证EventBridge。
-  
 ## Demo
 
-####
-
-* 创建事件总线
-
-```text
-POST /bus/createEventBus HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-"eventBusName":"demo-bus",
-"description":"a demo bus."
-}
-```
-
-* 创建事件源
-```text
-POST /source/createEventSource HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-"eventBusName":"demo-bus",
-"eventSourceName":"demo-source",
-"description":"A demo source."
-}
-```
-
-* 创建事件规则
-
-```text
-POST /rule/createEventRule HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-  "eventBusName":"demo-bus",
-  "eventRuleName":"demo-rule",
-  "description":"A demo rule.",
-  "filterPattern":"{}"
-}
-```
+* Create Event Bus
 
-* 创建事件目标
+  ```text
+  POST /bus/createEventBus HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+  "eventBusName":"demo-bus",
+  "description":"a demo bus."
+  }
+  ```
 
-创建一个投递到云上EventBridge的事件目标:
+* Create Source Event
 
-```text
-POST /target/createEventTargets HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-    "eventBusName":"demo-bus",
-    "eventRuleName":"demo-rule",
-    "eventTargets":[
-            {
-            "eventTargetName":"eventbridge-target",
-            "className":"acs.eventbridge",
-                "config":{
-                "RegionId":"cn-hangzhou",
-                "AliyunEventBus":"rocketmq-eventbridge"
-                }
-            }
-        ]
-}
-```
-
-创建一个投递到钉钉机器人推送通知的事件目标:
-
-```text
-POST /target/createEventTargets HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
+  ```
+  POST /source/createEventSource HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+  "eventBusName":"demo-bus",
+  "eventSourceName":"demo-source",
+  "description":"A demo source."
+  }
+  ```
+
+* Create Event Rules
+
+  ```
+  POST /rule/createEventRule HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
     "eventBusName":"demo-bus",
     "eventRuleName":"demo-rule",
-    "eventTargets":[
-        {
-            "eventTargetName":"dingtalk-target",
-            "className":"acs.dingtalk",
-            "config":{
-            "WebHook":"https://oapi.dingtalk.com/robot/send?access_token=b43a54b702314415c2acdae97eda1e092528b7a9dddb31510a5b4430be2ef867",
-            "SecretKey":"SEC53483bf496b8f9e0b4ab0ab669d422208e6ccfaedfd5120ea6b8426b9ecd47aa",
-            "Body":"{\"template\":\"{\\\"text\\\":{\\\"content\\\":\\\"${content}\\\"},\\\"msgtype\\\":\\\"text\\\"}\",\"form\":\"TEMPLATE\",\"value\":\"{\\\"content\\\":\\\"$.data.body\\\"}\"}"
-            }
-        }
-    ]
-}
-```
-
-* 发送事件到EventBus
-  
-  最后,我们通过API发送一条事件,并验证Target端是否按预期收到对应的事件。
-```text
-POST /putEvents HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type:"application/cloudevents+json; charset=UTF-8"
-{
-  "specversion" : "1.0",
-  "type" : "com.github.pull_request.opened",
-  "source" : "https://github.com/cloudevents/spec/pull",
-  "subject" : "123",
-  "id" : "A234-1234-1234",
-  "time" : "2018-04-05T17:31:00Z",
-  "datacontenttype" : "application/json",
-  "data" : {
-    "body":"demo"
-  },
-  "aliyuneventbusname":"demo-bus"
-}
-```
+    "description":"A demo rule.",
+    "filterPattern":"{}"
+  }
+  ```
+
+* Create Event Target
+
+  Create an event target that delivers to EventBridge in the cloud.
+
+  ```
+  POST /target/createEventTargets HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+      "eventBusName":"demo-bus",
+      "eventRuleName":"demo-rule",
+      "eventTargets":[
+              {
+              "eventTargetName":"eventbridge-target",
+              "className":"acs.eventbridge",
+                  "config":{
+                  "RegionId":"cn-hangzhou",
+                  "AliyunEventBus":"rocketmq-eventbridge"
+                  }
+              }
+          ]
+  }
+  ```
+
+  Creating an event target that delivers notifications to a DingTalk robot:
+
+  ```
+  POST /target/createEventTargets HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+      "eventBusName":"demo-bus",
+      "eventRuleName":"demo-rule",
+      "eventTargets":[
+          {
+              "eventTargetName":"dingtalk-target",
+              "className":"acs.dingtalk",
+              "config":{
+              "WebHook":"https://oapi.dingtalk.com/robot/send?access_token=b43a54b702314415c2acdae97eda1e092528b7a9dddb31510a5b4430be2ef867",
+              "SecretKey":"SEC53483bf496b8f9e0b4ab0ab669d422208e6ccfaedfd5120ea6b8426b9ecd47aa",
+              "Body":"{\"template\":\"{\\\"text\\\":{\\\"content\\\":\\\"${content}\\\"},\\\"msgtype\\\":\\\"text\\\"}\",\"form\":\"TEMPLATE\",\"value\":\"{\\\"content\\\":\\\"$.data.body\\\"}\"}"
+              }
+          }
+      ]
+  }
+  ```
+
+* Send Event to EventBus
+
+  Finally, we will send an event through the API and verify if the Target endpoint receives the corresponding event as expected.
+
+  ```
+  POST /putEvents HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type:"application/cloudevents+json; charset=UTF-8"
+  {
+    "specversion" : "1.0",
+    "type" : "com.github.pull_request.opened",
+    "source" : "https://github.com/cloudevents/spec/pull",
+    "subject" : "123",
+    "id" : "A234-1234-1234",
+    "time" : "2018-04-05T17:31:00Z",
+    "datacontenttype" : "application/json",
+    "data" : {
+      "body":"demo"
+    },
+    "aliyuneventbusname":"demo-bus"
+  }
+  ```
diff --git a/i18n/en/docusaurus-plugin-content-docs/version-5.0/07-eventbridge/27RocketMQEventBridgeQuickStart.md b/i18n/en/docusaurus-plugin-content-docs/version-5.0/07-eventbridge/27RocketMQEventBridgeQuickStart.md
index 274b0f029..133e730f0 100644
--- a/i18n/en/docusaurus-plugin-content-docs/version-5.0/07-eventbridge/27RocketMQEventBridgeQuickStart.md
+++ b/i18n/en/docusaurus-plugin-content-docs/version-5.0/07-eventbridge/27RocketMQEventBridgeQuickStart.md
@@ -1,19 +1,19 @@
-# RocketMQ EventBridge 快速开始
+# RocketMQ EventBridge Quick Start
 
-RocketMQ EventBridge 需要一个消息服务来存储事件,另外需要一个Runtime来订阅并推送事件。这里我们选择 Apache RocketMQ 作为我们的消息服务,选择 Apache RocketMQ Connect 作为我们的Runtime来订阅和推送事件。当然,您也可以选择其他消息服务代替,EventBridge并不对此做限制。未来EventBridge也计划基于OpenMessaging Connect API 实现自己的Runtime,以便更好的提供事件驱动服务。
+RocketMQ EventBridge requires a message service to store events and a runtime to subscribe and push events. In this case, we choose Apache RocketMQ as our message service and Apache RocketMQ Connect as our runtime for subscribing and pushing events. Of course, you can also choose other message services instead, EventBridge does not impose any restrictions on this. In the future, EventBridge also plans to implement its own runtime based on OpenMessaging Connect API in order to better prov [...]
 
+System requirements:
 
-系统要求:
-* 64位操作系统,推荐 Linux/Unix/macOS
-* 64位 JDK 1.8+
+- 64-bit operating system, Linux/Unix/macOS is recommended
+- 64-bit JDK 1.8+
 
-## 部署Apache RocketMQ
+## Deploy Apache RocketMQ
 
-Apache RocketMQ 是一个很棒的消息服务,我们默认选择它作为EventBus的默认存储。这里您可以根据这个手册快速部署: [Apache RocketMQ Quick Start](https://rocketmq.apache.org/docs/quick-start/)
+Apache RocketMQ is a great message service and we choose it as the default storage for EventBus. You can quickly deploy it according to this manual: [Apache RocketMQ Quick Start](https://rocketmq.apache.org/docs/quick-start/)
 
-## 部署Apache RocketMQ Connect
+## Deploy Apache RocketMQ Connect
 
-我们使用Apache RocketMQ Connect作为我们的默认Runtime,来连接外部的上下游服务,您可以根据手册完成部署: [RocketMQ Connect Quick Start](https://github.com/apache/rocketmq-connect) 。在部署 Apache RocketMQ Connect 之前,您应该下载下面的插件,并将其放在rocketmq-connect中配置参数“pluginPaths”所定义的目录下:
+We use Apache RocketMQ Connect as our default runtime to connect to external upstream and downstream services. You can complete the deployment according to the manual: [RocketMQ Connect Quick Start](https://github.com/apache/rocketmq-connect). Before deploying Apache RocketMQ Connect, you should download the following plugins and put them in the directory defined by the "pluginPaths" configuration parameter in rocketmq-connect.
 
 
 * [rocketmq-connect-eventbridge-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/rocketmq-connect-eventbridge-0.0.1-SNAPSHOT-jar-with-dependencies.jar)
@@ -22,166 +22,169 @@ Apache RocketMQ 是一个很棒的消息服务,我们默认选择它作为Even
 * [connect-filter-transform-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/connect-filter-transform-1.0.0-SNAPSHOT-jar-with-dependencies.jar)
 * [connect-eventbridge-transform-jar-with-dependencies.jar](https://cn-hangzhou-eventbridge.oss-cn-hangzhou.aliyuncs.com/connect-eventbridge-transform-1.0.0-SNAPSHOT-jar-with-dependencies.jar)
 
-## 部署RocketMQ EventBridge
-
-* 获取 EventBridge
-
-你可以从[这里](https://www.apache.org/dyn/closer.cgi?path=rocketmq/rocketmq-eventbridge/1.0.0/rocketmq-eventbridge-1.0.0-bin-release.zip)下载EventBridge的二进制包:rocketmq-eventbridge-xxx-bin-release.zip,下载完毕后进行解压缩,你会得到一个如下目录:
-```text
-/rocketmq-eventbridge-xxx-bin-release/
-|——bin
-|   |——runserver.sh
-|   |——eventbridge.sh
-|——config
-|   |——application.properties
-|——jar
-|   |——rocketmq-eventbridge.jar
-```
-  
+## Deploy RocketMQ EventBridge
+
+* Download EventBridge
 
-* 配置 EventBridge
+  You can download the binary package of EventBridge from [here](https://www.apache.org/dyn/closer.cgi?path=rocketmq/rocketmq-eventbridge/1.0.0/rocketmq-eventbridge-1.0.0-bin-release.zip) : rocketmq-eventbridge-xxx-bin-release.zip. After downloading, unzip it and you will get a directory as follows:
 
-运行前,我们需要配置EventBridge的运行环境,修改config/application.properties,参考如下:
+  ```
+  /rocketmq-eventbridge-xxx-bin-release/
+  |——bin
+  |   |——runserver.sh
+  |   |——eventbridge.sh
+  |——config
+  |   |——application.properties
+  |——jar
+  |   |——rocketmq-eventbridge.jar
+  ```
 
-```properties
-# Mysql数据库的连接地址
-spring.datasource.url=jdbc:mysql://xxxx:3306/xxxx?characterEncoding=utf8
-spring.datasource.username=xxx
-spring.datasource.password=xxxx
 
-# RocketMQ nameserver的连接地址
-rocketmq.namesrvAddr=xxxxx:9876
+* Configuring EventBridge
 
-# RocketMQ的集群名称.
-rocketmq.cluster.name=DefaultCluster
+  Before running, we need to configure the runtime environment for EventBridge by modifying the config/application.properties file, as follows:
+
+  ```
+  # Mysql database address
+  spring.datasource.url=jdbc:mysql://xxxx:3306/xxxx?characterEncoding=utf8
+  spring.datasource.username=xxx
+  spring.datasource.password=xxxx
+  
+  # RocketMQ nameserver address
+  rocketmq.namesrvAddr=xxxxx:9876
+  
+  # RocketMQ cluster name
+  rocketmq.cluster.name=DefaultCluster
+  
+  # RocketMQ Connect address
+  rocketmq.connect.endpoint=xxxxxx:8082
+  
+  # log default configuration
+  log.path=~
+  log.level=INFO
+  app.name=rocketmq-eventbridge
+  ```
 
-# RocketMQ Connect的连接地址
-rocketmq.connect.endpoint=xxxxxx:8082
+* Start EventBridge
 
-# log默认配置
-log.path=~
-log.level=INFO
-app.name=rocketmq-eventbridge
-```
+  ```shell
+  sh bin/eventbridge.sh start 
+  ```
 
-* 启动 EventBridge
-```shell
-sh bin/eventbridge.sh start 
-```
-log默认目录为~/rocketmq-eventbridge/rocketmq-eventbridge.log,可以修改上述log.path和app.name进行修改。可以通过日志来观察服务是否正常启动:
-![img.png](../picture/07eventbridge/Started.png)
+  The log directory by default is located at ~ /rocketmq-eventbridge/rocketmq-eventbridge.log, it can be modified by changing the log.path and app.name. The log can be used to check if the service has started properly.:
+  ![img.png](../picture/07eventbridge/Started.png)
 
-* 测试 EventBridge
+* Test EventBridge
+
+Once the service is started, we can use the following demo cases to test and verify EventBridge.
 
-当服务启动后,我们就可以通过下面的Demo用例来测试和验证EventBridge。
-  
 ## Demo
 
-####
-
-* 创建事件总线
-
-```text
-POST /bus/createEventBus HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-"eventBusName":"demo-bus",
-"description":"a demo bus."
-}
-```
-
-* 创建事件源
-```text
-POST /source/createEventSource HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-"eventBusName":"demo-bus",
-"eventSourceName":"demo-source",
-"description":"A demo source."
-}
-```
-
-* 创建事件规则
-
-```text
-POST /rule/createEventRule HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-  "eventBusName":"demo-bus",
-  "eventRuleName":"demo-rule",
-  "description":"A demo rule.",
-  "filterPattern":"{}"
-}
-```
+* Create Event Bus
 
-* 创建事件目标
+  ```text
+  POST /bus/createEventBus HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+  "eventBusName":"demo-bus",
+  "description":"a demo bus."
+  }
+  ```
 
-创建一个投递到云上EventBridge的事件目标:
+* Create Source Event
 
-```text
-POST /target/createEventTargets HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
-    "eventBusName":"demo-bus",
-    "eventRuleName":"demo-rule",
-    "eventTargets":[
-            {
-            "eventTargetName":"eventbridge-target",
-            "className":"acs.eventbridge",
-                "config":{
-                "RegionId":"cn-hangzhou",
-                "AliyunEventBus":"rocketmq-eventbridge"
-                }
-            }
-        ]
-}
-```
-
-创建一个投递到钉钉机器人推送通知的事件目标:
-
-```text
-POST /target/createEventTargets HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type: application/json; charset=utf-8
-{
+  ```
+  POST /source/createEventSource HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+  "eventBusName":"demo-bus",
+  "eventSourceName":"demo-source",
+  "description":"A demo source."
+  }
+  ```
+
+* Create Event Rules
+
+  ```
+  POST /rule/createEventRule HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
     "eventBusName":"demo-bus",
     "eventRuleName":"demo-rule",
-    "eventTargets":[
-        {
-            "eventTargetName":"dingtalk-target",
-            "className":"acs.dingtalk",
-            "config":{
-            "WebHook":"https://oapi.dingtalk.com/robot/send?access_token=b43a54b702314415c2acdae97eda1e092528b7a9dddb31510a5b4430be2ef867",
-            "SecretKey":"SEC53483bf496b8f9e0b4ab0ab669d422208e6ccfaedfd5120ea6b8426b9ecd47aa",
-            "Body":"{\"template\":\"{\\\"text\\\":{\\\"content\\\":\\\"${content}\\\"},\\\"msgtype\\\":\\\"text\\\"}\",\"form\":\"TEMPLATE\",\"value\":\"{\\\"content\\\":\\\"$.data.body\\\"}\"}"
-            }
-        }
-    ]
-}
-```
-
-* 发送事件到EventBus
-  
-  最后,我们通过API发送一条事件,并验证Target端是否按预期收到对应的事件。
-```text
-POST /putEvents HTTP/1.1
-Host: demo.eventbridge.com
-Content-Type:"application/cloudevents+json; charset=UTF-8"
-{
-  "specversion" : "1.0",
-  "type" : "com.github.pull_request.opened",
-  "source" : "https://github.com/cloudevents/spec/pull",
-  "subject" : "123",
-  "id" : "A234-1234-1234",
-  "time" : "2018-04-05T17:31:00Z",
-  "datacontenttype" : "application/json",
-  "data" : {
-    "body":"demo"
-  },
-  "aliyuneventbusname":"demo-bus"
-}
-```
+    "description":"A demo rule.",
+    "filterPattern":"{}"
+  }
+  ```
+
+* Create Event Target
+
+  Create an event target that delivers to EventBridge in the cloud.
+
+  ```
+  POST /target/createEventTargets HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+      "eventBusName":"demo-bus",
+      "eventRuleName":"demo-rule",
+      "eventTargets":[
+              {
+              "eventTargetName":"eventbridge-target",
+              "className":"acs.eventbridge",
+                  "config":{
+                  "RegionId":"cn-hangzhou",
+                  "AliyunEventBus":"rocketmq-eventbridge"
+                  }
+              }
+          ]
+  }
+  ```
+
+  Creating an event target that delivers notifications to a DingTalk robot:
+
+  ```
+  POST /target/createEventTargets HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type: application/json; charset=utf-8
+  {
+      "eventBusName":"demo-bus",
+      "eventRuleName":"demo-rule",
+      "eventTargets":[
+          {
+              "eventTargetName":"dingtalk-target",
+              "className":"acs.dingtalk",
+              "config":{
+              "WebHook":"https://oapi.dingtalk.com/robot/send?access_token=b43a54b702314415c2acdae97eda1e092528b7a9dddb31510a5b4430be2ef867",
+              "SecretKey":"SEC53483bf496b8f9e0b4ab0ab669d422208e6ccfaedfd5120ea6b8426b9ecd47aa",
+              "Body":"{\"template\":\"{\\\"text\\\":{\\\"content\\\":\\\"${content}\\\"},\\\"msgtype\\\":\\\"text\\\"}\",\"form\":\"TEMPLATE\",\"value\":\"{\\\"content\\\":\\\"$.data.body\\\"}\"}"
+              }
+          }
+      ]
+  }
+  ```
+
+* Send Event to EventBus
+
+  Finally, we will send an event through the API and verify if the Target endpoint receives the corresponding event as expected.
+
+  ```
+  POST /putEvents HTTP/1.1
+  Host: demo.eventbridge.com
+  Content-Type:"application/cloudevents+json; charset=UTF-8"
+  {
+    "specversion" : "1.0",
+    "type" : "com.github.pull_request.opened",
+    "source" : "https://github.com/cloudevents/spec/pull",
+    "subject" : "123",
+    "id" : "A234-1234-1234",
+    "time" : "2018-04-05T17:31:00Z",
+    "datacontenttype" : "application/json",
+    "data" : {
+      "body":"demo"
+    },
+    "aliyuneventbusname":"demo-bus"
+  }
+  ```