

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

# モノのタイプ
<a name="thing-types"></a>

モノのタイプを使用すると、同じタイプに関連付けられているすべてのモノに共通した説明および設定情報を格納できます。これにより、Registry でのモノの管理が単純化されます。たとえば、LightBulb というタイプを定義することができます。LightBulb というタイプに関連付けられているすべてのモノは、同じ属性 (シリアルナンバー、メーカー名、ワット数) を使用します。LightBulb というタイプのモノを作成 (または、既存のモノのタイプを LightBulb に変更) する際に、LightBulb タイプで定義されている各属性の値を指定できます。

モノのタイプはオプションですが、使用すると、モノを検出しやすくなります。
+ モノのタイプが関連付けられたモノの場合は、最大 50 個の属性を指定できます。
+ モノのタイプが関連付けられていないモノの場合は、最大 3 個の属性を指定できます。
+ 1 つのモノを関連付けることができるモノのタイプは 1 つだけです。
+ アカウント内で作成できるモノのタイプの数に制限はありません。

モノのタイプを作成した後に名前を変更することはできません。特定のタイプに新しいモノが関連付けられないようにするには、いつでもそのタイプを非推奨にできます。また、モノが 1 つも関連付けられていないタイプは、削除できます。

**Topics**
+ [モノのタイプを作成する](create-thing-type.md)
+ [モノのタイプをリスト表示する](list-thing-types.md)
+ [モノのタイプを記述する](describe-thing-type.md)
+ [モノのタイプをモノに関連付ける](associate-thing-type.md)
+ [モノのタイプを更新する](update-thing-type.md)
+ [モノのタイプを非推奨にする](deprecate-thing-type.md)
+ [モノのタイプを削除する](delete-thing-types.md)

# モノのタイプを作成する
<a name="create-thing-type"></a>

**CreateThingType** コマンドを使用すると、モノのタイプを作成できます。

```
$ aws iot create-thing-type 

                --thing-type-name "LightBulb" --thing-type-properties "thingTypeDescription=light bulb type, searchableAttributes=wattage,model"
```

**CreateThingType** コマンドは、モノのタイプおよび ARN を含む応答を返します。

```
{
    "thingTypeName": "LightBulb",
    "thingTypeId": "df9c2d8c-894d-46a9-8192-9068d01b2886",
    "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb"
}
```

# モノのタイプをリスト表示する
<a name="list-thing-types"></a>

**ListThingTypes** コマンドを使用すると、モノのタイプをリスト表示できます。

```
$ aws iot list-thing-types
```

**ListThingTypes** コマンドは、 で定義されているモノのタイプのリストを返します AWS アカウント。

```
{
    "thingTypes": [
        {
            "thingTypeName": "LightBulb",
            "thingTypeProperties": {
                "searchableAttributes": [
                    "wattage",
                    "model"
                ],
                "thingTypeDescription": "light bulb type"
            },
            "thingTypeMetadata": {
                "deprecated": false,
                "creationDate": 1468423800950
            }
        }
    ]
}
```

# モノのタイプを記述する
<a name="describe-thing-type"></a>

**DescribeThingType** コマンドを使用すると、モノのタイプに関する情報を取得できます。

```
$ aws iot describe-thing-type --thing-type-name "LightBulb"
```

**DescribeThingType** コマンドは、指定されたタイプに関する情報を返します。

```
{
    "thingTypeProperties": {
        "searchableAttributes": [
            "model", 
            "wattage"
        ], 
        "thingTypeDescription": "light bulb type"
    }, 
    "thingTypeId": "df9c2d8c-894d-46a9-8192-9068d01b2886", 
    "thingTypeArn": "arn:aws:iot:us-west-2:123456789012:thingtype/LightBulb", 
    "thingTypeName": "LightBulb", 
    "thingTypeMetadata": {
        "deprecated": false, 
        "creationDate": 1544466338.399
    }
}
```

# モノのタイプをモノに関連付ける
<a name="associate-thing-type"></a>

**CreateThing** コマンドを使用すると、モノを作成する際にタイプを指定できます。

```
$ aws iot create-thing --thing-name "MyLightBulb" --thing-type-name "LightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"
```

**UpdateThing** コマンドを使用すると、モノに関連付けるモノのタイプをいつでも変更できます。

```
$ aws iot update-thing --thing-name "MyLightBulb"
                --thing-type-name "LightBulb" --attribute-payload  "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"
```

**UpdateThing** コマンドを使用すると、モノのタイプとモノとの関連付けを解除することもできます。

# モノのタイプを更新する
<a name="update-thing-type"></a>

**UpdateThingType** コマンドを使用すると、モノを作成する際にタイプを更新することができます。

```
$ aws iot create-thing --thing-name "MyLightBulb" --thing-type-name "LightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"
```

**UpdateThing** コマンドを使用すると、モノに関連付けるモノのタイプをいつでも変更できます。

```
$ aws iot update-thing --thing-name "MyLightBulb"
                --thing-type-name "LightBulb" --attribute-payload  "{\"attributes\": {\"wattage\":\"75\", \"model\":\"123\"}}"
```

**UpdateThing** コマンドを使用すると、モノのタイプとモノとの関連付けを解除することもできます。

# モノのタイプを非推奨にする
<a name="deprecate-thing-type"></a>

モノのタイプは変更不可能です。定義した後に変更することはできません。ただし、特定のタイプにユーザーが新しいモノを関連付けないようにするには、そのタイプを非推奨にすることができます。そのタイプに関連付けられている既存のモノはすべて、変更されません。

モノのタイプを非推奨にするには、**DeprecateThingType** コマンドを使用します。

```
$ aws iot deprecate-thing-type --thing-type-name "myThingType"
```

**DescribeThingType** コマンドを使用して、結果を表示できます。

```
$ aws iot describe-thing-type --thing-type-name "StopLight":
```

```
{
    "thingTypeName": "StopLight",
    "thingTypeProperties": {
        "searchableAttributes": [
            "wattage",
            "numOfLights",
            "model"
        ],
        "thingTypeDescription": "traffic light type",
    },
    "thingTypeMetadata": {
        "deprecated": true,
        "creationDate": 1468425854308,
        "deprecationDate": 1468446026349
    }
}
```

モノのタイプの廃止は、操作を元に戻すことができます。`--undo-deprecate` フラッグを **DeprecateThingType** CLI コマンドと共に使用して、廃止を取り消すことができます。

```
$ aws iot deprecate-thing-type --thing-type-name "myThingType" --undo-deprecate
```

**DescribeThingType** CLI コマンドを使用して、結果を表示できます。

```
$ aws iot describe-thing-type --thing-type-name "StopLight":
```

```
{
    "thingTypeName": "StopLight",
    "thingTypeArn": "arn:aws:iot:us-east-1:123456789012:thingtype/StopLight",
    "thingTypeId": "12345678abcdefgh12345678ijklmnop12345678"
    "thingTypeProperties": {
        "searchableAttributes": [
            "wattage",
            "numOfLights",
            "model"
        ],
        "thingTypeDescription": "traffic light type"
    },
    "thingTypeMetadata": {
        "deprecated": false,
        "creationDate": 1468425854308,
    }
}
```

# モノのタイプを削除する
<a name="delete-thing-types"></a>

モノのタイプを削除するには、あらかじめそのタイプを非推奨にしておく必要があります。モノのタイプを削除にするには、**DeleteThingType** コマンドを使用します。

```
$ aws iot delete-thing-type --thing-type-name "StopLight"
```

**注記**  
モノのタイプを削除する前に、廃止にしてから 5 分ほど待つ必要があります。