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

创建规则动作

功能介绍

应用服务器可调用此接口在设施云平台创建一条规则动作。

URI

POST /v1/iotfm/routing-rules/{rule_id}/actions

表1 路径参数

参数

是否必选

参数类型

描述

rule_id

String

参数说明:规则条件ID。

取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用 生成Token 接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。

X-Instance-Id

String

参数说明:实例ID。通过访问智能设施云平台界面后获取,智能设施云平台资源均为实例级隔离,所有业务接口必须填写正确的实例ID才能被成功调用。

取值范围:长度8-36,只允许大小写字母、数字和-字符的组合。

表3 请求Body参数

参数

是否必选

参数类型

描述

channel

String

规则动作的类型,取值范围:

  • DMS_KAFKA_FORWARDING:转发kafka消息类型。

channel_detail

ChannelDetail object

通道参数。

表4 ChannelDetail

参数

是否必选

参数类型

描述

dms_kafka_forwarding

DmsKafkaForwarding object

转发kafka消息内容。当type为DMS_KAFKA_FORWARDING时,必填。

表5 DmsKafkaForwarding

参数

是否必选

参数类型

描述

addresses

Array of NetAddress objects

转发kafka消息对应的地址列表,只支持ip

topic

String

转发kafka消息关联的topic信息。

username

String

转发kafka关联的用户名信息。

password

String

转发kafka关联的密码信息。

mechanism

String

转发kafka关联的鉴权机制,此字段不填默认为PLAIN。

类型说明:

PLAIN:SASL/PLAIN模式。需要填写对应的用户名密码信息。一种简单的用户名密码校验机制,在SASL_PLAINTEXT场景下,不建议使用。

SCRAM-SHA-512: SASL/SCRAM-SHA-512模式。需要填写对应的用户名密码信息。采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。

security_protocol

String

kafka传输安全协议,此字段不填默认为SASL_SSL。

SASL_SSL:采用SSL证书进行加密传输,支持帐号密码认证,安全性更高。

SASL_PLAINTEXT:明文传输,支持帐号密码认证,性能更好,建议mechanism使用SCRAM-SHA-512机制。

表6 NetAddress

参数

是否必选

参数类型

描述

ip

String

服务的对应IP

port

Integer

服务对应端口

domain

String

服务对应的域名

响应参数

状态码:201

表7 响应Body参数

参数

参数类型

描述

action_id

String

规则动作ID,用于唯一标识一条规则动作,在创建规则动作时由设施云平台分配获得,创建时无需携带,由平台统一分配唯一的action_id。

rule_id

String

规则动作对应的的规则触发条件ID。

channel

String

规则动作的类型。取值范围:DMS_KAFKA_FORWARDING:转发kafka消息类型。

channel_detail

ChannelDetail object

通道配置信息。

表8 ChannelDetail

参数

参数类型

描述

dms_kafka_forwarding

DmsKafkaForwarding object

转发kafka消息内容。当type为DMS_KAFKA_FORWARDING时,必填。

表9 DmsKafkaForwarding

参数

参数类型

描述

addresses

Array of NetAddress objects

转发kafka消息对应的地址列表,只支持ip

topic

String

转发kafka消息关联的topic信息。

username

String

转发kafka关联的用户名信息。

password

String

转发kafka关联的密码信息。

mechanism

String

转发kafka关联的鉴权机制,此字段不填默认为PLAIN。

类型说明:

PLAIN:SASL/PLAIN模式。需要填写对应的用户名密码信息。一种简单的用户名密码校验机制,在SASL_PLAINTEXT场景下,不建议使用。

SCRAM-SHA-512: SASL/SCRAM-SHA-512模式。需要填写对应的用户名密码信息。采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。

security_protocol

String

kafka传输安全协议,此字段不填默认为SASL_SSL。

SASL_SSL:采用SSL证书进行加密传输,支持帐号密码认证,安全性更高。

SASL_PLAINTEXT:明文传输,支持帐号密码认证,性能更好,建议mechanism使用SCRAM-SHA-512机制。

表10 NetAddress

参数

参数类型

描述

ip

String

服务的对应IP

port

Integer

服务对应端口

domain

String

服务对应的域名

状态码:400

表11 响应Body参数

参数

参数类型

描述

error_code

String

参数说明:错误码。

取值范围:长度8-36。

error_msg

String

参数说明:错误描述。

取值范围:长度2-512。

请求示例

创建规则动作

POST https://{endpoint}/v1/iotfm/routing-rules/5bcaddda-75bf-4623-8c8d-26175c41fcca/actions

{
  "channel_detail" : {
    "dms_kafka_forwarding" : {
      "addresses" : [ {
        "port" : 9095,
        "ip" : "127.0.0.1"
      } ],
      "password" : "password",
      "topic" : "kafka_topic",
      "mechanism" : "PLAIN",
      "username" : "username"
    }
  },
  "channel" : "DMS_KAFKA_FORWARDING"
}

响应示例

状态码:201

Created

{
  "action_id" : "914aca86-b966-48b5-ab06-4bb9f4446127",
  "rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
  "channel" : "DMS_KAFKA_FORWARDING",
  "channel_detail" : {
    "dms_kafka_forwarding" : {
      "addresses" : [ {
        "port" : 9095,
        "ip" : "127.0.0.1"
      } ],
      "password" : "password",
      "topic" : "kafka_topic",
      "mechanism" : "PLAIN",
      "username" : "username"
    }
  }
}

状态码

状态码

描述

201

Created

400

Bad Request

403

Forbidden

404

Not Found

500

Internal Server Error

相关文档