使用其他 AWS 服务 - AWS IoT Events

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

使用其他 AWS 服务

AWS IoT Events 支持以下允许您使用 AWS 服务的操作:

  • iotTopicPublish发布有关某个MQTT主题的消息。

  • iotEvents 将数据以输入值的形式发送至 AWS IoT Events 。

  • iotSiteWise 将数据发送至 AWS IoT SiteWise中的资产属性。

  • dynamoDB 向 Amazon DynamoDB 表发送数据。

  • dynamoDBv2 向 Amazon DynamoDB 表发送数据。

  • firehose将数据发送到 Amazon Data Firehose 流。

  • lambda 调用 AWS Lambda 函数。

  • sns 将数据作为推送通知发送。

  • sqs将数据发送到 Amazon SQS 队列。

重要
  • 您必须为两者 AWS IoT Events 以及要使用的 AWS 服务选择相同的 AWS 区域。有关支持的区域列表,请参见 Amazon Web Services 一般参考 中的 AWS IoT Events 端点和配额

  • 在为 AWS IoT Events 操作创建其他 AWS 资源时,必须使用相同的 AWS 区域。如果您切换 AWS 区域,则访问 AWS 资源可能会遇到问题。

默认情况下, AWS IoT Events 会JSON为任何操作生成标准有效负载。此操作有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。要配置操作负载,您可使用内容表达式。有关更多信息,请参阅用于筛选、转换和处理事件数据的表达式AWS IoT Events API参考资料中的 P ayload 数据类型。

AWS IoT Core

IoT topic publish action

该 AWS IoT Core 操作允许您通过MQTT消息代理发布 AWS IoT 消息。有关支持的区域列表,请参见 Amazon Web Services 一般参考 中的 AWS IoT Core 端点和配额

AWS IoT 消息代理通过从发布 AWS IoT 客户端向订阅客户端发送消息来连接客户端。有关更多信息,请参阅《AWS IoT 开发人员指南》中的设备通信协议

More information (2)

发布MQTT消息时,必须指定以下参数。

mqttTopic

接收消息MQTT的主题。

您可以使用在检测器模型中创建的变量或输入值在运行时动态定义MQTT主题名称。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该iot:Publish权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考IotTopicPublishAction中的。

AWS IoT Events

IoT Events action

该 AWS IoT Events 操作允许您将数据 AWS IoT Events 作为输入发送到。有关支持的区域列表,请参见 Amazon Web Services 一般参考 中的 AWS IoT Events 端点和配额

AWS IoT Events 允许您监控设备或设备群是否出现故障或运行变化,并在此类事件发生时触发操作。有关更多信息,请参阅什么是 AWS IoT Events? 在《AWS IoT Events 开发人员指南》中。

More information (2)

向发送数据时 AWS IoT Events,必须指定以下参数。

inputName

接收数据的 AWS IoT Events 输入名称。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该iotevents:BatchPutMessage权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考IotEventsAction中的。

AWS IoT SiteWise

IoT SiteWise action

该 AWS IoT SiteWise 操作允许您将数据发送到中的资产属性 AWS IoT SiteWise。有关支持的区域列表,请参见 Amazon Web Services 一般参考 中的 AWS IoT SiteWise 端点和配额

AWS IoT SiteWise 是一项托管服务,可让您大规模收集、组织和分析来自工业设备的数据。有关更多信息,请参阅AWS IoT SiteWise 《用户指南》中的什么是 AWS IoT SiteWise?

More information (11)

向中的资产属性发送数据时 AWS IoT SiteWise,必须指定以下参数。

重要

要接收数据,您必须使用 AWS IoT SiteWise中的现有资产属性。

  • 如果您使用 AWS IoT Events 控制台,则必须指定propertyAlias以标识目标资产属性。

  • 如果使用 AWS CLI,则必须指定其中一个propertyAlias或两个propertyIdassetId然后才能标识目标资产属性。

有关更多信息,请参阅AWS IoT SiteWise 《用户指南》中的将工业数据流映射到资产属性

propertyAlias

(可选)资产属性的别名。您也可以指定表达式。

assetId

(可选)包含指定属性的资产的 ID。您也可以指定表达式。

propertyId

(可选)资产的属性 ID。您也可以指定表达式。

entryId

(可选)此条目的唯一标识符。您可以使用条目 ID,跟踪在出现故障时哪些数据条目导致了错误。默认值为新的唯一标识符。您也可以指定表达式。

propertyValue

包含有关属性值详细信息的结构。

quality

(可选)资产属性值的质量。值必须为 GOODBADUNCERTAIN。您也可以指定表达式。

timestamp

(可选)包含时间戳信息的结构。如果您未指定此值 ,则默认为事件时间。

