更新时间:2024-03-29 GMT+08:00
分享

创建事件流

功能介绍

创建事件流。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/eventstreamings

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:1

最大长度:16384

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

事件流名称,租户下唯一,由字母、数字、点、下划线和中划线组成,必须字母或数字开头

最小长度:1

最大长度:128

description

String

事件流描述

最大长度:255

source

EventStreamingSource object

事件源,一个事件流中事件源只有一个

sink

EventStreamingSink object

事件目标,一个事件流中只有一个

rule_config

rule_config object

事件规则,包括过滤规则和转换规则

option

RunOption object

运行时配置信息

表4 EventStreamingSource

参数

是否必选

参数类型

描述

source_kafka

SourceKafkaMQParameters object

华为云DMS版kafka类型事件源

source_mobile_rocketmq

SourceMobileMQParameters object

移动云版rocketMQ类型事件源

source_community_rocketmq

SourceCommunityMQParameters object

社区版rocketMQ类型事件源

source_dms_rocketmq

SourceDMSMQParameters object

华为云DMS版rocketMQ事件源

name

String

事件源类型名称

枚举值:

  • HC.Kafka

  • HC.COMMUNITY_ROCKETMQ

  • HC.DMS_ROCKETMQ

  • HC.MOBILE_ROCKETMQ

表5 SourceKafkaMQParameters

参数

是否必选

参数类型

描述

addr

String

kafka连接地址

group

String

kafka消费组

最小长度:1

最大长度:256

instance_name

String

kafka实例名称

最小长度:4

最大长度:64

security_protocol

String

安全协议

instance_id

String

kafka实例ID

最小长度:1

最大长度:256

topic

String

kafka topic名称

最小长度:3

最大长度:200

seek_to

String

消费点位

枚举值:

  • latest

  • earliest

enable_sasl_ssl

Boolean

SASL_SSL是否开启

sasl_mechanism

String

SASL认证机制

枚举值:

  • SCRAM-SHA-512

  • PLAIN

ssl_certificate_url

String

SASL证书地址,配置的obs地址

最小长度:1

最大长度:512

ssl_certificate_pwd

String

SASL证书密码

最小长度:1

最大长度:256

user_name

String

用户名

最小长度:1

最大长度:256

password

String

用户密码

最小长度:1

最大长度:256

表6 SourceMobileMQParameters

参数

是否必选

参数类型

描述

group_id

String

消费组id

最小长度:3

最大长度:128

instance_id

String

实例id

最小长度:3

最大长度:128

topic

String

topic

最小长度:3

最大长度:128

tag

String

标签

最大长度:128

authentication_required

Boolean

鉴权认证

msg_trace_switch

Boolean

保存消息轨迹

access_key

String

AccessKey

最大长度:128

secret_key

String

SecretKey

最大长度:128

message_model

String

订阅方式

缺省值:CLUSTERING

枚举值:

  • CLUSTERING

  • BROADCASTING

addr_type

String

接入点类型

缺省值:PUBLIC

枚举值:

  • PUBLIC

  • PRIVATE

addr

String

地址

最大长度:256

sdk_url

String

依赖SDK

最大长度:256

consume_timeout

Integer

消费超时时间

最小值:1000

最大值:900000

缺省值:30000

message_type

String

消息类型

枚举值:

  • NORMAL

suspend_time

Integer

失败重试的等待时间

最小值:10

最大值:1800

缺省值:1800

max_reconsumer_times

Integer

最大重试次数

最小值:1

最大值:16

缺省值:3

consumer_thread_nums

Integer

消费线程数

最小值:20

最大值:64

缺省值:20

consumer_batch_max_size

Integer

批量消费最大消息数

最小值:1

最大值:1024

缺省值:20

consumer_max_wait

Integer

批量消费最大等待时长,单位:秒

最小值:0

最大值:450

缺省值:5

vpc_id

String

虚拟私有云

subnet_id

String

子网

表7 SourceCommunityMQParameters

参数

是否必选

参数类型

描述

instance_name

String

实例名称,仅dms的rockectMq需要该字段

最大长度:128

instance_id

String

实例ID,仅dms的rockectMq需要该字段

最大长度:128

addr

String

rockectMq连接地址

group

String

消费组

最小长度:3

最大长度:64

topic

String

topic名称

最小长度:3

最大长度:64

tag

String

标签

最大长度:128

vpc_id

String

虚拟云id

最大长度:256

subnet_id

String

子网id

最大长度:256

ssl_enable

Boolean

开启SSL

enable_acl

Boolean

ACL访问控制

access_key

String

用户名

最大长度:128

secret_key

String

密码

message_type

String

消息类型

枚举值:

  • normal

