You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2022/04/24 08:58:00 UTC

[GitHub] [rocketmq-connect] zhaohai666 opened a new pull request, #119: [ISSUE #118] Add connect eventbridge

zhaohai666 opened a new pull request, #119:
URL: https://github.com/apache/rocketmq-connect/pull/119

   #118 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] 2011shenlin commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
2011shenlin commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r886957508


##########
connectors/aliyun/rocketmq-connect-eventbridge/src/main/java/org/apache/rocketmq/connect/eventbridge/sink/EventBridgeSinkConnector.java:
##########
@@ -0,0 +1,100 @@
+package org.apache.rocketmq.connect.eventbridge.sink;
+
+import io.openmessaging.KeyValue;
+import io.openmessaging.connector.api.component.task.Task;
+import io.openmessaging.connector.api.component.task.sink.SinkConnector;
+import io.openmessaging.internal.DefaultKeyValue;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.connect.eventbridge.sink.constant.EventBridgeConstant;
+import org.apache.rocketmq.connect.eventbridge.sink.utils.DateUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EventBridgeSinkConnector extends SinkConnector {
+
+    private String accessKeyId;
+
+    private String accessKeySecret;
+
+    private String roleArn;
+
+    private String roleSessionName;
+
+    private String eventTime;
+
+    private String eventSubject;
+
+    private String eventType;
+
+    private String aliyuneventbusname;
+
+    private String accountEndpoint;
+
+    private String stsEndpoint;
+
+    @Override
+    public void pause() {
+
+    }
+
+    @Override
+    public void resume() {
+
+    }
+
+    @Override
+    public List<KeyValue> taskConfigs(int maxTasks) {
+        List<KeyValue> keyValueList = new ArrayList<>(11);
+        KeyValue keyValue = new DefaultKeyValue();
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_ID, accessKeyId);
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_SECRET, accessKeySecret);
+        keyValue.put(EventBridgeConstant.ROLE_ARN, roleArn);
+        keyValue.put(EventBridgeConstant.ROLE_SESSION_NAME, roleSessionName);
+        keyValue.put(EventBridgeConstant.EVENT_TIME, eventTime);
+        keyValue.put(EventBridgeConstant.EVENT_SUBJECT, eventSubject);
+        keyValue.put(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME, aliyuneventbusname);
+        keyValue.put(EventBridgeConstant.ACCOUNT_ENDPOINT, accountEndpoint);
+        keyValue.put(EventBridgeConstant.STS_ENDPOINT, stsEndpoint);
+        keyValue.put(EventBridgeConstant.EVENT_TYPE, eventType);
+        keyValueList.add(keyValue);
+        return keyValueList;
+    }
+
+    @Override
+    public Class<? extends Task> taskClass() {
+        return EventBridgeSinkTask.class;
+    }
+
+    @Override
+    public void validate(KeyValue config) {
+        if (StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_ID))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_SECRET))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCOUNT_ENDPOINT))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_ARN))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_SESSION_NAME))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.STS_ENDPOINT))) {
+            throw new RuntimeException("EventBridge required parameter is null !");
+        }
+    }
+
+    @Override
+    public void init(KeyValue config) {
+        accessKeyId = config.getString(EventBridgeConstant.ACCESS_KEY_ID);
+        accessKeySecret = config.getString(EventBridgeConstant.ACCESS_KEY_SECRET);
+        roleArn = config.getString(EventBridgeConstant.ROLE_ARN);
+        roleSessionName = config.getString(EventBridgeConstant.ROLE_SESSION_NAME);

Review Comment:
   it will get a "null" string ,and will be failed when check it blanck or not.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r885241405


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |

Review Comment:
   processed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r885154115


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |
+|eventSubject            | String | NO              | 事件主题                          | xxxx |
+|aliyuneventbusname      | String | YES             | 接收事件的事件总线名称                          | xxxx |
+|connect-topicname       | String  | YES            | sink需要处理数据消息topic                     | xxxx |

Review Comment:
   这个是运行的时候会去校验是否配置了链接主题,如果没有配置会报错。



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r867666888


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,53 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",accountEndpoint”:"${accountEndpoint}","eventId":"${eventId}","eventSource":"${eventSource}","eventType":"${eventType}", 
+"eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",accountEndpoint”:"xxxx","eventId":"xxxx",
+"eventSource":"xxxx","eventType":"", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|accessKeyId             | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                     | xxx |

Review Comment:
   Modified to use RAM role



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] 2011shenlin commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
2011shenlin commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r857209350


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,53 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",accountEndpoint”:"${accountEndpoint}","eventId":"${eventId}","eventSource":"${eventSource}","eventType":"${eventType}", 
+"eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",accountEndpoint”:"xxxx","eventId":"xxxx",
+"eventSource":"xxxx","eventType":"", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|accessKeyId             | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                     | xxx |
+|accountEndpoint         | String  | YES            | 阿里云EventBridge官方接入点                     | xxxx |
+|eventId                 | String  | YES            | 事件ID | xxxx |
+|eventSource             | String  | YES            | 事件源 | xxxx |
+|eventType               | String | YES             | 事件类型                           | null |

