

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# デバイス接続ステータスのクエリ
<a name="device-connectivity-status"></a>

AWS IoT フリートインデックス作成は個々のデバイス接続クエリをサポートしているため、特定のデバイスの接続ステータスと関連メタデータを効率的に取得できます。この機能は、既存のフリート全体のインデックス作成およびクエリ機能を補完します。

## 仕組み
<a name="w2aac37c21b5"></a>

デバイス接続クエリのサポートは、最適化された単一デバイス接続ステータスの取得に使用することができます。この API は、最新のデバイス固有の接続情報への低レイテンシーで高スループットのアクセスを提供します。接続インデックス作成を有効にすると、標準クエリとして課金されるこのクエリ API にアクセスできます。詳細については、「[AWS IoT Device Management 料金表](https://aws.amazon.com/iot-device-management/pricing/#:~:text=Search%20queries%20(per%2010%2C000%20queries))」を参照してください。

## 機能
<a name="w2aac37c21b7"></a>

デバイス接続クエリのサポートにより、次のことが可能になります。

1. `thingName` を使用して、特定のデバイスの現在の接続状態 (接続または切断) をクエリする。

1. 以下を含む追加の接続メタデータを取得する。

   1. 切断の理由

   1. 最新の接続または切断イベントのタイムスタンプ。

**注記**  
フリートインデックスは、接続 `clientId` が[レジストリ](https://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html)に登録されているモノの `thingName` と同じであるデバイスの接続ステータスをインデックス化します。

## 利点
<a name="w2aac37c21b9"></a>

1. **低レイテンシー:** 最新のデバイス接続状態を反映し、IoT Core からの接続状態の変化を反映するための低レイテンシーを提供します。IoT Core は、デバイスから切断リクエストを受信すると即時に、または切断リクエストを送信せずにデバイスが切断された場合に、デバイスを切断状態と見なします。IoT Core は、クライアントが切断されたと判断されるまで、設定されたキープアライブ時間の 1.5 倍を待機します。接続ステータス API は、通常 IoT Core がデバイスの接続状態の変更を判定してから 1 秒以内にこれらの変更を反映します。

1. **高スループット:** デフォルトでは 350 トランザクション/秒 (TPS) をサポートしており、リクエストに応じてより高い値に調整できます。

1. **データ保持: **フリートインデックス作成 (FI) ConnectivityIndexing モードが有効で、モノが削除されていない場合に、イベントデータを無期限に保存します。接続インデックス作成を無効にすると、レコードは保持されません。

**注記**  
この API の起動前に接続ステータスインデックス作成が有効になっている場合、フリートインデックス作成は API の起動後に接続ステータスの変更の追跡を開始し、それらの変更に基づいて更新されたステータスを反映します。

## 前提条件
<a name="w2aac37c21c11"></a>

デバイス接続クエリのサポートを使用するには:

1. [AWS アカウントをセットアップする](https://docs.aws.amazon.com/iot/latest/developerguide/setting-up.html)

1. 任意のリージョン AWS IoT Core の にデバイスをオンボードして登録する

1. 接続インデックス作成を使用して、[フリートインデックス作成を有効にする](https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html)

**注記**  
接続インデックス作成が既に有効になっている場合は、追加のセットアップは必要ありません。

詳細な手順については、「[AWS IoT デベロッパーガイド](https://docs.aws.amazon.com/iot/latest/developerguide/setting-up.html)」を参照してください。

## 例
<a name="w2aac37c21c13"></a>

```
aws iot get-thing-connectivity-data --thing-name myThingName
```

```
{
   "connected": true,
   "disconnectReason": "NONE",
   "thingName": "myThingName",
   "timestamp": "2024-12-19T10:00:00.000000-08:00"
}
```
+ `thingName`: リクエストで示されるデバイスの名前。これは、 AWS IoT Coreへの接続に使用される clientId とも一致します。
+ `disconnectReason`: 切断の理由。接続されたデバイスでは NONE になります。
+ `connected`: ブール値の true は、このデバイスが現在接続されていることを示します。
+ `timestamp`: デバイスの直近の切断をミリ秒単位で表すタイムスタンプ。

```
aws iot get-thing-connectivity-data --thing-name myThingName
```

```
{
   "connected": false,
   "disconnectReason": "CLIENT_INITIATED_DISCONNECT",
   "thingName": "myThingName",
   "timestamp": "2024-12-19T10:30:00.000000-08:00"
}
```
+ `thingName`: リクエストで示されるデバイスの名前。これは、 AWS IoT Coreへの接続に使用される clientId とも一致します。
+ `disconnectReason`: 切断の理由は CLIENT\$1INITIATED\$1DISCONNECT であり、クライアントが切断 AWS IoT Core することを示すことを示します。
+ `connected`: ブール値の false は、このデバイスが現在切断されていることを示します。
+ `timestamp`: デバイスの直近の切断をミリ秒単位で表すタイムスタンプ。

```
aws iot get-thing-connectivity-data --thing-name neverConnectedThing
```

```
{
   "connected": false,
   "disconnectReason": "UNKNOWN",
   "thingName": "neverConnectedThing"
}
```
+ `thingName`: リクエストで示されるデバイスの名前。これは、 AWS IoT Coreへの接続に使用される clientId とも一致します。
+ `disconnectReason`: 切断の理由。一度も接続されていないデバイスの場合、またはフリートインデックス作成に最後の切断理由が保存されていないデバイスの場合、「UNKNOWN」になります。
+ `connected`: ブール値の false は、このデバイスが現在切断されていることを示します。
+ `timestamp`: 一度も接続されていないデバイスの場合、またはフリートインデックス作成に最後のタイムスタンプが保存されていないデバイスの場合は、タイムスタンプは返されません。