修改规则动作
功能介绍
应用服务器可调用此接口修改物联网平台中指定规则动作的配置。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
PUT /v5/iot/{project_id}/routing-rule/actions/{action_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数说明:项目ID。获取方法请参见 获取项目ID。 |
action_id |
是 |
String |
参数说明:规则动作ID。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
否 |
String |
参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 |
Instance-Id |
否 |
String |
参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
channel |
否 |
String |
参数说明:规则动作的类型。 取值范围:
|
channel_detail |
否 |
ChannelDetail object |
参数说明:通道配置信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
http_forwarding |
否 |
HttpForwarding object |
参数说明:http服务器转发消息内容。当channel为HTTP_FORWARDING时,必填。 |
dis_forwarding |
否 |
DisForwarding object |
参数说明:转发DIS服务消息内容。当channel为DIS_FORWARDING时,必填。 |
obs_forwarding |
否 |
ObsForwarding object |
参数说明:转发OBS服务消息内容。当channel为OBS_FORWARDING时,必填。 |
amqp_forwarding |
否 |
AmqpForwarding object |
参数说明:转发AMQP服务消息内容。当channel为AMQP_FORWARDING时,必填。 |
dms_kafka_forwarding |
否 |
DmsKafkaForwarding object |
参数说明:转发Kafka消息内容。当channel为DMS_KAFKA_FORWARDING时,必填。 |
mysql_forwarding |
否 |
MysqlForwarding object |
参数说明:转发MySQL消息内容。当channel为MYSQL_FORWARDING时,必填。 |
influxdb_forwarding |
否 |
InfluxDBForwarding object |
参数说明:转发influxdb的配置参数。当channel为INFLUXDB_FORWARDING时,必填。 |
functiongraph_forwarding |
否 |
FunctionGraphForwarding object |
参数说明:转发云服务函数服务消息内容。当channel为FUNCTIONGRAPH_FORWARDING时,必填。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
url |
是 |
String |
参数说明:用于接收满足规则条件数据的http服务器地址。HTTP为非数据加密传输模式,此模式下数据传输不安全, 建议使用更安全的HTTPS方式 |
cert_id |
否 |
String |
参数说明:证书id,请参见加载推送证书第3步获取证书ID |
cn_name |
否 |
String |
参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enbale为false时,此字段默认不填写。 |
sni_enable |
否 |
Boolean |
参数说明:需要https服务端和客户端都支持此功能,默认为false,设成true表明Https的客户端在发起请求时,需要携带cn_name;https服务端根据cn_name返回对应的证书;设为false可关闭此功能。 |
signature_enable |
否 |
Boolean |
参数说明:是否启用签名。填写token时, 该参数必须为true, token才可以生效,否则token不生效。推荐设置成true,使用token签名验证消息是否来自平台。 |
token |
否 |
String |
参数说明:用作生成签名的Token,客户端可以使用该token按照规则生成签名并与推送消息中携带的签名做对比, 从而验证安全性。取值范围: 长度不超过32, 不小于3, 只允许字母、数字的组合。请参见HTTP/HTTPS推送基于Token认证物联网平台 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
region_name |
是 |
String |
参数说明:DIS服务对应的region区域 |
project_id |
是 |
String |
参数说明:DIS服务对应的projectId信息 |
stream_name |
否 |
String |
参数说明:DIS服务对应的通道名称,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
stream_id |
否 |
String |
参数说明:DIS服务对应的通道ID,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
region_name |
是 |
String |
参数说明:OBS服务对应的region区域 |
project_id |
是 |
String |
参数说明:OBS服务对应的projectId信息 |
bucket_name |
是 |
String |
参数说明:OBS服务对应的桶名称 |
location |
否 |
String |
参数说明:OBS服务对应桶的区域 |
file_path |
否 |
String |
参数说明:OBS服务中存储通道文件的自定义目录,多级目录可用(/)进行分隔,不可以斜杠(/)开头或结尾,不能包含两个以上相邻的斜杠(/) 取值范围: 英文字母(a-zA-Z)、数字(0-9)、下划线(_)、中划线(-)、斜杠(/)和大括号({}),最大字符长度256个字符。其中大括号只能用于对应模板参数。 模板参数:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
region_name |
是 |
String |
参数说明:Kafka服务对应的region区域 |
project_id |
是 |
String |
参数说明:Kafka服务对应的projectId信息 |
addresses |
是 |
Array of SupportPrivateLinkNetAddress objects |
参数说明:转发kafka消息对应的地址列表 |
topic |
是 |
String |
参数说明:转发kafka消息关联的topic信息。 |
username |
否 |
String |
参数说明:转发kafka关联的用户名信息。 |
password |
否 |
String |
参数说明:转发kafka关联的密码信息。 |
mechanism |
否 |
String |
参数说明:转发kafka关联的SASL认证机制。 取值范围:
|
security_protocol |
否 |
String |
参数说明:kafka传输安全协议,此字段不填默认为SASL_SSL。当mechanism为PAAS或不填时,该字段不生效。 取值范围:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ip |
否 |
String |
参数说明:服务的对应IP |
port |
否 |
Integer |
参数说明:服务对应端口 |
domain |
否 |
String |
参数说明:服务对应的域名 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
address |
是 |
NetAddress object |
转发roma消息对应的地址列表 |
db_name |
是 |
String |
参数说明:连接MYSQL数据库的库名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
username |
是 |
String |
参数说明:连接MYSQL数据库的用户名 |
password |
是 |
String |
参数说明:连接MYSQL数据库的密码 |
enable_ssl |
否 |
Boolean |
参数说明:客户端是否使用SSL连接服务端,默认为true, 若为false,则为非数据加密传输模式,此模式下数据传输不安全,建议您使用SSL模式。 |
table_name |
是 |
String |
参数说明:MYSQL数据库的表名 |
column_mappings |
是 |
Array of ColumnMapping objects |
参数说明:MYSQL数据库的列和流转数据的对应关系列表,最多支持32条映射关系。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
address |
是 |
NetAddress object |
参数说明:转发InfluxDB消息对应的地址 |
db_name |
是 |
String |
参数说明:连接InfluxDB数据库的库名,不存在会自动创建 |
username |
是 |
String |
参数说明:连接InfluxDB数据库的用户名 |
password |
是 |
String |
参数说明:连接InfluxDB数据库的密码 |
measurement |
是 |
String |
参数说明:InfluxDB数据库的measurement,不存在会自动创建 |
column_mappings |
是 |
Array of ColumnMapping objects |
参数说明:InfluxDB数据库和流转数据的对应关系列表,最多支持32条映射关系。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
action_id |
String |
规则动作ID,用于唯一标识一条规则动作,在创建规则动作时由物联网平台分配获得,创建时无需携带,由平台统一分配唯一的action_id。 |
rule_id |
String |
规则动作对应的的规则触发条件ID。 |
app_id |
String |
资源空间ID。 |
channel |
String |
规则动作的类型,取值范围:
|
channel_detail |
ChannelDetail object |
通道配置信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
http_forwarding |
HttpForwarding object |
参数说明:http服务器转发消息内容。当channel为HTTP_FORWARDING时,必填。 |
dis_forwarding |
DisForwarding object |
参数说明:转发DIS服务消息内容。当channel为DIS_FORWARDING时,必填。 |
obs_forwarding |
ObsForwarding object |
参数说明:转发OBS服务消息内容。当channel为OBS_FORWARDING时,必填。 |
amqp_forwarding |
AmqpForwarding object |
参数说明:转发AMQP服务消息内容。当channel为AMQP_FORWARDING时,必填。 |
dms_kafka_forwarding |
DmsKafkaForwarding object |
参数说明:转发Kafka消息内容。当channel为DMS_KAFKA_FORWARDING时,必填。 |
mysql_forwarding |
MysqlForwarding object |
参数说明:转发MySQL消息内容。当channel为MYSQL_FORWARDING时,必填。 |
influxdb_forwarding |
InfluxDBForwarding object |
参数说明:转发influxdb的配置参数。当channel为INFLUXDB_FORWARDING时,必填。 |
functiongraph_forwarding |
FunctionGraphForwarding object |
参数说明:转发云服务函数服务消息内容。当channel为FUNCTIONGRAPH_FORWARDING时,必填。 |
参数 |
参数类型 |
描述 |
---|---|---|
url |
String |
参数说明:用于接收满足规则条件数据的http服务器地址。HTTP为非数据加密传输模式,此模式下数据传输不安全, 建议使用更安全的HTTPS方式 |
cert_id |
String |
参数说明:证书id,请参见加载推送证书第3步获取证书ID |
cn_name |
String |
参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enbale为false时,此字段默认不填写。 |
sni_enable |
Boolean |
参数说明:需要https服务端和客户端都支持此功能,默认为false,设成true表明Https的客户端在发起请求时,需要携带cn_name;https服务端根据cn_name返回对应的证书;设为false可关闭此功能。 |
signature_enable |
Boolean |
参数说明:是否启用签名。填写token时, 该参数必须为true, token才可以生效,否则token不生效。推荐设置成true,使用token签名验证消息是否来自平台。 |
token |
String |
参数说明:用作生成签名的Token,客户端可以使用该token按照规则生成签名并与推送消息中携带的签名做对比, 从而验证安全性。取值范围: 长度不超过32, 不小于3, 只允许字母、数字的组合。请参见HTTP/HTTPS推送基于Token认证物联网平台 |
参数 |
参数类型 |
描述 |
---|---|---|
region_name |
String |
参数说明:DIS服务对应的region区域 |
project_id |
String |
参数说明:DIS服务对应的projectId信息 |
stream_name |
String |
参数说明:DIS服务对应的通道名称,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
stream_id |
String |
参数说明:DIS服务对应的通道ID,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
参数 |
参数类型 |
描述 |
---|---|---|
region_name |
String |
参数说明:OBS服务对应的region区域 |
project_id |
String |
参数说明:OBS服务对应的projectId信息 |
bucket_name |
String |
参数说明:OBS服务对应的桶名称 |
location |
String |
参数说明:OBS服务对应桶的区域 |
file_path |
String |
参数说明:OBS服务中存储通道文件的自定义目录,多级目录可用(/)进行分隔,不可以斜杠(/)开头或结尾,不能包含两个以上相邻的斜杠(/) 取值范围: 英文字母(a-zA-Z)、数字(0-9)、下划线(_)、中划线(-)、斜杠(/)和大括号({}),最大字符长度256个字符。其中大括号只能用于对应模板参数。 模板参数:
|
参数 |
参数类型 |
描述 |
---|---|---|
region_name |
String |
参数说明:Kafka服务对应的region区域 |
project_id |
String |
参数说明:Kafka服务对应的projectId信息 |
addresses |
Array of SupportPrivateLinkNetAddress objects |
参数说明:转发kafka消息对应的地址列表 |
topic |
String |
参数说明:转发kafka消息关联的topic信息。 |
username |
String |
参数说明:转发kafka关联的用户名信息。 |
password |
String |
参数说明:转发kafka关联的密码信息。 |
mechanism |
String |
参数说明:转发kafka关联的SASL认证机制。 取值范围:
|
security_protocol |
String |
参数说明:kafka传输安全协议,此字段不填默认为SASL_SSL。当mechanism为PAAS或不填时,该字段不生效。 取值范围:
|
参数 |
参数类型 |
描述 |
---|---|---|
ip |
String |
参数说明:服务的对应IP |
port |
Integer |
参数说明:服务对应端口 |
domain |
String |
参数说明:服务对应的域名 |
参数 |
参数类型 |
描述 |
---|---|---|
address |
NetAddress object |
转发roma消息对应的地址列表 |
db_name |
String |
参数说明:连接MYSQL数据库的库名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
username |
String |
参数说明:连接MYSQL数据库的用户名 |
password |
String |
参数说明:连接MYSQL数据库的密码 |
enable_ssl |
Boolean |
参数说明:客户端是否使用SSL连接服务端,默认为true, 若为false,则为非数据加密传输模式,此模式下数据传输不安全,建议您使用SSL模式。 |
table_name |
String |
参数说明:MYSQL数据库的表名 |
column_mappings |
Array of ColumnMapping objects |
参数说明:MYSQL数据库的列和流转数据的对应关系列表,最多支持32条映射关系。 |
参数 |
参数类型 |
描述 |
---|---|---|
address |
NetAddress object |
参数说明:转发InfluxDB消息对应的地址 |
db_name |
String |
参数说明:连接InfluxDB数据库的库名,不存在会自动创建 |
username |
String |
参数说明:连接InfluxDB数据库的用户名 |
password |
String |
参数说明:连接InfluxDB数据库的密码 |
measurement |
String |
参数说明:InfluxDB数据库的measurement,不存在会自动创建 |
column_mappings |
Array of ColumnMapping objects |
参数说明:InfluxDB数据库和流转数据的对应关系列表,最多支持32条映射关系。 |
请求示例
修改指定规则动作, 推送到http服务器。
PUT https://{endpoint}/v5/iot/{project_id}/routing-rule/actions/{action_id} { "channel" : "HTTP_FORWARDING", "channel_detail" : { "http_forwarding" : { "url" : "http://host:port/callbackurltest" } } }
响应示例
状态码: 200
OK
{ "action_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0", "rule_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce1", "app_id" : "1a7ffc5cd89c44dd8265b1653d951ce0", "channel" : "HTTP_FORWARDING", "channel_detail" : { "http_forwarding" : { "url" : "http://host:port/callbackurltest" } } }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
错误码
请参见错误码。