メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::IoT::TopicRule

AWS IoT ルールを宣言するには AWS::IoT::TopicRule リソースを使用します。

AWS IoT ルールを使用する詳細については、AWS IoT 開発者ガイドAWS IoT のルールを参照してください。

構文

JSON

Copy
{ "Type": "AWS::IoT::TopicRule", "Properties": { "RuleName": String, "TopicRulePayload": TopicRulePayLoad } }

YAML

Copy
Type: "AWS::IoT::TopicRule" Properties: RuleName: String TopicRulePayload: TopicRulePayLoad

プロパティ

RuleName

AWS IoT ルールの名前 (物理 ID)。

Required: No

Type: String

更新に伴う要件: 置換

TopicRulePayload

AWS IoT ルールに関連付けられたアクション。

Required: Yes

タイプ: TopicRulePayload オブジェクト

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID をRef組み込み関数Refに提供すると、トピックルール名が返されます。(例:

Copy
{ "Ref": "MyTopicRule" }

My-Stack ( 文字が省略されています) という名前のスタックについては、 のような値が返されます。

Copy
MyStackMyTopicRule12ABC3D456EFG

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Fn::GetAtt

Fn::GetAtt は、このタイプの指定された属性の値を返します。以下には、利用可能な属性とサンプル戻り値のリストが示されます。

Arn

AWS IoT ルールの Amazon リソースネーム (ARN) (arn:aws:iot:us-east-2:123456789012:rule/MyIoTRule など)。

Fn::GetAtt の使用の詳細については、「Fn::GetAtt」を参照してください。

次の例は AWS IoT ルールを宣言しています。

JSON

Copy
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyTopicRule": { "Type": "AWS::IoT::TopicRule", "Properties": { "RuleName": { "Ref": "NameParameter" }, "TopicRulePayload": { "RuleDisabled": "true", "Sql": "SELECT temp FROM 'SomeTopic' WHERE temp > 60", "Actions": [{ "S3": { "BucketName": { "Ref": "MyBucket" }, "RoleArn": { "Fn::GetAtt": ["MyRole", "Arn"] }, "Key": "MyKey.txt" } }] } } }, "MyBucket": { "Type": "AWS::S3::Bucket", "Properties": {} }, "MyRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": [ "iot.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] }] } } } }, "Parameters": { "NameParameter": { "Type": "String" } } }

YAML

Copy
AWSTemplateFormatVersion: "2010-09-09" Resources: MyTopicRule: Type: "AWS::IoT::TopicRule" Properties: RuleName: Ref: "NameParameter" TopicRulePayload: RuleDisabled: "true" Sql: >- Select temp FROM 'SomeTopic' WHERE temp > 60 Actions: - S3: BucketName: Ref: "MyBucket" RoleArn: Fn::GetAtt: - "MyRole" - "Arn" Key: "MyKey.txt" MyBucket: Type: "AWS::S3::Bucket" Properties: MyRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "iot.amazonaws.com" Action: - "sts:AssumeRole" Parameters: NameParameter: Type: "String"

このページの内容: