AWS IoT Wireless 事件通知 - AWS IoT Wireless

AWS IoT Wireless 事件通知

AWS IoT Wireless 可以發佈訊息,通知加入 AWS IoT Core 的 LoRaWAN 和 Sidewalk 裝置事件。例如,在佈建或註冊帳戶中的 Sidewalk 裝置時,您可以收到事件的通知。

如何將事件通知到資源

只要發生特定事件,就會發佈事件通知。例如,佈建 Sidewalk 裝置時會產生事件。每個事件都會觸發傳送一則事件通知。事件通知會透過具 JSON 承載的 MQTT 發佈。承載內容取決於事件的類型。

注意

至少會發佈一次事件通知。事件通知也有可能發佈超過一次。無法保證事件通知的順序。

事件和資源類型

下表顯示您會接收通知的不同類型事件。事件類型取決於資源類型是無線裝置、無線閘道還是 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 開發人員指南》中的 MQTT 主題

無線裝置的預留 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 主題 備註
Sideside 裝置註冊狀態
  • 資源層級主題

    $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_idwireless_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_idwireless_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 開發人員指南》中的 MQTT 保留主題

無線事件的定價

如需訂閱事件和接收通知的定價資訊,請參閱 AWS IoT Core 定價