Review Comment:
   the attribute of event, extract from the connect record, not from the params of connector.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhouxinyu merged pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhouxinyu merged PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r867667147


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,53 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",accountEndpoint”:"${accountEndpoint}","eventId":"${eventId}","eventSource":"${eventSource}","eventType":"${eventType}", 
+"eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",accountEndpoint”:"xxxx","eventId":"xxxx",
+"eventSource":"xxxx","eventType":"", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|accessKeyId             | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                     | xxx |
+|accountEndpoint         | String  | YES            | 阿里云EventBridge官方接入点                     | xxxx |
+|eventId                 | String  | YES            | 事件ID | xxxx |
+|eventSource             | String  | YES            | 事件源 | xxxx |
+|eventType               | String | YES             | 事件类型                           | null |

Review Comment:
   Properties of the modified event, extracted from the connection record.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r887526150


##########
connectors/aliyun/rocketmq-connect-eventbridge/src/main/java/org/apache/rocketmq/connect/eventbridge/sink/EventBridgeSinkConnector.java:
##########
@@ -0,0 +1,100 @@
+package org.apache.rocketmq.connect.eventbridge.sink;
+
+import io.openmessaging.KeyValue;
+import io.openmessaging.connector.api.component.task.Task;
+import io.openmessaging.connector.api.component.task.sink.SinkConnector;
+import io.openmessaging.internal.DefaultKeyValue;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.connect.eventbridge.sink.constant.EventBridgeConstant;
+import org.apache.rocketmq.connect.eventbridge.sink.utils.DateUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EventBridgeSinkConnector extends SinkConnector {
+
+    private String accessKeyId;
+
+    private String accessKeySecret;
+
+    private String roleArn;
+
+    private String roleSessionName;
+
+    private String eventTime;
+
+    private String eventSubject;
+
+    private String eventType;
+
+    private String aliyuneventbusname;
+
+    private String accountEndpoint;
+
+    private String stsEndpoint;
+
+    @Override
+    public void pause() {
+
+    }
+
+    @Override
+    public void resume() {
+
+    }
+
+    @Override
+    public List<KeyValue> taskConfigs(int maxTasks) {
+        List<KeyValue> keyValueList = new ArrayList<>(11);
+        KeyValue keyValue = new DefaultKeyValue();
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_ID, accessKeyId);
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_SECRET, accessKeySecret);
+        keyValue.put(EventBridgeConstant.ROLE_ARN, roleArn);
+        keyValue.put(EventBridgeConstant.ROLE_SESSION_NAME, roleSessionName);
+        keyValue.put(EventBridgeConstant.EVENT_TIME, eventTime);
+        keyValue.put(EventBridgeConstant.EVENT_SUBJECT, eventSubject);
+        keyValue.put(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME, aliyuneventbusname);
+        keyValue.put(EventBridgeConstant.ACCOUNT_ENDPOINT, accountEndpoint);
+        keyValue.put(EventBridgeConstant.STS_ENDPOINT, stsEndpoint);
+        keyValue.put(EventBridgeConstant.EVENT_TYPE, eventType);
+        keyValueList.add(keyValue);
+        return keyValueList;
+    }
+
+    @Override
+    public Class<? extends Task> taskClass() {
+        return EventBridgeSinkTask.class;
+    }
+
+    @Override
+    public void validate(KeyValue config) {
+        if (StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_ID))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_SECRET))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCOUNT_ENDPOINT))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_ARN))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_SESSION_NAME))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.STS_ENDPOINT))) {
+            throw new RuntimeException("EventBridge required parameter is null !");
+        }
+    }
+
+    @Override
+    public void init(KeyValue config) {
+        accessKeyId = config.getString(EventBridgeConstant.ACCESS_KEY_ID);
+        accessKeySecret = config.getString(EventBridgeConstant.ACCESS_KEY_SECRET);
+        roleArn = config.getString(EventBridgeConstant.ROLE_ARN);
+        roleSessionName = config.getString(EventBridgeConstant.ROLE_SESSION_NAME);

Review Comment:
   processed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] 2011shenlin commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
