如何在规则引擎表达式中使用 AWS IoT 消息负载生成 PartitionKey
How to use AWS IoT message payload in Rule Engine expression to generate PartitionKey
问题背景:
AWS IoT 使用 AWS 规则引擎连接到 Kinesis Data Stream (KDS),在规则引擎规则定义中有一个 PartitionKey 选项。 PartionKey 可以使用诸如“${topic()}”之类的表达式来填充。示例消息负载为
{
Id:"123"
GS:"123"
}
问题:
如何定义使用负载的表达式,例如 "part${payload().GS}"
您可以使用 substitution template。
例如:
{
"rule": {
"sql": "SELECT * FROM 'some/topic'",
"ruleDisabled": false,
"actions": [{
"kinesis": {
"roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis",
"streamName": "my_kinesis_stream",
"partitionKey": "${GS}"
}
}],
}
}
问题背景: AWS IoT 使用 AWS 规则引擎连接到 Kinesis Data Stream (KDS),在规则引擎规则定义中有一个 PartitionKey 选项。 PartionKey 可以使用诸如“${topic()}”之类的表达式来填充。示例消息负载为
{
Id:"123"
GS:"123"
}
问题: 如何定义使用负载的表达式,例如 "part${payload().GS}"
您可以使用 substitution template。
例如:
{
"rule": {
"sql": "SELECT * FROM 'some/topic'",
"ruleDisabled": false,
"actions": [{
"kinesis": {
"roleArn": "arn:aws:iam::123456789012:role/aws_iot_kinesis",
"streamName": "my_kinesis_stream",
"partitionKey": "${GS}"
}
}],
}
}