API REST de sombra de dispositivo - AWS IoT Core

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.

API REST de sombra de dispositivo

Una sombra expone el siguiente URI para actualizar la información de estado:

https://account-specific-prefix-ats.iot.region.amazonaws.com/things/thingName/shadow

El punto de enlace específico con suCuenta de AWS. Para buscar el punto de enlace, puede:

  • Usardescribe-endpoint-desde laAWS CLI.

  • UsarAWS IoTconfiguración de la consola. EnConfiguración, el punto final aparece enPunto de enlace personalizado

  • UsarAWS IoTpágina de detalles de cosa de consola. En la consola de :

    1. AbiertoManejary enManejar, eligeObjetos.

    2. En la lista de cosas, elige la cosa para la que quieres obtener el URI de punto final.

    3. Elija el iconoSombras del dispositivoy seleccione la sombra. Puede ver el URI de punto final en laURL Device ShadowSección sobre de laDetalles Device Shadow(Se ha creado el certificado).

El formato del punto de enlace es el siguiente:

identifier.iot.region.amazonaws.com

La API de REST de sombras sigue los mismos mapeos de puertos y protocolos HTTPS que se describen en Protocolos de comunicación de dispositivos.

nota

Para usar las API, debe usariotdevicegatewaycomo nombre de servicio para la autenticación. Para obtener más información, consulteIoTDataPlane.

También puede usar la API de para crear una sombra con nombre al proporcionarname=shadowNamecomo parte del parámetro de consulta de la API.

GetThingShadow

Obtiene la sombra de objeto especificado.

El documento de estado de respuesta incluye el delta entre los estados desired y reported.

Solicitud

La solicitud incluye los encabezados HTTP estándar y el URI siguiente:

HTTP GET https://endpoint/things/thingName/shadow?name=shadowName Request body: (none)

El parámetro de consulta name no es necesario para sombras sin nombre (clásicas).

Respuesta

En caso de éxito, la respuesta incluye encabezados HTTP estándar, así como el código y el cuerpo siguientes:

HTTP 200 Response Body: response state document

Para obtener más información, consulte Ejemplo de documento de estado de respuesta.

Autorización

Para recuperar una sombra, se necesita una política que permita al intermediario ejecutar la acción iot:GetThingShadow. El servicio de sombra de dispositivo acepta dos formas de autenticación: Signature Version 4 con credenciales de IAM o autenticación mutua TLS con un certificado de cliente.

A continuación, se muestra una política de ejemplo que permite a un intermediario recuperar la sombra de un dispositivo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:GetThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

UpdateThingShadow

Actualiza la sombra del objeto especificado.

Las actualizaciones solo afectan a los campos especificados en el documento de estado de la solicitud. Todos los campos que tengan el valor null se eliminarán de la sombra del dispositivo.

Solicitud

La solicitud incluye los encabezados HTTP estándar, así como el URI y el cuerpo siguientes:

HTTP POST https://endpoint/things/thingName/shadow?name=shadowName Request body: request state document

El parámetro de consulta name no es necesario para sombras sin nombre (clásicas).

Para obtener más información, consulte Ejemplo de documento de estado de solicitud.

Respuesta

En caso de éxito, la respuesta incluye encabezados HTTP estándar, así como el código y el cuerpo siguientes:

HTTP 200 Response body: response state document

Para obtener más información, consulte Ejemplo de documento de estado de respuesta.

Autorización

Para actualizar una sombra se necesita una política que permita al intermediario ejecutar la acción iot:UpdateThingShadow. El servicio de sombra de dispositivo acepta dos formas de autenticación: Signature Version 4 con credenciales de IAM o autenticación mutua TLS con un certificado de cliente.

A continuación, se muestra una política de ejemplo que permite a un intermediario actualizar la sombra de un dispositivo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:UpdateThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

DeleteThingShadow

Elimina la sombra de objeto especificado.

Solicitud

La solicitud incluye los encabezados HTTP estándar y el URI siguiente:

HTTP DELETE https://endpoint/things/thingName/shadow?name=shadowName Request body: (none)

El parámetro de consulta name no es necesario para sombras sin nombre (clásicas).

Respuesta

En caso de éxito, la respuesta incluye encabezados HTTP estándar, así como el código y el cuerpo siguientes:

HTTP 200 Response body: Empty response state document

Tenga en cuenta que la eliminación de una sombra no restablece su número de versión a 0.

Autorización

Para eliminar la sombra de un dispositivo se necesita una política que permita al intermediario ejecutar la acción iot:DeleteThingShadow. El servicio de sombra de dispositivo acepta dos formas de autenticación: Signature Version 4 con credenciales de IAM o autenticación mutua TLS con un certificado de cliente.

A continuación, se muestra una política de ejemplo que permite a un intermediario eliminar la sombra de un dispositivo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DeleteThingShadow", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }

ListNamedShadowsForThing

Muestra las sombras del objeto especificado.

Solicitud

La solicitud incluye los encabezados HTTP estándar y el URI siguiente:

HTTP GET /api/things/shadow/ListNamedShadowsForThing/thingName?nextToken=nextToken&pageSize=pageSize Request body: (none)
nextToken

El token para recuperar el siguiente grupo de resultados.

Este valor se devuelve en los resultados paginados y se utiliza en la llamada que devuelve la página siguiente.

pageSize

El número de nombres de sombra que devolver en cada llamada. Véase también nextToken.

thingName

El nombre del objeto para el que mostrar las sombras con nombre.

Respuesta

En caso de éxito, la respuesta incluye encabezados HTTP estándar, así como el código de respuesta siguiente y unDocumento de respuesta de lista de nombres de sombra.

nota

La sombra sin nombre (clásica) no aparece en esta lista. La respuesta es una lista vacía si solo tienes una sombra clásica o sithingNameespecifique que no existe.

HTTP 200 Response body: Shadow name list document

Autorización

Para enumerar la sombra de un dispositivo se necesita una política que permita al intermediario ejecutar laiot:ListNamedShadowsForThingaction. El servicio de sombra de dispositivo acepta dos formas de autenticación: Signature Version 4 con credenciales de IAM o autenticación mutua TLS con un certificado de cliente.

A continuación, se muestra una política de ejemplo que permite a un intermediario mostrar las sombras con nombre de un objeto:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:ListNamedShadowsForThing", "Resource": [ "arn:aws:iot:region:account:thing/thing" ] } ] }