本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HTTP 操作目的地
HTTP 操作目标是一项 Web 服务,规则引擎可以将主题规则中的数据路由到该服务。 AWS IoT Core 资源描述了 Web 服务 AWS IoT。目标资源可以由不同的规则共享。
在向其他 Web 服务发送数据之前 AWS IoT Core ,它必须确认自己可以访问该服务的终端节点。
概述
HTTP 操作目标指的是支持确认 URL 和一个或多个数据收集的 Web 服务 URLs。目标资源包含您的 Web 服务的确认 URL。配置 HTTP 操作时,需要指定应接收数据的端点的实际 URL 以及 Web 服务的确认 URL。确认目标后,主题规则会将 SQL 语句的结果发送到 HTTPS 端点(而不是发送到确认 URL)。
HTTP 操作目标可以处于以下状态之一:
- 已启用
-
已经确认目标,可以由规则操作使用。目标必须处于
ENABLED状态才能在规则中使用。您只能启用处于 DISABLED 状态的目标。 - DISABLED
-
已经确认目标,但规则操作无法使用。如果您希望暂时阻止流入端点的流量而无需再次完成确认流程,则此功能非常有用。您只能禁用处于 ENABLED 状态的目标。
- 进行中
-
正在确认目标。
- ERROR
-
目标确认超时。
在确认并启用 HTTP 操作目标后,它可以与您账户中的任何规则一起使用。
管理 HTTP 操作目标
您可以使用以下操作来管理您的 HTTP 操作目标。
创建 HTTP 操作目标
您可以通过调用CreateTopicRuleDestination操作或使用 AWS IoT 控制台创建 HTTP 操作目标。
创建目标后, AWS IoT 向确认 URL 发送确认请求。确认请求的格式如下:
HTTP POST {confirmationUrl}/?confirmationToken={confirmationToken} Headers: x-amz-rules-engine-message-type: DestinationConfirmation x-amz-rules-engine-destination-arn:"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4" Content-Type: application/json Body: { "arn":"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4", "confirmationToken": "AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "enableUrl": "https://iot.us-east-1.amazonaws.com/confirmdestination/AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "messageType": "DestinationConfirmation" }
确认请求的内容包含以下信息:
- arn
-
要确认的 HTTP 操作目标的亚马逊资源名称 (ARN)。
- confirmationToken
-
发送的确认令牌 AWS IoT Core。示例中是已截断的令牌。您的令牌会更长。您需要此令牌用 AWS IoT Core来确认您的目的地。
- enableUrl
-
您需要浏览以确认主题规则目标的 URL。
- messageType
-
消息类型。
正在确认 HTTP 操作目的地
要完成端点确认过程,如果您使用 AWS CLI,则必须在确认 URL 收到确认请求后执行以下步骤。
-
确认目标已准备好接收消息
要确认 HTTP 操作目标已准备好接收物联网消息,请在确认请求
enableUrl中调用,或者执行ConfirmTopicRuleDestinationAPI 操作并传递确认请求confirmationToken中的。 -
将主题规则状态设置为已启用
确认目标可以接收消息后,必须执行
UpdateTopicRuleDestinationAPI 操作才能将主题规则的状态设置为ENABLED。
如果您使用的是 AWS IoT 控制台,请将其复制confirmationToken并粘贴到控制 AWS IoT 台中目标的确认对话框中。然后,您就可以启用主题规则。
发送新确认请求
要为目标激活新的确认消息,请调用 UpdateTopicRuleDestination 并将主题规则目标的状态设置为 IN_PROGRESS。
发送新的确认请求后,重复确认过程。
禁用和删除 HTTP 操作目标
要禁用目标,请调用 UpdateTopicRuleDestination 并将主题规则目标的状态设置为 DISABLED。可以再次启用处于 DISABLED 状态的主题规则,而无需发送新的确认请求。
要删除 HTTP 操作目标,请调用DeleteTopicRuleDestination。
证书颁发机构 Support
注意
不支持自签名证书。
HTTP 操作目标中的 HTTPS 端点支持AWS 私有证书颁发机构和 Lets E ncrypt