timeInSeconds

采用 Unix 纪元时间格式的时间戳(以秒为单位)。有效范围在 1-31556889864403199 之间。您也可以指定表达式。

offsetInNanos

(可选)从timeInSeconds转换的纳秒偏移量。有效范围在 0-999999999 之间。您也可以指定表达式。

value

一个包含资产属性值的结构。

重要

您必须指定以下值类型之一,具体取决于指定的资产属性的 dataType。有关更多信息,请参阅 “AWS IoT SiteWise API参考AssetProperty中的。

booleanValue

(可选)资产属性值是一个布尔值,该值必须为 TRUEFALSE。您也可以指定表达式。如果使用表达式,则计算结果应为布尔值。

doubleValue

(可选)资产属性值为双精度值。您也可以指定表达式。如果使用表达式,则计算结果应为双精度值。

integerValue

(可选)资产属性值为整数值。您也可以指定表达式。如果使用表达式,则计算结果应为整数值。

stringValue

(可选)资产属性值为字符串。您也可以指定表达式。如果使用表达式,则计算结果应为字符串值。

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该iotsitewise:BatchPutAssetPropertyValue权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考IotSiteWiseAction中的。

Amazon DynamoDB

DynamoDB action

Amazon DynamoDB 操作可以让您将数据发送至 DynamoDB 表。DynamoDB 表中有一个列用于接收指定操作有效负载中的所有属性/值对。有关支持的区域列表,请参见Amazon Web Services 一般参考中的 Amazon DynamoDB 端点和配额

Amazon DynamoDB 是一项完全托管的SQL无数据库服务,可提供快速、可预测的性能和无缝扩展。有关更多信息,请参阅《Amazon DynamoDB 开发者指南》中的什么是 DynamoDB?

More information (10)

在向 DynamoDB 表的一列发送数据时,您必须指定以下参数。

tableName

接收数据的 DynamoDB 表名称。tableName 值必须与 DynamoDB 表的表格名称匹配。您也可以指定表达式。

hashKeyField

哈希键(也称为分区键)的名称。hashKeyField 值必须与 DynamoDB 表的分区键匹配。您也可以指定表达式。

hashKeyType

(可选)哈希键的数据类型。哈希键类型的值必须为 STRINGNUMBER。默认为 STRING。您也可以指定表达式。

hashKeyValue

哈希键的值。hashKeyValue使用替换模板。这些模板在运行时提供数据。您也可以指定表达式。

rangeKeyField

(可选)范围键(也称为排序键)的名称。rangeKeyField 值必须与 DynamoDB 表的排序键匹配。您也可以指定表达式。

rangeKeyType

(可选)范围键的数据类型。哈希键类型的值必须为 STRINGNUMBER。默认为 STRING。您也可以指定表达式。

rangeKeyValue

(可选)范围键的值。rangeKeyValue使用替换模板。这些模板在运行时提供数据。您也可以指定表达式。

operation

(可选)要执行的操作类型。您也可以指定表达式。操作值必须是以下值之一:

  • INSERT - 将数据作为新项插入到 DynamoDB 表中。这是默认值。

  • UPDATE - 使用新数据更新 DynamoDB 表的现有项。

  • DELETE - 删除 DynamoDB 表中的现有项。

payloadField

(可选)接收操作有效负载的 DynamoDB 列的名称。默认名称为 payload。您也可以指定表达式。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

如果指定的负载类型为字符串,则DynamoDBAction将非数据作为二进制JSON数据发送到 DynamoDB 表。DynamoDB 控制台以 Base64 编码文本格式显示数据。payloadField 值为 payload-field_raw。您也可以指定表达式。

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该dynamodb:PutItem权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅《AWS IoT Events API参考资料》ynamoDBAction中的 D

Amazon DynamoDB(v2)

DynamoDBv2 action

The Amazon DynamoDB(v2) 操作可以让您将数据写入 DynamoDB 表。DynamoDB 表中有一个单独的列用于接收指定操作有效负载中的属性/值对。有关支持的区域列表,请参见Amazon Web Services 一般参考中的 Amazon DynamoDB 端点和配额

Amazon DynamoDB 是一项完全托管的SQL无数据库服务,可提供快速、可预测的性能和无缝扩展。有关更多信息,请参阅《Amazon DynamoDB 开发者指南》中的什么是 DynamoDB?

More information (2)

在将数据发送至 DynamoDB 表的多个列时,您必须指定以下参数。

tableName

接收数据的 DynamoDB 表名称。您也可以指定表达式。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

重要

有效载荷类型必须是JSON。您也可以指定表达式。

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该dynamodb:PutItem权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅《AWS IoT Events API参考资料ynamoDBv》中的 D 2Action

