HTTP

HTTP Source Connector

配置

使用 HTTP source connector 前,需要进行 server 的配置。

  • 请在 /resource/server-config.yml 中配置 sourceEnabletrue 以开启 source 功能。
  • 请在 /resource/source-config.yml中配置 source connector, 在此仅说明 connectorConfig 下的配置:
    • connectorName, connector 的名称
    • (必需) path, 接口的路径
    • (必需) port, 接口的端口
    • idleTimeout, 空闲 TCP 连接超时时间,单位为秒。超过 idleTimeout 秒没有进行数据接收或发送的连接将会发生超时并被关闭。默认为 0, 不会发生超时。

启动

  1. 启动 EventMesh Runtime
  2. 启动 eventmesh-connector-http

完成后,HTTP source connector 会作为一个 HTTP 服务器对外提供服务。

发送消息

你可以通过 HTTP 向 source connector 发送消息。

  1. connectorConfig:
  2. connectorName: httpSource
  3. path: /test
  4. port: 3755
  5. idleTimeout: 5

上述的例子在source-config.yml中配置了一个 URL http://localhost:3755/test.

你可以按照 cloudevent-spec 中的规定,以binary模式或者structured模式发送消息。

这里是两个例子:

binary模式发送消息。

  1. curl --location --request POST 'http://localhost:3755/test' \
  2. --header 'ce-id: 1' \
  3. --header 'ce-specversion: 1.0' \
  4. --header 'ce-type: com.example.someevent' \
  5. --header 'ce-source: /mycontext' \
  6. --header 'ce-subject: test_topic' \
  7. --header 'Content-Type: text/plain' \
  8. --data-raw 'testdata'

structured模式发送消息。

  1. curl --location --request POST 'http://localhost:3755/test' \
  2. --header 'Content-Type: application/cloudevents+json' \
  3. --data-raw '{
  4. "id": "1",
  5. "specversion": "1.0",
  6. "type": "com.example.someevent",
  7. "source": "/mycontext",
  8. "subject":"test_topic",
  9. "datacontenttype":"text/plain",
  10. "data": "testdata"
  11. }'