{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"timestream:WriteRecords"
],
"Resource": [
"arn:aws:timestream:::database//table/"
]
}
]
}
{
"rule": {
"description": "IoT Core to TimeStream",
"sql": "SELECT *, topic(2) as device_id FROM 'my/topic' where my_value > 50",
"actions": [
{
"timestream": {
"roleArn": "arn:aws:iam:::role/service-role/timestream-write-role",
"databaseName": "my_db",
"tableName": "my_table",
"dimensions": [
{
"name": "device_id",
"value": "${device_id}"
}
],
"timestamp": "${timestamp() * 1000}",
"measureName": "my_value",
"measureValue": "${my_value}"
}
}
]
}
}
这个规则确定了从my/topic主题中选择所有my_value大于50的消息,并将它们推送到my_db数据库中的my_table表。流中的设备ID将被写入维度中,并且消息的时间戳和my_value值将被写入TimeStream表。注意,这个规则使用timestream操作,而不是AWS TimeStream的http API。这个操作需要执行IAM角色,该角色需要在IAM中预先定义。