AWS IoT Wireless 的事件通知 - AWS IoT Wireless

AWS IoT Wireless 的事件通知

AWS IoT Wireless 可以发布消息,以通知您登记到 AWS IoT Core 的 LoRaWAN 和 Sidewalk 设备的事件。例如,您可以收到有关事件的通知,例如您账户中的 Sidewalk 设备已配置或注册的时间。

如何通知资源有关事件

发生特定事件时,会发布事件通知。例如,在预调配 Sidewalk 设备时生成事件。每个事件将导致发送单个事件通知。事件通知通过 MQTT 随 JSON 负载一起发布。负载的内容取决于事件的类型。

注意

至少发布一次事件通知。事件消息可能会多次发布。事件通知的顺序无法保证。

事件和资源类型

下表显示您将收到通知的不同类型的事件。事件类型取决于资源类型是无线设备、无线网关还是 Sidewalk 账户。您还可以在资源级别为资源启用事件,这适用于特定类型的所有资源或选定的资源,如下一节所述。有关不同事件类型的更多信息,请参阅 LoRaWAN 资源的事件通知Sidewalk 资源的事件通知

基于资源的事件类型
资源 资源类型 事件类型
无线设备 LoRaWAN 联接
Sidewalk
  • 设备注册状态

  • 近距离

无线网关 LoRaWAN 连接状态
Sidewalk 账户 Sidewalk
  • 设备注册状态

  • 近距离

用于接收无线事件通知的策略

要接收事件通知,您的设备必须使用合适的策略,该策略允许设备连接到 AWS IoT 设备网关并订阅 MQTT 事件主题。您还必须订阅合适的主题筛选条件。

以下是接收各种无线事件的通知时需要的策略示例。

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "iot:Subscribe", "iot:Receive" ], "Resource":[ "arn:aws:iotwireless:region:account:/$aws/iotwireless/events/join/*", "arn:aws:iotwireless:region:account:/$aws/iotwireless/events/connection_status/*" "arn:aws:iotwireless:region:account:/$aws/iotwireless/events/device_registration_state/*", "arn:aws:iotwireless:region:account:/$aws/iotwireless/events/proximity/*" ] }] }

无线事件的 MQTT 主题的格式

为向您发送无线资源的事件通知,AWS IoT 使用以美元 ($) 符号开头的 MQTT 保留主题。您可以订阅并发布这些预留主题 但是,您不能创建以美元符号开头的新主题。

注意

MQTT 主题是特定于您的 AWS 账户 并使用格式 arn:aws:iotwireless:aws-region:AWS-account-ID:topic/Topic。有关更多信息,请参阅《AWS IoT Developer Guide》中的 MMQTT topics

无线设备的保留 MQTT 主题使用以下格式:

  • 资源级主题

    这些主题适用于您的 AWS 账户 中已登记到 AWS IoT Wireless 的特定类型的所有资源。

    $aws/iotwireless/events/{eventName}/{eventType}/{resourceType}/resources

  • 标识符级主题

    这些主题适用于您的 AWS 账户 中已登记到 AWS IoT Wireless 的特定类型的选定资源(由资源标识符指定)。

    $aws/iotwireless/events/{eventName}/{eventType}/{resourceType}/{resourceIdentifierType}/{resourceID}/{id}

有关资源级和标识符级的主题的更多信息,请参阅 事件配置

下表显示了各种事件的 MQTT 主题示例:

事件和 MQTT 主题
事件 MQTT 主题 备注
Sidewalk 设备注册状态
  • 资源级主题

    $aws/iotwireless/events/device_registration_state/{eventType}/sidewalk/wireless_devices

  • 标识符级主题

    $aws/iotwireless/events/device_registration_state/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}

  • {eventType} 可以是 registeredprovisioned

  • {resourceType} 可以是 sidewalk_accountswireless_devices

  • {resourceID} 对于 sidewalk_accountsamazon_id,对于 wireless_deviceswireless_device_id

Sidewalk 近似
  • 资源级主题

    $aws/iotwireless/events/proximity/{eventType}/sidewalk/wireless_devices

  • 标识符级主题

    $aws/iotwireless/events/proximity/{eventType}/sidewalk/{resourceType}/{resourceID}/{id}

  • {eventType} 可以是 beacon_discoveredbeacon_lost

  • {resourceType} 可以是 sidewalk_accountswireless_devices

  • {resourceID} 对于 sidewalk_accountsamazon_id,对于 wireless_deviceswireless_device_id

LoRaWAN 加入
  • 资源级主题

    $aws/iotwireless/events/join/{eventType}/lorawan/wireless_devices

  • 标识符级主题

    $aws/iotwireless/events/join/{eventType}/lorawan/wireless_devices/{resourceID}/{id}

  • {eventType} 可以是 join_req_0_receivedjoin_req_2_receivedjoin_accepted

  • {resourceID} 可以是 wireless_device_iddev_eui

LoRaWAN 网关连接状态
  • 资源级主题

    $aws/iotwireless/events/join/{eventType}/lorawan/wireless_gateways

  • 标识符级主题

    $aws/iotwireless/events/join/{eventType}/lorawan/wireless_gateways/{resourceID}/{id}

  • {eventType} 可以是 connecteddisconnected

  • {resourceID} 可以是 wireless_gateway_idgateway_eui

有关不同事件的更多信息,请参阅 LoRaWAN 资源的事件通知Sidewalk 资源的事件通知

如果您订阅了这些主题,当消息发布到其中一个事件通知主题时,您将收到通知。有关更多信息,请参阅《AWS IoT Developer Guide》中的 MQTT reserved topics

无线事件的定价

有关订阅事件和接收通知的定价的信息,请参阅 AWS IoT Core 定价