

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tipi di oggetti
<a name="thing-types"></a>

I tipi di oggetti permettono di archiviare la descrizione e le informazioni di configurazione comuni a tutti gli oggetti associati allo stesso tipo. Ciò semplifica la gestione degli oggetti nel registro. Ad esempio, puoi definire un tipo di LightBulb cosa. Tutti gli elementi associati al tipo di LightBulb oggetto condividono una serie di attributi: numero di serie, produttore e potenza. Quando si crea un oggetto di tipo LightBulb (o si modifica il tipo di un oggetto esistente LightBulb), è possibile specificare i valori per ciascuno degli attributi definiti nel tipo di LightBulb oggetto. 

Anche se i tipi di oggetti sono opzionali, il loro utilizzo è un modo semplice per individuare le cose.
+ Gli oggetti con un tipo possono avere fino a 50 attributi.
+ Gli oggetti senza un tipo possono avere fino a tre attributi.
+ Un oggetto può essere associato a un solo tipo.
+ Non vi è alcun limite al numero di tipi di oggetti che è possibile creare nell'account.

Non è possibile modificare il nome di un tipo di oggetto dopo averlo creato. È possibile dichiarare obsoleto un tipo di oggetto in qualsiasi momento per impedire che vi vengano associati nuovi oggetti. È inoltre possibile eliminare i tipi di oggetti a cui non sono associati oggetti.

**Topics**
+ [

# Creazione di un tipo di oggetto
](create-thing-type.md)
+ [

# Visualizzazione dell'elenco di tipi di oggetti
](list-thing-types.md)
+ [

# Descrizione di un tipo di oggetto
](describe-thing-type.md)
+ [

# Associazione di un tipo di oggetto a un oggetto
](associate-thing-type.md)
+ [

# Aggiornare un tipo di oggetto
](update-thing-type.md)
+ [

# Dichiarazione di un tipo di oggetto come obsoleto
](deprecate-thing-type.md)
+ [

# Eliminazione di un tipo di oggetto
](delete-thing-types.md)

# Creazione di un tipo di oggetto
<a name="create-thing-type"></a>

Usa il comando **CreateThingType** per creare un tipo di oggetto:

```
$ aws iot create-thing-type 

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

Il comando **CreateThingType** restituisce una risposta che contiene il tipo di oggetto e il relativo ARN:

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

# Visualizzazione dell'elenco di tipi di oggetti
<a name="list-thing-types"></a>

Usa il comando **ListThingTypes** per elencare i tipi di oggetti:

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

Il **ListThingTypes** comando restituisce un elenco dei tipi di oggetti definiti nel tuo Account AWS:

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

# Descrizione di un tipo di oggetto
<a name="describe-thing-type"></a>

Usa il comando **DescribeThingType** per ottenere informazioni su un tipo di oggetto:

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

Il comando **DescribeThingType** restituisce le informazioni relative al tipo specificato:

```
{
    "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
    }
}
```

# Associazione di un tipo di oggetto a un oggetto
<a name="associate-thing-type"></a>

Usa il comando **CreateThing** per specificare un tipo di oggetto durate la creazione di un oggetto:

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

Usa il comando **UpdateThing** in qualsiasi momento per modificare il tipo di oggetto associato a un oggetto:

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

Puoi anche usare il comando **UpdateThing** per eliminare l'associazione di un oggetto a un tipo.

# Aggiornare un tipo di oggetto
<a name="update-thing-type"></a>

È possibile utilizzare il **UpdateThingType** comando per aggiornare un tipo di oggetto quando si crea un oggetto:

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

Usa il comando **UpdateThing** in qualsiasi momento per modificare il tipo di oggetto associato a un oggetto:

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

Puoi anche usare il comando **UpdateThing** per eliminare l'associazione di un oggetto a un tipo.

# Dichiarazione di un tipo di oggetto come obsoleto
<a name="deprecate-thing-type"></a>

I tipi di oggetti non sono modificabili. Dopo essere stati definiti, non possono essere modificati. È possibile tuttavia dichiarare obsoleto un tipo di oggetto per impedire agli utenti di associarvi nuovi oggetti. Tutti gli oggetti esistenti associati al tipo di oggetto non vengono modificati.

Per dichiarare obsoleto un tipo di oggetto, usa il comando **DeprecateThingType**:

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

Usa il comando **DescribeThingType** per visualizzare il risultato:

```
$ 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
    }
}
```

La dichiarazione di un tipo di oggetto come obsoleto è un'operazione reversibile. È possibile annullare la dichiarazione di un tipo come obsoleto usando il flag `--undo-deprecate` con il comando **DeprecateThingType** dell'interfaccia a riga di comando:

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

Usa il comando **DescribeThingType** dell'interfaccia a riga di comando per visualizzare il risultato:

```
$ 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,
    }
}
```

# Eliminazione di un tipo di oggetto
<a name="delete-thing-types"></a>

È possibile eliminare i tipi di oggetti solo dopo averli dichiarati obsoleti. Per eliminare un tipo di oggetto, usa il comando **DeleteThingType**:

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

**Nota**  
Prima di poter eliminare un tipo di oggetto, attendi cinque minuti dopo averlo reso obsoleto.