本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SNS(sns
) 操作将MQTT消息中的数据作为亚马逊简单通知服务 (AmazonSNS) 推送通知发送。
您可以按照教程进行操作,该教程向您展示如何使用SNS操作创建和测试规则。有关更多信息,请参阅 教程:发送 Amazon SNS 通知。
注意
该SNS操作不支持 Amazon SNSFIFO(先入先出)主题。由于规则引擎是完全分布式的服务,因此无法保证调用SNS操作时的消息顺序。
要求
此规则操作具有以下要求:
-
AWS IoT 可以IAM担任执行
sns:Publish
操作的角色。有关更多信息,请参阅 授予 AWS IoT 规则所需的访问权限。在 AWS IoT 控制台中,您可以选择或创建 AWS IoT 允许执行此规则操作的角色。
-
如果您使用 AWS KMS 客户托管 AWS KMS key 来加密Amazon中的静态数据SNS,则该服务必须有权代表呼叫者 AWS KMS key 使用这些数据。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的密钥管理。
参数
使用此操作创建 AWS IoT 规则时,必须指定以下信息:
示例
以下JSON示例定义了 AWS IoT 规则中的SNS操作。
{
"topicRulePayload": {
"sql": "SELECT * FROM 'some/topic'",
"ruleDisabled": false,
"awsIotSqlVersion": "2016-03-23",
"actions": [
{
"sns": {
"targetArn": "arn:aws:sns:us-east-2:123456789012:my_sns_topic",
"roleArn": "arn:aws:iam::123456789012:role/aws_iot_sns"
}
}
]
}
}
以下JSON示例定义了一个在 AWS IoT 规则中使用替换模板的SNS操作。
{
"topicRulePayload": {
"sql": "SELECT * FROM 'some/topic'",
"ruleDisabled": false,
"awsIotSqlVersion": "2016-03-23",
"actions": [
{
"sns": {
"targetArn": "arn:aws:sns:us-east-1:123456789012:${topic()}",
"messageFormat": "JSON",
"roleArn": "arn:aws:iam::123456789012:role/aws_iot_sns"
}
}
]
}
}
另请参阅
-
Amazon Simple Notification Service 开发人员指南中的什么是 Amazon Simple Notification Service?