本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SNS
SNS (sns
) 操作将 MQTT 消息中的数据作为 Amazon Simple Notification Service (Amazon SNS) 推送通知发送。
您可以按照教程执行操作,该教程向您说明如何使用 SNS 操作创建和测试规则。有关更多信息,请参阅教程:发送 Amazon SNS 通知:
注意
SNS 操作不支持Amazon SNS FIFO(先进先出)主题。由于规则引擎是一个完全分布式服务,因此无法保证触发 SNS 操作时的消息顺序。
要求
此规则操作具有以下要求:
-
Amazon IoT 可以承担以执行
sns:Publish
操作的 IAM 角色。有关更多信息,请参阅向 Amazon IoT 规则授予所需的访问权限:在 Amazon IoT 控制台中,您可以选择或创建一个角色以允许 Amazon IoT 执行此规则操作。
-
如果您使用 Amazon Key Management Service (Amazon KMS) 客户托管的 Amazon KMS key (KMS 密钥)对 Amazon SNS 中的数据进行静态加密,服务必须具有代表调用方使用 Amazon KMS key 的权限。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的密钥管理。
参数
使用此操作创建 Amazon IoT 规则时,您必须指定以下信息:
示例
下面的 JSON 示例介绍了如何在 Amazon 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 示例定义了 Amazon 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?