

终止支持通知：2026 年 5 月 20 日， AWS 将终止对的支持。 AWS IoT Events 2026 年 5 月 20 日之后，您将无法再访问 AWS IoT Events 控制台或 AWS IoT Events 资源。有关更多信息，请参阅[AWS IoT Events 终止支持](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html)。

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

# AWS IoT Events 控制台入门
<a name="iotevents-getting-started"></a>

本节说明了如何使用 [AWS IoT Events 控制台](https://console.aws.amazon.com/iotevents/)创建输入和探测器模型。您可以对引擎的两种状态进行建模：正常状态和超压状态。当引擎中测得的压力超过一定阈值时，模型会从正常状态过渡到超压状态。然后，它会发送 Amazon SNS 消息，提醒技术人员注意情况。当连续三个压力读数降至阈值以下时，模型将恢复到正常状态并发送另一条 Amazon SNS 消息作为确认。

我们检查连续三个低于压力阈值的读数，以消除在非线性恢复阶段或压力读数异常的情况下可能出现的超压或正常消息的卡顿现象。

在控制台上，您还可以找到几个可以自定义的预制探测器模型模板。您还可以使用控制台导入其他人编写的探测器模型或导出您的探测器模型并在不同的 AWS 区域中使用它们。如果您导入探测器模型，请确保为新区域创建所需的输入或重新创建它们，并更新所 ARNs 使用的任何角色。

使用 AWS IoT Events 控制台了解以下内容。

**定义输入**  
要监视您的设备和流程，它们必须具有将遥测数据导入 AWS IoT Events的方法。这是通过向发送消息作为*输入*来完成的 AWS IoT Events。有几种方式可以实现：  
+ 使用 [ BatchPutMessage](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html) 操作。
+ 在中 AWS IoT Core，为将您的消息数据转发到 AWS IoT Events的 AWS IoT 规则引擎编写一条[AWS IoT Events 操作](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html#iotevents-rule)规则。您必须按名称识别输入。
+ 在中 AWS IoT Analytics，使用[ CreateDataset](https://docs.aws.amazon.com/iotanalytics/latest/userguide/automate.html#aws-iot-analytics-automate-create-dataset)操作创建数据集`contentDeliveryRules`。这些规则指定了自动将数据集内容发送到哪个 AWS IoT Events 输入。
在您的设备以这种方式发送数据之前，您必须定义一个或多个输入。为此，请为每个输入指定一个名称，并指定输入监视传入消息数据中的哪些字段。

**创建探测器模型**  
使用*状态*创建一个*探测器模型*（您的设备或进程的模型）。对于每种状态，请定义条件（布尔值）逻辑，该逻辑评估传入的输入以检测重要事件。当检测器模型检测到事件时，它可以使用其他 AWS 服务更改状态或启动自定义或预定义的操作。您可以定义其他事件，这些事件将在进入或退出某个状态以及满足某个条件（可选）时发起操作。  
在本教程中，您将学习在模型进入或退出特定状态时，如何发送作为操作的 Amazon SNS 消息。

**监视设备或进程**  
如果您监视多个设备或进程，请在每个输入中指定一个字段，用于标识输入来自哪个特定设备或进程。请参见`CreateDetectorModel`中的 `key` 字段。当由 `key` 标识的输入字段识别出一个新值时，就会识别出一个新设备并创建探测器。每个探测器都是一个探测器模型实例。新的探测器会继续响应来自该设备的输入，直到其探测器模型被更新或删除。  
如果您监控单个进程（即使多个设备或子进程正在发送输入），也不会指定唯一的标识 `key` 字段。在这种情况下，当第一个输入到达时，模型会创建一个探测器（实例）。

**将消息作为输入发送至您的探测器模型**  
您可通过多种方法，将来自设备或进程的消息作为输入发送至 AWS IoT Events 探测器，它不需要您对消息执行其他格式化操作。在本教程中，您将使用 AWS IoT 控制台为将消息数据转发到 AWS IoT Events的 AWS IoT 规则引擎编写[AWS IoT Events 操作](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html#iotevents-rule)规则。  
为此，请按名称识别输入，然后继续使用 AWS IoT 控制台生成作为输入转发到的消息 AWS IoT Events。

**注意**  
本教程使用控制台创建相同的 `input` 和 `detector model`，如 [AWS IoT Events 用例教程](iotevents-tutorials.md) 中的示例所示。您可以使用此 JSON 示例来帮助您学习本教程。

**Topics**
+ [入门必备条件 AWS IoT Events](iotevents-getting-started-prereqs.md)
+ [在中为模型创建输入 AWS IoT Events](create-input-overview.md)
+ [在中创建探测器模型 AWS IoT Events](iotevents-detector-model.md)
+ [发送输入以测试探测器模型 AWS IoT Events](iotevents-iot-rules-engine.md)

# 入门必备条件 AWS IoT Events
<a name="iotevents-getting-started-prereqs"></a>

如果您没有 AWS 帐户，请创建一个。

1. 按照中的步骤操作[设置 AWS IoT Events](iotevents-start.md)，确保账户设置和权限正确。

1. 创建两个 Amazon Simple Notification Service (Amazon SNS) 主题。

   本教程（以及相应的示例）假设您创建了两个 Amazon SNS 主题。这些主题显示为：`arn:aws:sns:us-east-1:123456789012:underPressureAction`和`arn:aws:sns:us-east-1:123456789012:pressureClearedAction`。 ARNs 将这些值替换为您创建 ARNs 的 Amazon SNS 主题。有关更多信息，请参阅《Amazon Simple Notification Service 开发人员指南》[https://docs.aws.amazon.com/sns/latest/dg/](https://docs.aws.amazon.com/sns/latest/dg/)。

   除了向 Amazon SNS 主题发布警报之外，您还可以让探测器发送带有您指定主题的 MQTT 消息。使用此选项，您可以使用 C AWS IoT ore 控制台订阅和监控发送到这些 MQTT 主题的消息，从而验证您的检测器模型是否正在创建实例，以及这些实例是否在发送警报。您还可以使用在探测器模型中创建的输入或变量在运行时系统动态地定义 MQTT 主题名称。

1. 选择支持 AWS 区域 的 AWS IoT Events。有关更多信息，请参阅*AWS 一般参考* 中的 [AWS IoT Events](https://docs.aws.amazon.com/general/latest/gr/rande.html#iotevents_region)。如需帮助，请参阅《[入门指南》 AWS 管理控制台中的服务](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/start-service.html)*入门 AWS 管理控制台*。

# 在中为模型创建输入 AWS IoT Events
<a name="create-input-overview"></a>

在为模型构建输入时，我们建议您收集包含示例消息负载的文件，您的设备或进程发送这些文件以报告其运行状况。拥有这些文件可以帮助您定义所需的输入。

您可以通过本节中描述的多种方法来创建输入。

## 创建一个 JSON 输入文件
<a name="create-input-file"></a>

1. 首先，请在本地文件系统上创建一个名为 `input.json` 的文件，其中包含以下内容：

   ```
   {
     "motorid": "Fulton-A32",
     "sensorData": {
       "pressure": 23,
       "temperature": 47
     }
   }
   ```

1. 现在，您有了这个入门`input.json`文件，可以创建一个输入。有两种方法可以创建输入。您可以使用[AWS IoT Events 控制台](https://console.aws.amazon.com/iotevents/)中的导航窗格创建输入。或者，也可以在探测器模型创建后在其中创建输入。

## 创建和配置输入
<a name="create-input"></a>

学习如何为警报模型或探测器模型创建*输入*。

1. 登录[AWS IoT Events 控制台](https://console.aws.amazon.com/iotevents/)或选择 “创建新 AWS IoT Events 帐户” 选项。

1. 在 AWS IoT Events 控制台的左上角，选择并展开导航窗格。

1. 在左侧导航窗格中，选择**输入**。

1. 在控制台的右上角，选择**创建输入**。

1. 提供独一无二的 **InputName**.

1. *可选*-输入输入的**描述**。

1. 要**上传 JSON `input.json` 文件**，请在概述中选择您创建的文件[创建一个 JSON 输入文件](#create-input-file)。**选择输入属性**随即出现，其中包含您输入的属性的列表。

1. 对于**选择输入属性**，选择要使用的属性，然后选择**创建**。在此示例中，我们选择**motorid** 和 **sensorData.pressure**。

1. *可选*-在输入中添加相关**标签**。

**注意**  
您还可以在[AWS IoT Events 控制台](https://console.aws.amazon.com/iotevents/)的探测器模型中创建其他输入。有关更多信息，请参阅 [在探测器模型中创建输入 AWS IoT Events](iotevents-detector-input.md)。

# 在探测器模型中创建输入 AWS IoT Events
<a name="iotevents-detector-input"></a>

中的探测器输入 AWS IoT Events 充当数据源和探测器模型之间的桥梁。探测器输入提供原始数据，为的事件检测和自动化功能提供支持 AWS IoT Events。学习配置探测器输入，以帮助您的模型准确响应物联网生态系统中的真实事件和条件。

本节介绍如何为探测器模型定义*输入*以接收遥测数据或消息。

**为探测器模型定义输入**

1. 打开 [AWS IoT Events 控制台](https://console.aws.amazon.com/iotevents/)。

1. 在 AWS IoT Events 控制台中，选择**创建探测器模型**。

1. 选择 **新建**。

1. 选择**创建输入**。

1. 对于输入，输入可**InputName**选的**描述**，然后选择**上传文件**。在显示的对话框中，选择您在概述中创建的`input.json`文件[创建一个 JSON 输入文件](create-input-overview.md#create-input-file)。

1. 对于**选择输入属性**，选择要使用的属性，然后选择**创建**。在这个例子中，我们选择了 m **otorID** 和 **sens** ordata.Pressure。

# 在中创建探测器模型 AWS IoT Events
<a name="iotevents-detector-model"></a>

在该主题中，您使用*状态*来定义一个*探测器模型*（您的设备或进程的模型）。

对于每种状态，您定义条件（布尔值）逻辑，该逻辑评估传入的输入以检测重要事件。当检测到事件时，它会更改状态并可以启动其他操作。这些事件称为过渡事件。

在您的状态下，您还可以定义在探测器进入或退出该状态或收到输入时可以运行操作的事件（这些事件被称为`OnEnter`、`OnExit` 和 `OnInput` 事件）。仅当事件的条件逻辑计算为 `true` 时，操作才会运行。

**创建探测器模型**

1. 已为您创建了第一个探测器状态。要对其进行修改，请在主编辑空间中选择标有 **State\$11** 标签的圆圈。

1. 在**状态**窗格中，输入**州名称 **OnEnter****，然后选择**添加事件**。

1. 在**添加 OnEnter 事件**页面上，输入**事件名称**和**事件条件**。在此示例中，输入 `true` 以表示当进入状态时，事件始终处于启动状态。

1. 在 **事件操作** 下面，选择 **添加操作**。

1. 在**事件操作**下，执行以下操作：

   1. 选择**设置变量**

   1.  对于**变量运算**，选择**赋值**。

   1. 对于**变量名称**，输入要设置的变量的名称。

   1. 对于**变量值**，输入值 **0**（零）。

1. 选择**保存**。

   可以在探测器模型中的任何事件中设置变量（赋值），例如您定义的变量。只有在探测器达到状态并运行定义或设置变量的操作后，才能引用变量的值（例如，在事件的条件逻辑中）。

1. 在“**状态**” 窗格中，选择“**状态**”旁边的 **X** 以返回到**探测器模型调色板**。

1. 要创建第二个探测器状态，请在**探测器模型调色板**中，选择**状态**并将其拖到主编辑空间中。这将创建一个名为 `untitled_state_1` 的状态。

1. 在第一个状态（**正常**）下暂停。状态的周长上会出现一个箭头。

1. 单击箭头并将其从第一个状态拖动到第二个状态。将出现从第一个状态到第二个状态的定向线（标记为“**无标题**”）。

1. 选择**“无标题”** 行。在**过渡事件**窗格中，输入**事件名称**和**事件触发逻辑**。

1. 在**过渡事件**窗格中，选择**添加操作**。

1. 在**添加过渡事件操作**窗格上，选择**添加操作**。

1.  在**选择操作**中，选择**设置变量**。

   1. 对于**变量运算**，选择**赋值**。

   1. 对于 **变量名称**，输入变量的名称。

   1. 对于 **赋值**，输入值，例如： `$variable.pressureThresholdBreached + 3`。

   1. 选择**保存**。

1. 选择第二个状态 **untitled\$1state\$11**。

1. 在**状态**窗格中，输入**状态名称**，然后在**On Enter**中选择**添加事件**。

1. 在**添加 OnEnter 事件**页面上，输入**事件名称**和**事件条件**。选择**添加操作**。

1. 在**选择操作**中，选择 **发送 SNS 消息**。

   1. 对于 **SNS 主题**，请输入 Amazon SNS 主题的目标 ARN。

   1. 选择**保存**。

1. 继续在示例中添加事件。

   1. 对于 **OnInput**，选择**添加事件**，然后输入并保存以下事件信息。

      ```
        Event name: Overpressurized
        Event condition: $input.PressureInput.sensorData.pressure > 70
        Event actions:
          Set variable:
            Variable operation: Assign value
            Variable name: pressureThresholdBreached
            Assign value: 3
      ```

   1. 对于 **OnInput**，选择**添加事件**，然后输入并保存以下事件信息。

      ```
        Event name: Pressure Okay
        Event condition: $input.PressureInput.sensorData.pressure <= 70
        Event actions:
          Set variable:
            Variable operation: Decrement
            Variable name: pressureThresholdBreached
      ```

   1. 对于 **OnExit**，选择**添加事件**，然后使用您创建的 Amazon SNS 主题的 ARN 输入并保存以下事件信息。

      ```
        Event name: Normal Pressure Restored
        Event condition: true
        Event actions:
          Send SNS message: 
            Target arn: arn:aws:sns:us-east-1:123456789012:pressureClearedAction
      ```

1. 暂停第二个状态（**危险**``）。该状态的周长上会出现一个箭头

1. 单击箭头并将其从第二个状态拖动到第一个状态。将出现一条标有**无标题**标签的定向线。

1. 选择**无标题**行，然后在**过渡事件**窗格中，使用以下信息输入**事件名称****和事件触发逻辑**。

   ```
   {
     Event name: BackToNormal
     Event trigger logic: $input.PressureInput.sensorData.pressure <= 70 && $variable.pressureThresholdBreached <= 0
   }
   ```

   有关我们为何在触发器逻辑中测试 `$input` 值和 `$variable` 值的更多信息，请参阅 [AWS IoT Events 探测器型号限制和限制](iotevents-restrictions-detector-model.md) 中变量值可用性的条目。

1. 选择**开始**状态。默认情况下，此状态是在您创建探测器模型时创建的）。在 **开始**窗格中，选择**目标状态**（例如，**正常**）。

1. 接下来，配置您的探测器模型以监听输入。选择右上角的**发布**。

1. 在**发布探测器模型**页面，执行以下操作。

   1.  输入**探测器模型名称**、**描述**和**角色**名称。将为您创建此角色。

   1. 选择**为每个唯一键值创建探测器**。要创建和使用自己的**角色**，请按照 [为设置权限 AWS IoT Events](iotevents-permissions.md) 中的步骤操作，并在此处将其作为**角色**输入。

1. 对于**探测器创建密钥**，请选择您之前定义的输入的其中一个属性的名称。您选择作为探测器创建密钥的属性必须存在于每个消息输入中，并且对于每台发送消息的设备都必须是唯一的。此示例使用 **motorid** 属性。

1. 选择**保存并发布**。

**注意**  
为给定探测器模型创建的唯一探测器的数量取决于发送的输入消息。创建探测器模型时，会从输入属性中选择一个密钥。此密钥决定要使用哪个探测器实例。如果以前从未见过密钥（对于此探测器模型），则会创建一个新的探测器实例。如果以前见过密钥，我们使用与该密钥值相对应的现有探测器实例。

您可以制作探测器模型定义的备份副本（采用 JSON 格式），重新创建或更新探测器模型，也可以将其用作模板来创建另一个探测器模型。

您可以从控制台或使用以下 CLI 命令执行此操作。如有必要，请更改探测器模型的名称，使其与您在上一步中发布时使用的名称相匹配。

```
aws iotevents describe-detector-model  --detector-model-name motorDetectorModel > motorDetectorModel.json 
```

这将创建一个文件 (`motorDetectorModel.json`)，其内容类似于以下内容。

```
{
    "detectorModel": {
        "detectorModelConfiguration": {
            "status": "ACTIVE", 
            "lastUpdateTime": 1552072424.212, 
            "roleArn": "arn:aws:iam::123456789012:role/IoTEventsRole", 
            "creationTime": 1552072424.212, 
            "detectorModelArn": "arn:aws:iotevents:us-west-2:123456789012:detectorModel/motorDetectorModel", 
            "key": "motorid", 
            "detectorModelName": "motorDetectorModel", 
            "detectorModelVersion": "1"
        }, 
        "detectorModelDefinition": {
            "states": [
                {
                    "onInput": {
                        "transitionEvents": [
                            {
                                "eventName": "Overpressurized", 
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached", 
                                            "value": "$variable.pressureThresholdBreached + 3"
                                        }
                                    }
                                ], 
                                "condition": "$input.PressureInput.sensorData.pressure > 70", 
                                "nextState": "Dangerous"
                            }
                        ], 
                        "events": []
                    }, 
                    "stateName": "Normal", 
                    "onEnter": {
                        "events": [
                            {
                                "eventName": "init", 
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached", 
                                            "value": "0"
                                        }
                                    }
                                ], 
                                "condition": "true"
                            }
                        ]
                    }, 
                    "onExit": {
                        "events": []
                    }
                }, 
                {
                    "onInput": {
                        "transitionEvents": [
                            {
                                "eventName": "Back to Normal", 
                                "actions": [], 
                                "condition": "$variable.pressureThresholdBreached <= 1 && $input.PressureInput.sensorData.pressure <= 70", 
                                "nextState": "Normal"
                            }
                        ], 
                        "events": [
                            {
                                "eventName": "Overpressurized", 
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached", 
                                            "value": "3"
                                        }
                                    }
                                ], 
                                "condition": "$input.PressureInput.sensorData.pressure > 70"
                            }, 
                            {
                                "eventName": "Pressure Okay", 
                                "actions": [
                                    {
                                        "setVariable": {
                                            "variableName": "pressureThresholdBreached", 
                                            "value": "$variable.pressureThresholdBreached - 1"
                                        }
                                    }
                                ], 
                                "condition": "$input.PressureInput.sensorData.pressure <= 70"
                            }
                        ]
                    }, 
                    "stateName": "Dangerous", 
                    "onEnter": {
                        "events": [
                            {
                                "eventName": "Pressure Threshold Breached", 
                                "actions": [
                                    {
                                        "sns": {
                                            "targetArn": "arn:aws:sns:us-west-2:123456789012:MyIoTButtonSNSTopic"
                                        }
                                    }
                                ], 
                                "condition": "$variable.pressureThresholdBreached > 1"
                            }
                        ]
                    }, 
                    "onExit": {
                        "events": [
                            {
                                "eventName": "Normal Pressure Restored", 
                                "actions": [
                                    {
                                        "sns": {
                                            "targetArn": "arn:aws:sns:us-west-2:123456789012:IoTVirtualButtonTopic"
                                        }
                                    }
                                ], 
                                "condition": "true"
                            }
                        ]
                    }
                }
            ], 
            "initialStateName": "Normal"
        }
    }
}
```

# 发送输入以测试探测器模型 AWS IoT Events
<a name="iotevents-iot-rules-engine"></a>

有几种方法可以接收遥测数据 AWS IoT Events （请参阅[支持在中接收数据和触发操作的操作 AWS IoT Events](iotevents-supported-actions.md)）。本主题介绍如何在 AWS IoT 控制台中创建 AWS IoT 规则，将消息作为输入转发给 AWS IoT Events 探测器。您可以使用 AWS IoT 控制台的 MQTT 客户端发送测试消息。您可以使用此方法获取遥测数据，了解您的设备 AWS IoT Events 何时能够使用消息代理发送 MQTT 消息。 AWS IoT 

**发送输入以测试探测器模型**

1. 打开 [AWS IoT Core 控制台](https://console.aws.amazon.com/iot/)。在左侧导航窗格的**管理**下，选择**消息路由**，然后选择**规则**。

1. 选择右上角的**创建规则**。

1. 在 **创建规则**页面上，完成以下步骤：

   1. **步骤 1：指定规则属性。**填写以下字段：
      + **规则名称。**输入规则的名称，例如 `MyIoTEventsRule`。
**注意**  
不要使用空格。
      + **规则描述**。这是可选的。
      + 选择 **下一步**。

   1. **步骤 2：配置 SQL 语句**。填写以下字段：
      + **SQL 版本**。从该列表中选择适当的选项。
      + **SQL 语句**。输入 **SELECT \$1, topic(2) as motorid FROM 'motors/\$1/status'**。

      选择**下一步**。

   1. **第 3 步：附加规则操作**。在**规则操作**部分，完成以下操作：
      + **操作 1。选择 IoT 事件。**显示以下字段：

        1. **输入名称**。从该列表中选择适当的选项。如果您的输入未显示，请选择 **刷新**。

           要创建新输入，请选择**创建 IoT 事件输入**。填写以下字段：
           + **输入名称**。输入 `PressureInput`。
           + **描述**。这是可选的。
           + **上传一个 JSON 文件**。上传您的 JSON 文件的副本。如果您没有文件，则此屏幕上会有一个指向示例文件的链接。该代码包括：

             ```
             {
               "motorid": "Fulton-A32",
               "sensorData": {
                 "pressure": 23,
                 "temperature": 47
               }
             }
             ```
           + **选择输入属性**。选择相应的选项。
           + **标签**。这是可选的。

           选择 **创建**。

           返回到**创建规则**屏幕并刷新**输入名称**字段。选择您创建的输入。

        1. **批量模式**。这是可选的。如果负载是一组消息，请选择此选项。

        1. **消息 ID**。您可以自由选择，但我们建议您这样做。

        1. **IAM 角色**。从该列表中选择适当的角色。如果未列出该角色，请选择**创建新角色**。

           键入**角色名称**，然后选择**创建**。

        要添加其他规则，请选择 **添加规则操作**
      + **错误操作**。此部分是可选的。要添加操作，请选择**添加错误操作**，然后从列表中选择相应的操作。

        填写显示的字段。
      + 选择**下一步**。

   1. **步骤 4：审核和创建** 检查屏幕上的信息，然后选择 **创建**。

1. 在左导航窗格上的**测试**下，选择 **MQTT 测试客户端**。

1. 选择**发布到主题**。填写以下字段：
   + **主题名称**。输入用于标识消息的名称，例如 `motors/Fulton-A32/status`。
   + **消息负载**。输入以下信息：

     ```
     {
       "messageId": 100,
       "sensorData": {
         "pressure": 39
       }
     }
     ```
**注意**  
每次发布新消息时都要更改 `messageId`。

1. 对于**发布**，请保持主题不变，但将负载中的 `"pressure"` 更改为大于您在探测器模型中指定的阈值的值（例如 **85**）。

1. 选择 **发布**。

 您创建的探测器实例会生成并向您发送一条 Amazon SNS 消息。继续发送压力读数高于或低于压力阈值（本示例为 70）的消息，以查看探测器的运行情况。

在此示例中，您必须发送三条压力读数低于阈值的消息才能转换回**正常**状态，并收到一条表明超压状况已清除的 Amazon SNS 消息。回到**正常**状态后，一条压力读数超过极限的消息会导致探测器进入**危险**状态并发送一条表明该状况的 Amazon SNS 消息。

现在，您已经创建了一个简单的输入和探测器模型，请尝试以下操作。
+ 在控制台上查看更多探测器模型示例（模板）。
+ 按照中的步骤[使用 CLI 为两种状态创建 AWS IoT Events 检测器](iotevents-simple-example.md)使用创建输入和探测器模型 AWS CLI
+ 了解事件中使用的 [用于筛选、转换和处理事件数据的表达式](iotevents-expressions.md) 的详细信息。
+ 了解 [支持在中接收数据和触发操作的操作 AWS IoT Events](iotevents-supported-actions.md)。
+ 如果某些东西不起作用，请参阅 [故障排除 AWS IoT Events](iotevents-troubleshooting.md)。