2011shenlin commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r886955585


##########
connectors/aliyun/rocketmq-connect-eventbridge/src/main/java/org/apache/rocketmq/connect/eventbridge/sink/EventBridgeSinkConnector.java:
##########
@@ -0,0 +1,100 @@
+package org.apache.rocketmq.connect.eventbridge.sink;
+
+import io.openmessaging.KeyValue;
+import io.openmessaging.connector.api.component.task.Task;
+import io.openmessaging.connector.api.component.task.sink.SinkConnector;
+import io.openmessaging.internal.DefaultKeyValue;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.connect.eventbridge.sink.constant.EventBridgeConstant;
+import org.apache.rocketmq.connect.eventbridge.sink.utils.DateUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EventBridgeSinkConnector extends SinkConnector {
+
+    private String accessKeyId;
+
+    private String accessKeySecret;
+
+    private String roleArn;
+
+    private String roleSessionName;
+
+    private String eventTime;
+
+    private String eventSubject;
+
+    private String eventType;
+
+    private String aliyuneventbusname;
+
+    private String accountEndpoint;
+
+    private String stsEndpoint;
+
+    @Override
+    public void pause() {
+
+    }
+
+    @Override
+    public void resume() {
+
+    }
+
+    @Override
+    public List<KeyValue> taskConfigs(int maxTasks) {
+        List<KeyValue> keyValueList = new ArrayList<>(11);
+        KeyValue keyValue = new DefaultKeyValue();
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_ID, accessKeyId);
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_SECRET, accessKeySecret);
+        keyValue.put(EventBridgeConstant.ROLE_ARN, roleArn);
+        keyValue.put(EventBridgeConstant.ROLE_SESSION_NAME, roleSessionName);
+        keyValue.put(EventBridgeConstant.EVENT_TIME, eventTime);
+        keyValue.put(EventBridgeConstant.EVENT_SUBJECT, eventSubject);
+        keyValue.put(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME, aliyuneventbusname);
+        keyValue.put(EventBridgeConstant.ACCOUNT_ENDPOINT, accountEndpoint);
+        keyValue.put(EventBridgeConstant.STS_ENDPOINT, stsEndpoint);
+        keyValue.put(EventBridgeConstant.EVENT_TYPE, eventType);
+        keyValueList.add(keyValue);
+        return keyValueList;
+    }
+
+    @Override
+    public Class<? extends Task> taskClass() {
+        return EventBridgeSinkTask.class;
+    }
+
+    @Override
+    public void validate(KeyValue config) {
+        if (StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_ID))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_SECRET))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCOUNT_ENDPOINT))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_ARN))

Review Comment:
   ROLE ARN \ROLE SESSION NAME\ STS is not necessary  when in ak mode directly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] 2011shenlin commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
