

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Administración de objetos con el registro
<a name="thing-registry"></a>

Utiliza la AWS IoT consola, la AWS IoT API o la AWS CLI para interactuar con el registro. En las secciones siguientes se muestra cómo utilizar la CLI para trabajar con el registro.

**Al nombrar sus objetos cosa:**
+ No utilice información personal identificable en el nombre del objeto. El nombre de la cosa puede aparecer en comunicaciones e informes no cifrados. 

**Topics**
+ [Creación de un objeto](create-thing.md)
+ [Lista de objetos](list-things.md)
+ [Describir las cosas](search-things.md)
+ [Actualización de un objeto](update-thing.md)
+ [Eliminación de un objeto](delete-thing.md)
+ [Asociar un principal a un objeto](attach-thing-principal.md)
+ [Enumeración de los objetos asociados a una entidad principal](list-principal-things.md)
+ [Enumeración de las entidades principales asociadas a un objeto](list-thing-principals.md)
+ [Enumeración de los objetos asociados a una entidad principal V2](list-principal-things-v2.md)
+ [Enumeración de las entidades principales asociadas a un objeto V2](list-thing-principals-v2.md)
+ [Desvincular un principal de un objeto](detach-thing-principal.md)

# Creación de un objeto
<a name="create-thing"></a>

El siguiente comando muestra cómo utilizar el AWS IoT **CreateThing** comando de la CLI para crear una cosa. No se puede modificar el nombre de un objeto una vez creado. Para cambiar el nombre de un objeto, debe crear un objeto nuevo, asignarle el nuevo nombre y eliminar el objeto antiguo. 

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

El comando **CreateThing** muestra el nombre y el ARN (nombre de recurso de Amazon) del nuevo objeto:

```
{
    "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyLightBulb",
    "thingName": "MyLightBulb",
    "thingId": "12345678abcdefgh12345678ijklmnop12345678"
}
```

**nota**  
No es recomendable utilizar datos personales en los nombres de objeto.

