更新时间:2025-04-25 GMT+08:00
分享

更新事件订阅

功能介绍

更新事件订阅定义。

调试

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

URI

PUT /v1/{project_id}/subscriptions/{subscription_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户资源空间ID

subscription_id

String

事件订阅ID

表2 Query参数

参数

是否必选

参数类型

描述

enterprise_project_id

String

创建订阅时所使用的企业项目id

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表4 请求Body参数

参数

是否必选

参数类型

描述

description

String

订阅描述

sources

Array of SubscriptionSource objects

订阅事件源列表,字段存在则代表全量更新订阅源

targets

Array of SubscriptionTarget objects

订阅事件目标列表,字段存在则代表全量更新订阅目标

表5 SubscriptionSource

参数

是否必选

参数类型

描述

id

String

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

name

String

订阅的事件源名称

provider_type

String

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

detail

Object

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

filter

Object

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

表6 SubscriptionTarget

参数

是否必选

参数类型

描述

id

String

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

name

String

订阅的事件目标名称

provider_type

String

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

connection_id

String

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

detail

Object

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

kafka_detail

KafkaTargetDetail object

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

smn_detail

SmnTargetDetail object

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

eg_detail

EgTargetDetail object

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

apigw_detail

ApigwTargetDetail object

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

retry_times

Integer

重试次数

transform

TransForm object

订阅的事件目标转换规则

dead_letter_queue

DeadLetterQueue object

订阅的死信参数列表

表7 KafkaTargetDetail

参数

是否必选

参数类型

描述

topic

String

主题

keyTransform

keyTransform object

键值规则

表8 keyTransform

参数

是否必选

参数类型

描述

type

String

键值规则类型

value

String

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

template

String

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

表9 SmnTargetDetail

参数

是否必选

参数类型

描述

urn

String

主题urn

agency_name

String

委托名称

subject_transform

subject_transform object

标题规则

表10 subject_transform

参数

是否必选

参数类型

描述

type

String

标题规则类型

value

String

标题规则

template

String

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

表11 EgTargetDetail

参数

是否必选

参数类型

描述

target_project_id

String

目标项目id

target_channel_id

String

目标通道id

target_region

String

目标region

cross_region

Boolean

跨region开关

cross_account

Boolean

跨账号开关

agency_name

String

委托名称

表12 ApigwTargetDetail

参数

是否必选

参数类型

描述

url

String

目标url

invocation_http_parameters

InvocationHttpParameters object

调用Http的参数

表13 InvocationHttpParameters

参数

是否必选

参数类型

描述

header_parameters

Array of HeaderParameter objects

对象列表

表14 HeaderParameter

参数

是否必选

参数类型

描述

is_value_secret

Boolean

是否加密

key

String

header的key值

value

String

deader的value值

表15 TransForm

参数

是否必选

参数类型

描述

type

String

转换规则类型

value

String

常量类型规则时,字段为常量内容定义;

变量类型规则时,为变量定义,内容必须为JsonObject字符串。

变量最多支持100个,且不支持嵌套结构定义;

变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符;

变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。

template

String

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

表16 DeadLetterQueue

参数

是否必选

参数类型

描述

type

String

队列类型

instance_id

String

实例id

connection_id

String

目标连接id

topic

String

主题

响应参数

状态码:200

表17 响应Header参数

参数

参数类型

描述

X-Request-Id

String

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

表18 响应Body参数

参数

参数类型

描述

id

String

订阅ID

name

String

订阅名称

description

String

订阅描述

type

String

类型

status

String

状态

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

更新时间

表19 SubscriptionUsedInfo

参数

参数类型

描述

resource_id

String

关联资源ID

owner

String

管理租户账号

description

String

描述

表20 SubscriptionSourceInfo

参数

参数类型

描述

id

String

订阅源ID

name

String

订阅的事件源名称

provider_type

String

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

detail

Object

订阅的事件源参数列表

filter

Object

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

created_time

String

创建时间

updated_time

String

更新时间

表21 SubscriptionTargetInfo

参数

参数类型

描述

id

String

订阅目标ID

name

String

订阅的事件目标名称

provider_type

String

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

connection_id

String

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

detail

Object

订阅的事件目标参数列表

kafka_detail

KafkaTargetDetail object

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

smn_detail

SmnTargetDetail object

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

eg_detail

EgTargetDetail object

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

apigw_detail

ApigwTargetDetail object

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

retry_times

Integer

重试次数

transform

TransForm object

订阅的事件目标转换规则

dead_letter_queue

DeadLetterQueue object

订阅的死信参数列表

created_time

String

创建时间

updated_time

String

更新时间

表22 KafkaTargetDetail

参数

参数类型

描述

topic

String

主题

keyTransform

keyTransform object

键值规则

表23 keyTransform

参数

参数类型

描述

type

String

键值规则类型

value

String

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

template

String

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

表24 SmnTargetDetail

参数

参数类型

描述

urn

String

主题urn

agency_name

String

委托名称

subject_transform

subject_transform object

标题规则

表25 subject_transform

参数

参数类型

描述

type

String

标题规则类型

value

String

标题规则

template

String

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

表26 EgTargetDetail

参数

参数类型

描述

target_project_id

String

目标项目id

target_channel_id

String

目标通道id

target_region

String

目标region

cross_region

Boolean

跨region开关

cross_account

Boolean

跨账号开关

agency_name

String

委托名称

表27 ApigwTargetDetail

参数

参数类型

描述

url

String

目标url

invocation_http_parameters

InvocationHttpParameters object

调用Http的参数

表28 InvocationHttpParameters

参数

参数类型

描述

header_parameters

Array of HeaderParameter objects

对象列表

表29 HeaderParameter

参数

参数类型

描述

is_value_secret

Boolean

是否加密

key

String

header的key值

value

String

deader的value值

表30 TransForm

参数

参数类型

描述

type

String

转换规则类型

value

String

常量类型规则时,字段为常量内容定义;

变量类型规则时,为变量定义,内容必须为JsonObject字符串。

变量最多支持100个,且不支持嵌套结构定义;

变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符;

变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。

template

String

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

表31 DeadLetterQueue

参数

参数类型

描述

type

String

队列类型

instance_id

String

实例id

connection_id

String

目标连接id

topic

String

主题

请求示例

更新事件订阅

PUT https://{endpoint}/v1/{project_id}/subscriptions/{subscription_id}

{
  "description" : "开发用",
  "sources" : [ {
    "detail" : { },
    "filter" : {
      "source" : [ {
        "op" : "StringIn",
        "values" : [ "ghm" ]
      } ]
    },
    "id" : "4fca4f29-917b-44d3-bb30-4310f89d08cb",
    "name" : "ghm",
    "provider_type" : "CUSTOM"
  } ],
  "targets" : [ {
    "id" : "4261f07e-975c-457f-aa91-0bd33d64baba",
    "name" : "HC.SMN",
    "provider_type" : "OFFICIAL",
    "retry_times" : 16,
    "smn_detail" : {
      "agency_name" : "EG_TARGET_AGENCY",
      "urn" : "urn:smn:cn-north-7:bac852160cc743158936edaab6dda813:CES_notification_group_xMXxPQ1ry"
    },
    "transform" : {
      "type" : "ORIGINAL",
      "value" : ""
    }
  } ]
}

响应示例

状态码:200

Information

{
  "id" : "23709d68-54d5-423b-a6be-03302e893152",
  "name" : "test-subscription",
  "description" : "this is a test subscription",
  "type" : "EVENT",
  "status" : "CREATED",
  "channel_id" : "05649f9a-b324-4920-9c49-156d4cd2e546",
  "channel_name" : "channel006",
  "used" : [ { } ],
  "sources" : [ { } ],
  "targets" : [ { } ],
  "created_time" : "2021-12-09 09:00:00",
  "updated_time" : "2021-12-09 09:00:00"
}

状态码

状态码

描述

200

Information

错误码

请参见错误码

相关文档