

# 连接状态事件
<a name="iot-lorawan-gateway-events"></a>

适用于 LoRaWAN 的 AWS IoT Core 可以发布消息，向您通知登记到 AWS IoT 的 LoRaWAN 网关的连接状态事件。当 LoRaWAN 网关的连接状态更改为已连接或断开连接时，连接状态事件会向您发出通知。

## 连接状态事件的工作原理
<a name="iot-lorawan-gateway-events-work"></a>

在将网关登记到 适用于 LoRaWAN 的 AWS IoT Core 之后，您可以将网关连接到 适用于 LoRaWAN 的 AWS IoT Core 并验证其连接状态。当网关连接状态更改为已连接或断开连接时，此事件会通知您。有关将您的网关登记并连接到 适用于 LoRaWAN 的 AWS IoT Core 的更多信息，请参阅[将您的网关登记到 适用于 LoRaWAN 的 AWS IoT Core](lorawan-onboard-gateways.md)和[连接您的 LoRaWAN 网关并验证其连接状态](lorawan-gateway-connection-status.md)。

## LoRaWAN 网关的 MQTT 主题的格式
<a name="lorawan-gateway-message-format"></a>

LoRaWAN 网关的保留 MQTT 主题使用以下格式。如果您已经订阅了这些主题，那么注册到 AWS 账户 的所有 LoRaWAN 网关都可以接收通知：
+ 对于资源级主题：

  `$aws/iotwireless/events/{eventName}/{eventType}/lorawan/wireless_gateways`
+ 对于标识符主题：

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

其中：

**\$1eventName\$1**  
\$1eventName\$1 必须是 `connection_status`。

**\$1eventType\$1**  
\$1eventType\$1 可以是 `connected` 或 `disconnected`。

**\$1resourceID\$1**  
\$1resourceID\$1 可以是 `gateway_eui` 或 `wireless_gateway_id`。

例如，您可以订阅以下主题以便在所有网关连接到 适用于 LoRaWAN 的 AWS IoT Core 时接收事件通知：

`$aws/iotwireless/events/connection_status/connected/lorawan/wireless_gateways/wireless_gateway_id/{id}`

您还可以使用 `+` 通配符同时订阅多个主题。`+` 通配符匹配级别中包含字符的任何字符串，例如以下主题：

`$aws/iotwireless/events/connection_status/connected/lorawan/wireless_gateways/wireless_gateway_id/+`

**注意**  
您不能使用通配符 `#` 订阅保留主题。

有关订阅主题时使用 `+` 通配符的更多信息，请参阅《AWS IoT Developer Guide》**中的 [MQTT topic filters](https://docs.aws.amazon.com/iot/latest/developerguide/topicfilters.html)。

## 连接状态事件的消息有效负载
<a name="iot-lorawan-gateway-payload"></a>

下面显示了连接状态事件的消息有效负载。

```
{
 // General fields
    "eventId": "string", 
    "eventType": "connected|disconnected",
    "WirelessGatewayId": "string",
    "timestamp": "timestamp",
 
 // Event-specific fields
    "LoRaWAN": {
        "GatewayEui": "string"        
    }
}
```

负载包含以下属性：

**eventId**  
适用于 LoRaWAN 的 AWS IoT Core 生成的唯一事件 ID（字符串）。

**eventType**  
发生的事件类型。可以是 `connected` 或 `disconnected`。

**wirelessGatewayId**  
LoRaWAN 网关的 ID。

**timestamp**  
事件发生时的 Unix 时间戳。

**GatewayEui**  
网关标签或网关文档中找到的网关的唯一标识符。