デバイス登録状態イベント - AWS IoT Wireless

デバイス登録状態イベント

デバイス登録状態イベントは、Sidewalk デバイスがプロビジョニングまたは登録されたときなど、デバイスの登録状態に変化があった場合に、イベント通知を発行します。イベントは、デバイスがプロビジョニングされてから登録された時点まで、デバイスが通過するさまざまな状態に関する情報を提供します。

デバイス登録状態イベントの仕組み

Amazon Sidewalk と AWS IoT Wireless で Sidewalk デバイスをオンボードすると、AWS IoT Wireless は create オペレーションを実行して、Sidewalk デバイスを AWS アカウント に追加します。その後、デバイスがプロビジョニング済み状態になり、eventTypeprovisioned になります。デバイスのオンボーディングの詳細については、「AWS IoT Core for Amazon Sidewalk の開始方法」を参照してください。

デバイスが provisioned になった後、Amazon Sidewalk は register オペレーションを実行して Sidewalk デバイスを AWS IoT Wireless に登録します。登録プロセスが開始され、暗号化キーとセッションキーが AWS IoT で設定されます。デバイスが登録されると、eventTyperegistered になり、デバイスを使用できるようになります。

デバイスが registered になった後、Sidewalk は deregister デバイスにリクエストを送ることができます。次に、AWS IoT Wireless はリクエストを実行し、デバイスの状態を provisioned に戻します。デバイス状態の詳細については、「DeviceState」を参照してください。

デバイス登録状態イベントの通知を有効にする

デバイス登録状態の予約済みトピックのサブスクライバーがメッセージを受信できるようにするには、AWS Management Console から、あるいは API または CLI を使用して、イベント通知を有効にする必要があります。これらのイベントは、AWS アカウント 内のすべての Sidewalk リソース、または選択したリソースに対して有効にできます。これらのイベントを有効にする方法の詳細については、「ワイヤレスリソースのイベントを有効にする」を参照してください。

デバイス登録状態イベントの MQTT トピックの形式

デバイス登録状態イベントの通知を受けるには、ドル ($) 記号で始まる MQTT 予約トピックをサブスクライブします。詳細については、AWS IoT デベロッパーガイドの「MQTT トピック」を参照してください。

Sidewalk デバイス登録状態イベント用に予約された MQTT トピックは、次の形式を使用します。

  • リソースレベルのトピックの場合:

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

  • 識別子のトピックの場合:

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

コードの説明は以下のとおりです。

{eventName}

{eventName} は device_registation_state である必要があります。

{eventType}

{eventType} は、provisioned または registered のいずれかになります。

{resourceType}

{resourceType} は、sidewalk_accounts または wireless_devices のいずれかになります。

{resourceID}

{resourceID} は sidewalk_accounts{resourceType} の amazon_id で、wireless_devices{resourceType} の wireless_device_id です。

また、ワイルドカード文字 + を使用して、複数のトピックを同時にサブスクライブできます。ワイルドカード文字 + は、その文字を含むレベル内の任意の文字列に一致します。例えば、可能なすべてのイベントタイプ (provisioned および registered) について、特定の Amazon ID に登録されているすべてのデバイス関する通知を受ける場合、次のトピックフィルターを使用できます。

$aws/iotwireless/events/device_registration_state/+/sidewalk/sidewalk_accounts/amazon_id/+

注記

予約済みトピックをサブスクライブするには、ワイルドカード文字 # を使用できません。トピックの詳細については、AWS IoT デベロッパーガイドの「MQTT トピックフィルター」を参照してください。

デバイス登録状態イベントのメッセージペイロード

デバイス登録状態イベントの通知を有効にすると、イベント通知は MQTT を介して JSON ペイロードを使用して発行されます。これらのイベントには、次のペイロード例が含まれています。

{ "eventId": "string", "eventType": "provisioned|registered", "WirelessDeviceId": "string", "timestamp": "timestamp", // Event-specific fields "operation": "create|deregister|register", "Sidewalk": { "AmazonId": "string", "SidewalkManufacturingSn": "string" } }

ペイロードには以下の属性が含まれます。

eventId

一意のイベント ID (文字列)。

eventType

発生したイベントのタイプ。provisioned または registered のいずれかを設定できます。

wirelessDeviceId

ワイヤレスデバイスの識別子。

timestamp

イベントが発生したときの Unix タイムスタンプ。

オペレーション

イベントをトリガーしたオペレーション。有効な値は、createregisterderegister です。

sidewalk

イベント通知を受け取る Sidewalk Amazon ID または SidewalkManufacturingSn