HTTPS - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

HTTPS

HTTPS (http) 操作可将 MQTT 消息中的数据发送至 Web 应用程序或服务。

Requirements

此规则操作具有以下要求:

  • 您必须先确认并启用 HTTPS 端点,然后规则引擎才能使用它们。有关更多信息,请参阅 使用主题规则目标

Parameters

使用此操作创建 Amazon IoT 规则时,您必须指定以下信息:

url

使用 HTTP POST 方法发送消息的 HTTPS 端点。如果使用 IP 地址代替主机名,则该地址必须是 IPv4 地址。不支持 IPv6 地址。

支持替换模板:是

confirmationUrl

(可选)如果指定,则 Amazon IoT 使用确认 URL 创建匹配的主题规则目标。您必须先启用主题规则目标,然后才能在 HTTPS 操作中使用它。有关更多信息,请参阅 使用主题规则目标。如果您使用替换模板,则必须先手动创建主题规则目标,然后才能使用 http 操作。confirmationUrl 必须是 url 的前缀。

urlconfirmationUrl 之间的关系由以下内容描述:

  • 如果 url 为硬编码且未提供 confirmationUrl,则我们隐式地将 url 字段视为 confirmationUrl。Amazon IoT 为 url 创建主题规则目标。

  • 如果 urlconfirmationUrl 为硬编码,则 url 必须以 confirmationUrl 开头。Amazon IoT 为 confirmationUrl 创建主题规则目标。

  • 如果 url 包含替换模板,则必须指定 confirmationUrl 并且 url 必须以 confirmationUrl 开头。如果 confirmationUrl 包含替换模板,则必须先手动创建主题规则目标,然后才能使用 http 操作。如果 confirmationUrl 不包含替换模板,则 Amazon IoT 为 confirmationUrl 创建主题规则目标。

支持替换模板:是

headers

(可选)要包含在对端点的 HTTP 请求中的标头列表。每个标头都必须包含以下信息:

key

标头的键。

支持替换模板:否

value

标头的值。

支持替换模板:是

注意

当负载为 JSON 格式时,默认内容类型是 application/json。否则,它是 application/octet-stream。您可以在标头中,使用键内容类型(不区分大小写)指定确切的内容类型来覆盖它。

auth

(可选)规则引擎在连接到 url 参数中指定的端点 URL 时使用的身份验证。目前,Signature Version 4 是唯一支持的身份验证类型。有关更多信息,请参阅 HTTP 授权

支持替换模板:否

Examples

以下 JSON 示例定义了一个带有 HTTPS 操作的 Amazon IoT 规则。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com", "headers": [ { "key": "static_header_key", "value": "static_header_value" }, { "key": "substitutable_header_key", "value": "${value_from_payload}" } ] } } ] } }

HTTP 操作重试逻辑

Amazon IoT 规则引擎根据以下规则重试 HTTPS 操作:

  • 规则引擎尝试至少发送一次消息。

  • 规则引擎最多重试两次。最大尝试次数为三次。

  • 在下列情况中,规则引擎不会尝试重试:

    • 之前的尝试提供了大于 16384 字节的响应。

    • 下游 Web 服务或应用程序在尝试之后关闭了 TCP 连接。

    • 完成包括重试在内的请求总用时超过了请求超时限制。

    • 该请求返回除 429、500-599 之外的 HTTP 状态代码。

注意

标准数据传输费用适用于重试操作。

另请参阅