consume_timeout

Integer

消费超时时间

最小值:1000

最大值:900000

缺省值:30000

consumer_thread_nums

Integer

线程消费数

最小值:20

最大值:64

缺省值:20

consumer_batch_max_size

Integer

批量消费最大消息数

最小值:1

最大值:32

缺省值:1

表8 SourceDMSMQParameters

参数

是否必选

参数类型

描述

instance_name

String

实例名称,仅dms的rockectMq需要该字段

最大长度:128

instance_id

String

实例ID,仅dms的rockectMq需要该字段

最大长度:128

group

String

消费组

最小长度:3

最大长度:64

topic

String

topic名称

最小长度:3

最大长度:64

tag

String

标签

最大长度:128

ssl_enable

Boolean

开启SSL

enable_acl

Boolean

ACL访问控制

access_key

String

用户名

最大长度:128

secret_key

String

密码

message_type

String

消费方式,针对不同生产顺序消息类型,选择消费方式会导致不同结果,请严格按照需求选择消费方式。1、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:顺序消费,实际消息处理结果:按照消息组粒度,严格保证消息顺序。 同一消息组内的消息的消费顺序和发送顺序完全一致。2、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按时间顺序处理。3、生产顺序为:未设置消息组,消息乱序发送。消费方式为:顺序消费,实际消息处理结果:按队列存储粒度,严格顺序。 基于 Apache RocketMQ 本身队列的属性,消费顺序和队列存储的顺序一致,但不保证和发送顺序一致。4、生产顺序为:未设置消息组,消息乱序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按照时间顺序处理。

枚举值:

  • NORMAL

  • ORDER

engine_version

String

mq实例版本

枚举值:

  • 4.x

  • 5.x

consume_timeout

Integer

消费超时时间

最小值:1000

最大值:900000

缺省值:30000

consumer_thread_nums

Integer

线程消费数

最小值:20

最大值:64

缺省值:20

consumer_batch_max_size

Integer

批量消费最大消息数

最小值:1

最大值:32

缺省值:1

表9 EventStreamingSink

参数

是否必选

参数类型

描述

sink_fg

SinkFGParameters object

函数目标参数

sink_kafka

SinkKafkaParameters object

kafka目标参数

name

String

事件目标类型名称

枚举值:

  • HC.FunctionGraph

  • HC.Kafka

表10 SinkFGParameters

参数

是否必选

参数类型

描述

invoke_type

String

函数执行方式,同步/异步

枚举值:

  • SYNC,ASYNC

urn

String

函数链接

最小长度:1

最大长度:512

agency

String

租户委托

表11 SinkKafkaParameters

参数

是否必选

参数类型

描述

topic

String

topic名称

keyTransform

Array of TransForm objects

key的转换规则

connectionId

String

目标连接id

表12 TransForm

参数

是否必选

参数类型

描述

type

String

转换规则类型

枚举值:

  • ORIGINAL

  • CONSTANT

  • VARIABLE

value

String

常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。

最大长度:1024

template

String

变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。

最大长度:2048

表13 rule_config

参数

是否必选

参数类型

描述

transform

TransForm object

转换规则

filter

Object

过滤规则

表14 RunOption

参数

是否必选

参数类型

描述

thread_num

Integer

并发数

最小值:1

最大值:1000

batch_window

BatchWindow object

批量推送

表15 BatchWindow

参数

是否必选

参数类型

描述

count

Integer

批量推送条数

最小值:1

最大值:10000

缺省值:1

time

Integer

重试次数

最小值:0

最大值:15

缺省值:3

interval

Integer

批量推送间隔,单位秒

最小值:0

最大值:15

缺省值:0

响应参数

状态码: 200

表16 响应Header参数

参数

参数类型

描述

X-Request-Id

String

This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname.

表17 响应Body参数

参数

参数类型

描述

eventStreamingID

String

事件流ID

状态码: 400

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 401

表19 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 403

表20 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 404

表21 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 500

表22 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

请求示例

响应示例

状态码: 400

{
  "error_code" : "EG.00014000",
  "error_msg" : "Bad request"
}

状态码: 401

{
  "error_code" : "EG.00014010",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码: 403

{
  "error_code" : "EG.00014030",
  "error_msg" : "No permissions to request this method"
}

状态码: 404

{
  "error_code" : "EG.00014040",
  "error_msg" : "Not request resource found"
}

状态码: 500

{
  "error_code" : "EG.00015000",
  "error_msg" : "Internal Server Error"
}

状态码

状态码

描述

200

创建事件流成功

400

非法请求

401

未授权

403

禁止访问

404

未找到资源

500

内部服务错误

错误码

请参见错误码

相关文档