2011shenlin commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r885145354


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |
+|eventSubject            | String | NO              | 事件主题                          | xxxx |

Review Comment:
   eventSource & eventType is necessary here.



##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |

Review Comment:
   eventTime is not useful here.



##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |

Review Comment:
   when roleArn and  roleSessionName is empty,  use the accessKeyId and accessKeySecret directly.



##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |
+|eventSubject            | String | NO              | 事件主题                          | xxxx |
+|aliyuneventbusname      | String | YES             | 接收事件的事件总线名称                          | xxxx |
+|connect-topicname       | String  | YES            | sink需要处理数据消息topic                     | xxxx |

Review Comment:
   why need connect-topicname   here?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r885172384


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |

Review Comment:
   processed



##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |
+|eventSubject            | String | NO              | 事件主题                          | xxxx |

Review Comment:
   processed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] 2011shenlin commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
2011shenlin commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r857209006


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,53 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",accountEndpoint”:"${accountEndpoint}","eventId":"${eventId}","eventSource":"${eventSource}","eventType":"${eventType}", 
+"eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",accountEndpoint”:"xxxx","eventId":"xxxx",
+"eventSource":"xxxx","eventType":"", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|accessKeyId             | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云身份验证,在阿里云用户信息管理控制台获取                     | xxx |

Review Comment:
   Use the RAM role , not the ak/sk.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r887401765


##########
connectors/aliyun/rocketmq-connect-eventbridge/src/main/java/org/apache/rocketmq/connect/eventbridge/sink/EventBridgeSinkConnector.java:
##########
@@ -0,0 +1,100 @@
+package org.apache.rocketmq.connect.eventbridge.sink;
+
+import io.openmessaging.KeyValue;
+import io.openmessaging.connector.api.component.task.Task;
+import io.openmessaging.connector.api.component.task.sink.SinkConnector;
+import io.openmessaging.internal.DefaultKeyValue;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.rocketmq.connect.eventbridge.sink.constant.EventBridgeConstant;
+import org.apache.rocketmq.connect.eventbridge.sink.utils.DateUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class EventBridgeSinkConnector extends SinkConnector {
+
+    private String accessKeyId;
+
+    private String accessKeySecret;
+
+    private String roleArn;
+
+    private String roleSessionName;
+
+    private String eventTime;
+
+    private String eventSubject;
+
+    private String eventType;
+
+    private String aliyuneventbusname;
+
+    private String accountEndpoint;
+
+    private String stsEndpoint;
+
+    @Override
+    public void pause() {
+
+    }
+
+    @Override
+    public void resume() {
+
+    }
+
+    @Override
+    public List<KeyValue> taskConfigs(int maxTasks) {
+        List<KeyValue> keyValueList = new ArrayList<>(11);
+        KeyValue keyValue = new DefaultKeyValue();
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_ID, accessKeyId);
+        keyValue.put(EventBridgeConstant.ACCESS_KEY_SECRET, accessKeySecret);
+        keyValue.put(EventBridgeConstant.ROLE_ARN, roleArn);
+        keyValue.put(EventBridgeConstant.ROLE_SESSION_NAME, roleSessionName);
+        keyValue.put(EventBridgeConstant.EVENT_TIME, eventTime);
+        keyValue.put(EventBridgeConstant.EVENT_SUBJECT, eventSubject);
+        keyValue.put(EventBridgeConstant.ALIYUN_EVENT_BUS_NAME, aliyuneventbusname);
+        keyValue.put(EventBridgeConstant.ACCOUNT_ENDPOINT, accountEndpoint);
+        keyValue.put(EventBridgeConstant.STS_ENDPOINT, stsEndpoint);
+        keyValue.put(EventBridgeConstant.EVENT_TYPE, eventType);
+        keyValueList.add(keyValue);
+        return keyValueList;
+    }
+
+    @Override
+    public Class<? extends Task> taskClass() {
+        return EventBridgeSinkTask.class;
+    }
+
+    @Override
+    public void validate(KeyValue config) {
+        if (StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_ID))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCESS_KEY_SECRET))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ACCOUNT_ENDPOINT))
+                || StringUtils.isBlank(config.getString(EventBridgeConstant.ROLE_ARN))