Amazon Data Firehose

Firehose action

Amazon Data Firehose 操作允许您将数据发送到 Firehose 传输流。有关支持的区域列表,请参阅中的 Amazon Data Firehose 终端节点和配额Amazon Web Services 一般参考

Amazon Data Firehose 是一项完全托管的服务,用于向亚马逊简单存储服务(亚马逊简单存储服务)、亚马逊Redshift、亚马逊服务(OpenSearch 服务)和 Splunk 等目的地提供实时流数据。 OpenSearch 有关更多信息,请参阅什么是 Amazon Data Firehose? 在《亚马逊数据 Firehose 开发者指南》中。

More information (3)

向 Firehose 传输流发送数据时,必须指定以下参数。

deliveryStreamName

接收数据的 Firehose 传输流的名称。

separator

(可选)您可以使用字符分隔符来分隔发送到 Firehose 传输流的连续数据。分隔符值必须是 '\n'(换行符)、'\t'(制表符)、'\r\n'(Windows 新行)或','(逗号)。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该firehose:PutRecord权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考FirehoseAction中的。

AWS Lambda

Lambda action

该 AWS Lambda 操作允许您调用 Lambda 函数。有关支持的区域列表,请参见 Amazon Web Services 一般参考 中的 AWS Lambda 端点和配额

AWS Lambda 是一项计算服务,允许您在不预置或管理服务器的情况下运行代码。有关更多信息,请参阅什么是 AWS Lambda? 在《AWS Lambda 开发人员指南》中。

More information (2)

调用 Lambda 函数时,您必须指定以下参数。

functionArn

要调ARN用的 Lambda 函数中的一个。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该lambda:InvokeFunction权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考LambdaAction中的。

Amazon Simple Notification Service

SNS action

亚马逊SNS主题发布操作允许您发布亚马逊SNS消息。有关支持的区域列表,请参阅Amazon Web Services 一般参考中的 Amazon Simple Notification Service 端点和配额

Amazon Simple Notification Service (Amazon Simple Notification Service) 是一项 Web 服务,用于协调和管理向订阅端点或客户端的消息交付或发送。有关更多信息,请参阅什么是亚马逊SNS? 在《Amazon 简单通知服务开发者指南》中。

注意

亚马逊SNS主题发布操作不支持亚马逊 SNSFIFO(先入先出)主题。由于规则引擎是一项完全分布式的服务,因此启动 Amazon SNS 操作时,消息可能不会按指定顺序显示。

More information (2)

在发布 Amazon SNS 消息时,必须指定以下参数。

targetArn

接收消息ARN的 Amazon SNS 目标的。

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该sns:Publish权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考SNSTopicPublishAction中的。

Amazon Simple Queue Service

SQS action

Amazon SQS 操作允许您将数据发送到亚马逊SQS队列。有关支持的区域列表,请参阅Amazon Web Services 一般参考中的 Amazon Simple Queue Service 端点和配额

Amazon Simple Queue Service (AmazonSQS) 提供安全、耐用且可用的托管队列,可让您集成和分离分布式软件系统和组件。有关更多信息,请参阅《Amazon Simple Notification Service 开发者指南》 中的什么是 Amazon Simple Queue Service>

注意

亚马逊SQS操作不支持 >Amazon SQSFIFO(先入先出)话题。由于规则引擎是一项完全分布式的服务,因此启动 Amazon SQS 操作时,消息可能不会按指定顺序显示。

More information (3)

当您向 Amazon SQS 队列发送数据时,必须指定以下参数。

queueUrl

接收数据URL的 Amazon SQS 队列的。

useBase64

(可选)如果您指定,则将数据 AWS IoT Events 编码为 Base64 文本。TRUE默认为 FALSE

payload

(可选)默认有效负载包含有关探测器模型实例和触发操作的事件的信息的所有属性/值对。此外,您还可以自定义负载。有关更多信息,请参阅《AWS IoT Events API参考资料》中的负载

注意

确保附加到您的 AWS IoT Events 服务角色的策略授予了该sqs:SendMessage权限。有关更多信息,请参阅 的身份和访问管理 AWS IoT Events

有关更多信息,请参阅 “AWS IoT Events API参考SNSTopicPublishAction中的。

您也可以使用 Amazon SNS 和 AWS IoT Core 规则引擎来触发 AWS Lambda 函数。这使得使用其他服务采取行动成为可能,例如 Amazon Connect,甚至是公司的企业资源规划 (ERP) 应用程序。

注意

要实时收集和处理大量数据记录,您可以使用其他 AWS 服务,例如 Amazon Kinesis。然后,您可以完成初步分析,然后将结果 AWS IoT Events 作为输入发送到探测器。