更新时间:2023-12-12 GMT+08:00
分享

创建事件订阅

功能介绍

创建事件订阅。

调试

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

URI

POST /v1/{project_id}/subscriptions

表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

channel_id

String

所属事件通道ID

sources

Array of SubscriptionSource objects

订阅的事件源列表, 当前仅支持订阅一个事件源

数组长度:1 - 1

targets

Array of SubscriptionTarget objects

事件目标列表,至少订阅一个事件目标

表4 SubscriptionSource

参数

是否必选

参数类型

描述

id

String

订阅源ID,需保证全局唯一。指定ID的订阅源存在时则进行更新,否则进行创建;未指定时由系统自动生成。由小写字母、数字、中划线组成,必须字母或数字开头。

最小长度:32

最大长度:64

name

String

订阅的事件源名称

最大长度:128

provider_type

String

订阅的事件源的提供方类型

枚举值:

  • CUSTOM

  • OFFICIAL

  • PARTNER

detail

Object

订阅的事件源参数列表, 该字段序列化后总长度不超过1024字节

filter

Object

订阅事件源的匹配过滤规则, 该字段序列化后总长度不超过2048字节

表5 SubscriptionTarget

参数

是否必选

参数类型

描述

id

String

订阅目标ID,需保证全局唯一,由小写字母、数字、中划线组成,必须字母或数字开头。 更新订阅场景时,指定ID的订阅目标存在时则进行更新,否则进行创建; 创建订阅目标场景时,指定ID作为待创建的订阅目标对象ID,未指定时由系统自动生成。 更新订阅目标时,此字段忽略;

最小长度:32

最大长度:64

name

String

订阅的事件目标名称

最大长度:128

provider_type

String

订阅的事件目标的提供方类型

枚举值:

  • CUSTOM

  • OFFICIAL

connection_id

String

订阅的事件目标使用的目标链接ID

最大长度:64

detail

Detail object

订阅的事件目标参数列表,该字段序列化后总长度不超过1024字节,函数、函数流、webhook订阅目标必填,其中函数、函数流委托名称必填

kafka_detail

KafkaTargetDetail object

订阅的事件kafka目标参数列表,该字段序列化后总长度不超过1024字节,kafka订阅目标必填

smn_detail

SmnTargetDetail object

订阅的事件smn目标参数列表,该字段序列化后总长度不超过1024字节,smn订阅目标必填

transform

TransForm object

订阅的事件目标转换规则

dead_letter_queue

DeadLetterQueue object

订阅的死信参数列表

表6 Detail

参数

是否必选

参数类型

描述

url

String

自定义目标url

agency_name

String

委托名称

invocation_http_parameters

InvocationHttpParameters object

invoke_type

String

函数调用方式,异步/同步

枚举值:

  • SYNC,ASYNC

表7 InvocationHttpParameters

参数

是否必选

参数类型

描述

header_parameters

Array of HeaderParameter objects

对象列表

数组长度:0 - 5

表8 HeaderParameter

参数

是否必选

参数类型

描述

is_value_secret

Boolean

是否加密

key

String

header的key值

最小长度:1

最大长度:256

value

String

header的value值

最小长度:1

最大长度:1024

表9 KafkaTargetDetail

参数

是否必选

参数类型

描述

topic

String

主题

keyTransform

keyTransform object

键值规则

表10 keyTransform

参数

是否必选

参数类型

描述

type

String

键值规则类型

枚举值:

  • NONE

  • VARIABLE

  • CONSTANT

value

String

键值规则,键值规则为VARIABLE,CONSTANT时必填

template

String

键值规则模板,键值规则为VARIABLE时必填

表11 SmnTargetDetail

参数

是否必选

参数类型

描述

urn

String

主题urn

agency_name

String

委托名称

subject_transform

subject_transform object

标题规则

表12 subject_transform

参数

是否必选

参数类型

描述

type

String

标题规则类型

枚举值:

  • VARIABLE

  • CONSTANT

value

String

标题规则

template

String

标题规则模板,键值规则为VARIABLE时必填

表13 TransForm

参数

是否必选

参数类型

描述

type

String

转换规则类型

枚举值:

  • ORIGINAL

  • CONSTANT

  • VARIABLE

value

String

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

最大长度:1024

template

String

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

最大长度:2048

表14 DeadLetterQueue

参数

是否必选

参数类型

描述

type

String

队列类型

枚举值:

  • KAFKA

instance_id

String

实例id

最小长度:1

最大长度:128

connection_id

String

目标连接id

最小长度:1

最大长度:128

topic

String

主题

最小长度:1

最大长度:128

响应参数

状态码: 200

表15 响应Header参数

参数

参数类型

描述

X-Request-Id

String

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

表16 响应Body参数

参数

参数类型

描述

id

String

订阅ID

name

String

订阅名称

description

String

订阅描述

type

String

类型

枚举值:

  • EVENT

  • SCHEDULED

status

String

状态

枚举值:

  • CREATED

  • ENABLED

  • DISABLED

  • FROZEN

  • ERROR

channel_id

String

通道ID

channel_name

String

通道名称

used

Array of SubscriptionUsedInfo objects

标签信息

sources

Array of SubscriptionSourceInfo objects

订阅源列表

targets

Array of SubscriptionTargetInfo objects

订阅目标列表

created_time

String

创建时间

updated_time

String

更新时间

表17 SubscriptionUsedInfo

参数

参数类型

描述

resource_id

String

关联资源ID

owner

String

管理租户账号

description

String

描述

表18 SubscriptionSourceInfo

参数

参数类型

描述

id

String

订阅源ID

name

String

订阅的事件源名称

provider_type

String

订阅的事件源的提供方类型

detail

Object

订阅的事件源参数列表

filter

Object

订阅事件源的匹配过滤规则

created_time

String

创建时间

updated_time

String

更新时间

表19 SubscriptionTargetInfo

参数

参数类型

描述

id

String

订阅目标ID

name

String

订阅的事件目标名称

provider_type

String

订阅的事件目标的提供方类型

connection_id

String

订阅的事件目标使用的目标链接ID

最大长度:64

detail

Object

订阅的事件目标参数列表

transform

TransForm object

订阅的事件目标转换规则

dead_letter_queue

DeadLetterQueue object

订阅的死信参数列表

created_time

String

创建时间

updated_time

String

更新时间

表20 TransForm

参数

参数类型

描述

type

String

转换规则类型

枚举值:

  • ORIGINAL

  • CONSTANT

  • VARIABLE

value

String

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

最大长度:1024

template

String

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

最大长度:2048

表21 DeadLetterQueue

参数

参数类型

描述

type

String

队列类型

枚举值:

  • KAFKA

instance_id

String

实例id

最小长度:1

最大长度:128

connection_id

String

目标连接id

最小长度:1

最大长度:128

topic

String

主题

最小长度:1

最大长度:128

状态码: 400

表22 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 401

表23 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 403

表24 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 404

表25 响应Body参数

参数

参数类型

描述

error_code

String

错误码

最小长度:1

最大长度:128

error_msg

String

错误消息

最小长度:1

最大长度:512

error_details

String

具体错误消息

最小长度:1

最大长度:1024

request_id

String

请求处理ID

最小长度:1

最大长度:128

状态码: 500

表26 响应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

Demo Information

400

非法请求

401

未授权

403

禁止访问

404

未找到资源

500

内部服务错误

错误码

请参见错误码

分享:

    相关文档

    相关产品