Para obtener más información, consulte [create-thing](https://docs.aws.amazon.com//cli/latest/reference/iot/create-thing.html) en la Referencia de comandos AWS CLI .

# Lista de objetos
<a name="list-things"></a>

Puede utilizar el comando **ListThings** para enumerar todos los objetos en su cuenta:

```
$ aws iot list-things
```

```
{
    "things": [
       {
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 1,
            "thingName": "MyLightBulb"
        },
        {
            "attributes": {
                "numOfStates":"3"
             },
            "version": 11,
            "thingName": "MyWallSwitch"
        }
    ]
}
```

Puede utilizar el comando **ListThings** para buscar todas las cosas de un tipo específico:

```
$  aws iot list-things --thing-type-name "LightBulb"
```

```
{
    "things": [
        {
            "thingTypeName": "LightBulb",
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 1,
            "thingName": "MyRGBLight"
        },
        {
            "thingTypeName": "LightBulb",
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 1,
            "thingName": "MySecondLightBulb"
        }
    ]
}
```

Puede utilizar el comando **ListThings** para buscar todos los objetos que tienen un atributo con un valor específico. Este comando busca hasta tres atributos. 

```
$  aws iot list-things --attribute-name "wattage" --attribute-value "75"
```

```
{
    "things": [
        {
            "thingTypeName": "StopLight",
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 3,
            "thingName": "MyLightBulb"
        },
        {
            "thingTypeName": "LightBulb",
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 1,
            "thingName": "MyRGBLight"
        },
        {
            "thingTypeName": "LightBulb",
            "attributes": {
                "model": "123",
                "wattage": "75"
            },
            "version": 1,
            "thingName": "MySecondLightBulb"
        }
    ]
}
```

Para obtener más información, consulte [list-things](https://docs.aws.amazon.com//cli/latest/reference/iot/list-things.html) en la Referencia de comandos AWS CLI .

# Describir las cosas
<a name="search-things"></a>

Puede utilizar el comando **DescribeThing** para mostrar información más detallada sobre una cosa:

```
$ aws iot describe-thing --thing-name "MyLightBulb"
{
    "version": 3,
    "thingName": "MyLightBulb",
    "thingArn": "arn:aws:iot:us-east-1:123456789012:thing/MyLightBulb",
    "thingId": "12345678abcdefgh12345678ijklmnop12345678",
    "defaultClientId": "MyLightBulb",
    "thingTypeName": "StopLight",
    "attributes": {
        "model": "123",
        "wattage": "75"
    }
}
```

También puede acceder a esta API dentro del motor de reglas mediante la función `get_registry_data()` en línea. Puede utilizar esta función para acceder y utilizar de forma dinámica la información del registro de objetos (incluidos los atributos, los tipos de elementos y la pertenencia a grupos) mediante llamadas y `ListThingGroupsForThing` APIs directamente dentro de AWS IoT las reglas, lo que permite procesar `DescribeThing` y enrutar los mensajes en tiempo real en función de los datos de registro del dispositivo. Para obtener más información, consulte [https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-get-registry_data](https://docs.aws.amazon.com//iot/latest/developerguide/iot-sql-functions.html#iot-sql-function-get-registry_data).

Para obtener más información, consulte [describe-thing en la Referencia de comandos](https://docs.aws.amazon.com//cli/latest/reference/iot/describe-thing.html). AWS CLI 

# Actualización de un objeto
<a name="update-thing"></a>

Puede utilizar el comando **UpdateThing** para actualizar un objeto. Este comando solo actualiza los atributos del objeto. El nombre de un objeto no se puede modificar. Para cambiar el nombre de un objeto, debe crear un objeto nuevo, asignarle el nuevo nombre y eliminar el objeto antiguo.

```
$ aws iot update-thing --thing-name "MyLightBulb" --attribute-payload "{\"attributes\": {\"wattage\":\"150\", \"model\":\"456\"}}"
```

El comando **UpdateThing** no genera una salida. Puede utilizar el comando de **DescribeThing** para ver el resultado:

```
$ aws iot describe-thing --thing-name "MyLightBulb"
{
    "attributes": {
        "model": "456",
        "wattage": "150"
    },
    "version": 2,
    "thingName": "MyLightBulb"
}
```

Para obtener más información, consulte [update-thing](https://docs.aws.amazon.com//cli/latest/reference/iot/update-thing.html) en la Referencia de comandos de AWS CLI .

# Eliminación de un objeto
<a name="delete-thing"></a>

Puede utilizar el comando **DeleteThing** para eliminar un objeto:

```
$ aws iot delete-thing --thing-name "MyThing"
```

Este comando se devuelve correctamente sin error si la eliminación se realiza correctamente o especifica un objeto que no existe.

Para obtener más información, consulte [describe-thing](https://docs.aws.amazon.com//cli/latest/reference/iot/delete-thing.html) en la Referencia de comandos de AWS CLI .

# Asociar un principal a un objeto
<a name="attach-thing-principal"></a>

Un dispositivo físico puede utilizar un principal para comunicarse con él. AWS IoT Una entidad principal puede ser un certificado X.509 o un ID de Amazon Cognito. Puede asociar un certificado o un ID de Amazon Cognito al elemento del registro que representa su dispositivo ejecutando el [attach-thing-principal](https://docs.aws.amazon.com//cli/latest/reference/iot/attach-thing-principal.html)comando.

Para adjuntar un certificado o un Amazon Cognito ID a tu dispositivo, usa el [attach-thing-principal](https://docs.aws.amazon.com//cli/latest/reference/iot/attach-thing-principal.html)comando:

```
$ aws iot attach-thing-principal \
    --thing-name "MyLightBulb1" \
    --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847"
```

Para adjuntar un certificado a su dispositivo con un tipo de adjunto (adjunto exclusivo o no exclusivo), utilice el [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/attach-thing-principal.html)comando y especifique un tipo en el `--thing-principal-type` campo. Una asociación exclusiva significa que el objeto de IoT es lo único que se asocia al certificado y este certificado no se puede asociar a ningún otro objeto. Una asociación no exclusiva significa que el objeto de IoT se asocia al certificado y este certificado se puede asociar a otro objeto. Para obtener más información, consulte [Asociar cualquier AWS IoT cosa a una conexión de cliente MQTT](exclusive-thing.md).

**nota**  
Para la característica [Asociar cualquier AWS IoT cosa a una conexión de cliente MQTT](exclusive-thing.md), solo puede usar el certificado X.509 como entidad principal.

```
$ aws iot attach-thing-principal \
    --thing-name "MyLightBulb2" \
    --principal "arn:aws:iot:us-east-1:123456789012:cert/a0c01f5835079de0a7514643d68ef8414ab739a1e94ee4162977b02b12842847" \
    --thing-principal-type "EXCLUSIVE_THING"
```

Si la asociación se realiza correctamente, el comando **AttachThingPrincipal** no producirá ningún resultado. Para describir el adjunto, utilice el comando list-thing-principals-v 2 CLI.

Para obtener más información, consulte [AttachThingPrincipal](https://docs.aws.amazon.com//iot/latest/apireference/API_AttachThingPrincipal.html) y en la Referencia de la API de *AWS IoT Core *.

# Enumeración de los objetos asociados a una entidad principal
<a name="list-principal-things"></a>

Para enumerar los objetos asociados a la entidad principal especificada, ejecute el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.htmls](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-things.htmls). Tenga en cuenta que este comando no indica el tipo de asociación entre el objeto y el certificado. Para enumerar el tipo de asociación, utilice el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-thingsv2.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-thingsv2.html). Para obtener más información, consulte [Enumeración de los objetos asociados a una entidad principal V2](list-principal-things-v2.md).

```
$ aws iot list-principal-things \
    --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
```

El resultado puede ser similar al siguiente.

```
{
    "things": [
        "MyLightBulb1",
        "MyLightBulb2"
    ]
}
```

Para obtener más información, consulte [ListPrincipalThings](https://docs.aws.amazon.com//iot/latest/apireference/API_ListPrincipalThings.html) y en la Referencia de la API de *AWS IoT Core *.

# Enumeración de las entidades principales asociadas a un objeto
<a name="list-thing-principals"></a>

Para enumerar las entidades principales asociadas al objeto especificado, ejecute el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principals.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principals.html). Tenga en cuenta que este comando no indica el tipo de asociación entre el objeto y el certificado. Para enumerar el tipo de asociación, utilice el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principalsv2.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principalsv2.html). Para obtener más información, consulte [Enumeración de las entidades principales asociadas a un objeto V2](list-thing-principals-v2.md).

```
$ aws iot list-thing-principals \
    --thing-name "MyLightBulb1"
```

El resultado puede ser similar al siguiente.

```
{
    "principals": [
         "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8",
         "arn:aws:iot:us-east-1:123456789012:cert/1a234b39b4b68278f2e9d84bf97eac2cbf4a1c28b23ea29a44559b9bcf8d395b"
    ]
}
```

Para obtener más información, consulte [ListThingPrincipals](https://docs.aws.amazon.com//iot/latest/apireference/API_ListThingPrincipals.html) y en la Referencia de la API de *AWS IoT Core *.

# Enumeración de los objetos asociados a una entidad principal V2
<a name="list-principal-things-v2"></a>

Para enumerar los objetos asociados al certificado especificado, junto con el tipo de asociación, ejecute el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-thingsv2.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-principal-thingsv2.html). El tipo de asociación hace referencia a cómo se asocia el certificado al objeto.

```
$ aws iot list-principal-things-v2 \
    --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
```

El resultado puede ser similar al siguiente.

```
{
    "PrincipalThingObjects": [
        {
            "thingPrincipalType": "NON_EXCLUSIVE_THING",
            "thing": "arn:aws:iot:us-east-1:123456789012:thing/thing_1"
        }, 
        {
            "thingPrincipalType": "NON_EXCLUSIVE_THING",
            "thing": "arn:aws:iot:us-east-1:123456789012:thing/thing_2"
        }

    ]
}
```

Para obtener más información, consulte la [ListPrincipalThingsversión 2](https://docs.aws.amazon.com//iot/latest/apireference/API_ListPrincipalThingsV2.html) de la *referencia de la AWS IoT Core API*.

# Enumeración de las entidades principales asociadas a un objeto V2
<a name="list-thing-principals-v2"></a>

Para enumerar los certificados asociados al objeto especificado, junto con el tipo de asociación, ejecute el comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principalsv2.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-thing-principalsv2.html). El tipo de asociación hace referencia a cómo se asocia el certificado al objeto.

```
$ aws iot list-thing-principals-v2 \
    --thing-name "thing_1"
```

El resultado puede ser similar al siguiente.

```
{
    "ThingPrincipalObjects": [
        {
            "thingPrincipalType": "NON_EXCLUSIVE_THING",
            "principal": "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
        },
        {
            "thingPrincipalType": "NON_EXCLUSIVE_THING",
            "principal": "arn:aws:iot:us-east-1:123456789012:cert/1a234b39b4b68278f2e9d84bf97eac2cbf4a1c28b23ea29a44559b9bcf8d395b"
        }
    ]
}
```

Para obtener más información, consulte la [ListThingsPrincipalversión 2](https://docs.aws.amazon.com//iot/latest/apireference/API_ListThingPrincipalsV2.html) de la *referencia de la AWS IoT Core API*.

# Desvincular un principal de un objeto
<a name="detach-thing-principal"></a>

Puede utilizar el comando `DetachThingPrincipal` para desvincular un certificado de un objeto:

```
$ aws iot detach-thing-principal \
    --thing-name "MyLightBulb" \
    --principal "arn:aws:iot:us-east-1:123456789012:cert/2e1eb273792174ec2b9bf4e9b37e6c6c692345499506002a35159767055278e8"
```

El comando **DetachThingPrincipal** no genera ninguna salida.

Para obtener más información, consulte [detach-thing-principal](https://docs.aws.amazon.com//iot/latest/apireference/API_DetachThingPrincipal.html) y en la Referencia de la API de *AWS IoT Core *.