

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 管理 Amazon IoT 规则
<a name="iot-managae-rule"></a>

您可以使用以下操作来管理您的 Amazon IoT 规则。

**Topics**
+ [标记规则](#iot-create-rule-tagging)
+ [查看规则](#iot-view-rules)
+ [删除规则](#iot-delete-rule)

## 标记规则
<a name="iot-create-rule-tagging"></a>

要为您的新规则或现有规则添加另一层特殊性，您可以应用标记。标记利用规则中的键值对，使您能够更好地控制将规则应用于资源和服务的方式和位置。 Amazon IoT 例如，您可以将规则的范围限制为仅应用于发布前测试的测试版环境 (`Key=environment, Value=beta`)，或者仅捕获从特定端点发送到 `iot/test` 主题的所有消息并将其存储在 Amazon S3 桶中。

### IAM 策略示例
<a name="iot-create-rule-tagging-iam-example"></a>

有关显示如何为规则授予标记权限的示例，请考虑这样一位用户：该用户运行以下命令来创建规则，并将此规则标记为仅应用于其测试版环境。

在此示例中：
+ {{MyTopicRuleName}}加上规则的名称。
+ {{myrule.json}}加上政策文件的名称。

```
aws iot create-topic-rule 
    --rule-name {{MyTopicRuleName}} 
    --topic-rule-payload file://{{myrule.json}}
    --tags "environment=beta"
```

对于本示例，您必须使用以下 IAM 策略：

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": 
    {
        "Action": [ "iot:CreateTopicRule", "iot:TagResource" ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:iot:us-east-1:123456789012:rule/{{MyTopicRuleName}}"
        ]
    }
}
```

上面的示例显示了新创建的名为 `MyTopicRuleName` 的规则，该规则仅应用于您的测试版环境。策略声明中用 `MyTopicRuleName` 特别标注的 `iot:TagResource` 允许在创建或更新 `MyTopicRuleName` 时进行标记。创建规则时使用的参数 `--tags "environment=beta"` 将 `MyTopicRuleName` 的范围限制为仅您的测试版环境。如果删除参数 `--tags "environment=beta"`，则 `MyTopicRuleName` 将应用于所有环境。

有关创建特定于 Amazon IoT 规则的 IAM 角色和策略的更多信息，请参阅 [授予 Amazon IoT 规则所需的访问权限](iot-create-role.md)。

有关标记实例的一般信息，请参阅[为资源添加 Amazon IoT 标签](tagging-iot.md)。

## 查看规则
<a name="iot-view-rules"></a>

使用[list-topic-rules](https://docs.amazonaws.cn/cli/latest/reference/iot/list-topic-rules.html)命令列出您的规则：

```
aws iot list-topic-rules
```

使用[get-topic-rule](https://docs.amazonaws.cn/cli/latest/reference/iot/get-topic-rule.html)命令获取有关规则的信息：

```
aws iot get-topic-rule --rule-name {{myrule}}
```

## 删除规则
<a name="iot-delete-rule"></a>

用完规则后可以将其删除。

**删除规则 (Amazon CLI)**  
使用[delete-topic-rule](https://docs.amazonaws.cn/cli/latest/reference/iot/delete-topic-rule.html)命令删除规则：

```
aws iot delete-topic-rule --rule-name {{myrule}}
```