Review Comment:
   processed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [rocketmq-connect] zhaohai666 commented on a diff in pull request #119: [ISSUE #118] Add connect eventbridge

Posted by GitBox <gi...@apache.org>.
zhaohai666 commented on code in PR #119:
URL: https://github.com/apache/rocketmq-connect/pull/119#discussion_r885154115


##########
connectors/aliyun/rocketmq-connect-eventbridge/README.md:
##########
@@ -0,0 +1,51 @@
+# rocketmq-connect-eventbridge
+* **rocketmq-connect-eventbridge** 说明
+```
+Be responsible for consuming messages from producer and writing data to eventbridge.
+```
+
+## rocketmq-connect-eventbridge 打包
+```
+mvn clean install -Dmaven.test.skip=true
+```
+
+## rocketmq-connect-eventbridge 启动
+
+* **eventbridge-sink-connector** 启动
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-sink-connector-name}
+?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"${connect-topicname}"
+,"stsEndpoint”:"${stsEndpoint}",accessKeyId”:"${accessKeyId}",accessKeySecret”:"${accessKeySecret}",roleArn”:"${roleArn}", "roleSessionName":"${roleSessionName}", "eventTime":"${eventTime}","eventSubject":"${eventSubject}","aliyuneventbusname":"${aliyuneventbusname}"}
+```
+
+例子 
+```
+http://localhost:8081/connectors/eventbridgeConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
+"connector-class":"org.apache.rocketmq.connect.eventbridge.sink.EventBridgeSinkConnector",“connect-topicname”:"eventbridge-topic","stsEndpoint”:"xxxx",accessKeyId”:"xxxx",accessKeySecret”:"xxxx",
+roleArn”:"xxxx", "roleSessionName":"xxxx", "eventTime":"xxxx","eventSubject":"", "aliyuneventbusname":"xxxx"}
+```
+
+>**注:** `rocketmq-eventbridge-connect` 的启动依赖于`rocketmq-connect-runtime`项目的启动,需将打好的所有`jar`包放置到`runtime`项目中`pluginPaths`配置的路径后再执行上面的启动请求,该值配置在`runtime`项目下的`connect.conf`文件中
+
+## rocketmq-connect-eventbridge 停止
+
+```
+http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-eventbridge-connector-name}/stop
+```
+
+## rocketmq-connect-eventbridge 参数说明
+* **eventbridge-sink-connector 参数说明**
+
+|         KEY            |  TYPE   | Must be filled | Description                      | Example
+|------------------------|---------|----------------|----------------------------------|--|
+|stsEndpoint             | String  | YES            | STS endpoint                       | xxxx|
+|accessKeyId             | String  | YES            | 阿里云授信账号的AK                    | xxxx |
+|accessKeySecret         | String  | YES            | 阿里云授信账号的SK                     | xxx |
+|roleArn                 | String  | YES            | 要扮演的RAM角色ARN。 该角色是可信实体为阿里云账号类型的RAM角色                     | xxxx |
+|roleSessionName         | String  | YES            | 角色会话名称。 该参数为用户自定义参数。通常设置为调用该API的用户身份                  | 用户名 |
+|eventTime               | String | YES             | 事件产生的时间                          | xxxx |
+|eventSubject            | String | NO              | 事件主题                          | xxxx |
+|aliyuneventbusname      | String | YES             | 接收事件的事件总线名称                          | xxxx |
+|connect-topicname       | String  | YES            | sink需要处理数据消息topic                     | xxxx |

Review Comment:
   这个是运行的时候会去校验是否配置了链接主题,如果没有配置会报错。
   ![image](https://user-images.githubusercontent.com/33314633/171103090-83dd43ef-b125-4080-bb1f-a755e9789c35.png)
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org