Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Grupos de objetos dinámicos

Modo de enfoque
Grupos de objetos dinámicos - 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.

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.

Los grupos de objetos dinámicos se crean a partir de consultas de búsqueda específicas en el registro. Los parámetros de las consultas de búsqueda, como la conectividad de los dispositivos, la creación de sombras de dispositivos y los datos sobre infracciones de AWS IoT Device Defender , lo respaldan. Los grupos de objetos dinámicos requieren que la indexación de flotas esté activada para indexar, buscar y agregar los datos de sus dispositivos. Puede obtener una vista previa de los objetos en un grupo de objetos dinámicos antes de crearlos realizando una consulta de búsqueda de indexación de flotas. Para obtener más información, consulte Indexación de flotas y Sintaxis de la consulta.

nota

Las operaciones de grupos de objetos dinámicos se miden en operaciones de registro. Para más información, consulte los detalles de medición adicionales de AWS IoT Core.

Los grupos de objetos dinámicos se diferencian de los grupos de objetos estáticos como sigue:

  • La pertenencia de un objeto no se define de forma explícita. Para crear un grupo de objetos dinámicos, debe definir una cadena de consulta para determinar la pertenencia a un grupo.

  • Los grupos de objetos dinámicos no pueden formar parte de una jerarquía.

  • Los grupos de objetos dinámicos no pueden tener políticas aplicadas.

  • Puede utilizar un conjunto diferente de comandos para crear, actualizar y eliminar grupos de objetos dinámicos. Para todas las demás operaciones, se utilizan los mismos comandos para ambos tipos de grupos de objetos.

  • El número de grupos dinámicos por grupo Cuenta de AWS es limitado.

  • No utilice información personal identificable en el nombre del grupo de objetos. El nombre del grupo de cosas puede aparecer en comunicaciones e informes no cifrados.

Para obtener más información acerca de los grupos de objetos estáticos, consulte Grupos de objetos estáticos.

Uso de casos de uso de grupos de objetos dinámicos

Puede utilizar grupos de objetos dinámicos para los siguientes casos de uso:

Especificación de un grupo de objetos dinámico como destino para un trabajo

La creación de un trabajo continuo con un grupo de objetos dinámico como destino le permite segmentar automáticamente los dispositivos si cumplen los criterios deseados. Los criterios pueden ser el estado de conectividad o cualquier criterio almacenado en el registro o en la sombra, como la versión o el modelo del software. Si un objeto no aparece en el grupo de objetos dinámico, no recibirá el documento del trabajo.

Por ejemplo, si su flota de dispositivos requiere una actualización del firmware para minimizar el riesgo de interrupciones durante el proceso de actualización y solo desea actualizar el firmware en dispositivos con una duración de la batería superior al 80 %. Puedes crear un grupo dinámico denominado 80 PercentBatteryLife que solo incluya dispositivos con una duración de batería superior al 80% y utilizarlo como objetivo para tu trabajo. Solo los dispositivos que cumplan con estos criterios de duración de la batería recibirán la actualización del firmware. A medida que los dispositivos alcancen el 80 % de duración de la batería, se irán añadiendo automáticamente al grupo de objetos dinámico y recibirán la actualización del firmware.

También es posible que tenga varios modelos de dispositivos con un firmware o un sistema operativo diferentes, por lo que deberán actualizarse las diferentes versiones del software. Este es el caso de uso más común de los grupos dinámicos con trabajos continuos, donde puede crear un grupo dinámico para cada combinación de modelo de dispositivo, firmware y sistema operativo. A continuación, puede configurar trabajos continuos en cada uno de estos grupos dinámicos para enviar las actualizaciones de software a medida que los dispositivos pasen a ser miembros automáticamente de estos grupos en función de los criterios definidos.

Para obtener más información sobre cómo especificar grupos de objetos como destinos de trabajos, consulte CreateJob.

Uso de los cambios dinámicos de pertenencia al grupo para realizar las acciones deseadas

Cada vez que se añade o elimina un dispositivo de un grupo dinámico, se envía una notificación a un tema de MQTT como parte de las actualizaciones de los eventos del registro. Puede configurar AWS IoT Core reglas para interactuar con los AWS servicios en función de las actualizaciones dinámicas de pertenencia a los grupos y tomar las medidas que desee. Por ejemplo, escribir a Amazon DynamoDB, invocar una función de Lambda o enviar una notificación a Amazon SNS.

Adición de dispositivos a un grupo de objetos dinámico para detectar automáticamente las infracciones

AWS IoT Device Defender Los clientes de Detect pueden definir un perfil de seguridad en un grupo de cosas dinámico. El perfil de seguridad definido en el grupo detecta automáticamente las infracciones de los dispositivos del grupo de objetos dinámico.

Establecimiento de niveles de registro en grupos de objetos dinámicos para observar los dispositivos con un registro detallado

Puede especificar un nivel de registro en un grupo de objetos dinámico. Esto resulta útil si solo desea personalizar el nivel de registro y los detalles de los dispositivos que cumplen determinados criterios. Por ejemplo, si sospecha que los dispositivos con una determinada versión de firmware están causando errores en un tema publicado en una regla específica, puede configurar un registro detallado para depurar estos problemas. En este caso, puede crear un grupo dinámico para todos los dispositivos que tengan esta versión de firmware, que suponemos que se almacena como atributo de registro o en una sombra de dispositivo. A continuación, puede establecer un nivel de depuración, con el objetivo de registro definido como este grupo de objetos dinámico. Para obtener más información sobre el registro detallado, consulte Supervisar AWS IoT el uso de registros. CloudWatch Para obtener más información sobre cómo especificar un nivel de registro para un grupo de objetos específico, consulte Configure resource-specific logging in AWS IoT.

Creación de un grupo de objetos dinámico

Utilice el comando CreateDynamicThingGroup para crear un grupo de objetos dinámico. Para crear un grupo de cosas dinámico para el PercentBatteryLife escenario 80, utilice el comando create-dynamic-thing-group CLI:

$ aws iot create-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --query-string "attributes.batterylife80"
nota

No se recomienda utilizar información personal identificable en los nombres de grupos de objetos dinámicos.

El comando CreateDynamicThingGroup no devuelve ninguna respuesta. La respuesta contiene el nombre del índice, la cadena de consulta, la versión de la consulta, el nombre del grupo de objetos y el Nombre de recurso de Amazon (ARN) de su grupo de objetos:

{ "indexName": "AWS_Things", "queryVersion": "2017-09-30", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "thingGroupId": "abcdefgh12345678ijklmnop12345678qrstuvwx" }

La creación de grupos de objetos dinámicos no se produce al mismo tiempo. Reponer un grupo de objetos dinámico lleva tiempo. Cuando se crea un grupo de objetos dinámico, el estado del grupo se establece en BUILDING. Cuando termina el proceso de reposición, el estado cambia a ACTIVE. Para comprobar el estado del grupo de cosas dinámico, utilice el DescribeThingGroupcomando.

Describir un grupo de objetos dinámico

Utilice el comando DescribeThingGroup para obtener información acerca de un grupo de objetos dinámico:

$ aws iot describe-thing-group --thing-group-name "80PercentBatteryLife"

El comando DescribeThingGroup devuelve información acerca del grupo especificado:

{ "status": "ACTIVE", "indexName": "AWS_Things", "thingGroupName": "80PercentBatteryLife", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/80PercentBatteryLife", "queryString": "attributes.batterylife80\n", "version": 1, "thingGroupMetadata": { "creationDate": 1548716921.289 }, "thingGroupProperties": {}, "queryVersion": "2017-09-30", "thingGroupId": "84dd9b5b-2b98-4c65-84e4-be0e1ecf4fd8" }

Al ejecutar DescribeThingGroup en un grupo de objetos dinámico se devuelven atributos específicos de los grupos de objetos dinámicos. Algunos ejemplos de atributos de devolución son QueryString y el estado.

El estado de un grupo de objetos dinámico puede tomar los siguientes valores:

ACTIVE

El grupo de objetos dinámico está listo para usarse.

BUILDING

Se está creando el grupo de objetos dinámico y se está procesando la pertenencia de los objetos.

REBUILDING

Se está actualizando la pertenencia al grupo de objetos dinámico tras ajustar la consulta de búsqueda del grupo.

nota

Tras crear un grupo de objetos dinámico ya podrá utilizarlo, independientemente de su estado. Solo los grupos de objetos dinámicos con estado ACTIVE incluyen todos los objetos que coinciden con la consulta de búsqueda para ese grupo de objetos dinámico. Los grupos de objetos dinámicos con estado BUILDING y REBUILDING podrían no incluir todos los objetos coincidentes con la consulta de búsqueda.

Actualizar un grupo de objetos dinámico

Utilice el comando UpdateDynamicThingGroup para actualizar los atributos de un grupo de objetos dinámico, incluida la consulta de búsqueda del grupo. El siguiente comando actualiza dos atributos. Uno es la descripción del grupo de objetos y el otro es la cadena de consulta que cambia los criterios de pertenencia a una vida útil de la batería superior a 85:

$ aws iot update-dynamic-thing-group --thing-group-name "80PercentBatteryLife" --thing-group-properties "thingGroupDescription=\"This thing group contains devices with a battery life greater than 85 percent.\"" --query-string "attributes.batterylife85"

El comando UpdateDynamicThingGroup devuelve una respuesta que contiene el número de versión del grupo después de la actualización:

{ "version": 2 }

La actualización de un grupo de objetos dinámico no se produce simultáneamente. Reponer un grupo de objetos dinámico lleva tiempo. Cuando se actualiza un grupo de objetos dinámico, su estado cambia a REBUILDING mientras el grupo actualiza su pertenencia. Cuando termina el proceso de reposición, el estado cambia a ACTIVE. Para comprobar el estado del grupo de cosas dinámico, utilice el DescribeThingGroupcomando.

Eliminar un grupo de objetos dinámico

Para eliminar un grupo de objetos dinámico, use el comando DeleteDynamicThingGroup:

$ aws iot delete-dynamic-thing-group --thing-group-name "80PercentBatteryLife"

El comando DeleteDynamicThingGroup no genera ninguna salida.

Los comandos que muestran a qué grupos pertenece un objeto (por ejemplo, ListGroupsForThing) podrían seguir mostrando el grupo mientras se actualizan los registros en la nube.

Limitaciones de los grupos de objetos dinámicos y estáticos

Los grupos de objetos dinámicos y estáticos comparten las siguientes limitaciones:

  • El número de atributos que puede tener un grupo de objetos es limitado.

  • El número de grupos a los que puede pertenecer un objeto es limitado.

  • No se puede cambiar el nombre de los grupos de objetos.

  • Los nombres de grupos de objetos no pueden contener caracteres internacionales, como û, é o ñ.

Limitaciones de los grupos de objetos dinámicos

Los grupos de objetos dinámicos tienen las siguientes limitaciones:

Indexación de flotas

Si el servicio de indexación de flotas está activado, puede realizar consultas de búsqueda en la flota de dispositivos. Puede crear y administrar grupos de objetos dinámicos tras completar el proceso de reposición de la indexación de la flota. El tiempo de finalización del proceso de reposición se ve afectado directamente por el tamaño de la flota de dispositivos registrada en la Nube de AWS. Tras habilitar el servicio de indexación de flotas para grupos de objetos dinámicos, no podrá deshabilitarlo hasta que se eliminen todos los grupos de objetos dinámicos.

nota

Si tiene los permisos para consultar el índice de la flota, podrá obtener acceso a los datos de los objetos en toda la flota.

El número de grupos de objetos dinámicos es limitado

El número de grupos de objetos dinámicos es limitado.

Comandos correctos pueden registrar errores

Cuando cree o actualice un grupo de objetos dinámico, es posible que algunos de los objetos se puedan incluir en un grupo de objetos dinámico, pero no se añaden. En ese caso, el comando de creación o actualización se ejecutará correctamente y, al mismo tiempo, registrará un error y generará una métrica AddThingToDynamicThingGroupsFailed. Una sola métrica puede representar varias entradas de registro.

Se crea una entrada de CloudWatch registro de errores en el registro cuando ocurre lo siguiente:

  • Un objeto apto no se puede agregar a un grupo de objetos dinámico.

  • Se elimina un objeto de un grupo de objetos dinámico para añadirlo a otro grupo.

Cuando un objeto ya se pueda añadir a un grupo de objetos dinámico, tenga en cuenta lo siguiente:

  • ¿Este objeto ya está en el número máximo de grupos posible? (Consulte los límites)

    • NO: el objeto se agrega al grupo de objetos dinámico.

    • SÍ: ¿el objeto es miembro de algún grupo de objetos dinámico?

      • NO: el objeto no se puede agregar al grupo de objetos dinámicos, se registra un error y se genera una métrica AddThingToDynamicThingGroupsFailed.

      • SÍ: ¿el grupo de objetos al que se va a unir es anterior a cualquier otro grupo de objetos dinámico del que el objeto ya sea miembro?

Cuando un objeto de un grupo de objetos dinámico ya no satisface la consulta de búsqueda, se elimina del grupo de objetos dinámico. Del mismo modo, cuando un objeto se actualiza para satisfacer una consulta de búsqueda de un grupo de objetos dinámico, se agrega al grupo tal y como se ha descrito anteriormente. Estas incorporaciones y eliminaciones son normales y no generan entradas en el registro de errores.

Con overrideDynamicGroups habilitado, los grupos estáticos disfrutan de prioridad sobre los grupos dinámicos.

El número de grupos a los que puede pertenecer un objeto es limitado. Cuando se utilizan los UpdateThingGroupsForThingcomandos AddThingToThingGroupo para actualizar la pertenencia a las cosas, al añadir el --overrideDynamicGroups parámetro se da prioridad a los grupos de cosas estáticos sobre los grupos de cosas dinámicos.

Si añade un objeto a un grupo de objetos estático, tenga en cuenta lo siguiente:

  • ¿El objeto ya es miembro del número máximo de grupos?

    • NO: el objeto se agrega al grupo de objetos estático.

    • SÍ: ¿el objeto está en algún grupo dinámico?

      • NO: el objeto no se puede agregar al grupo de objetos. El comando genera una excepción.

      • SÍ: ¿se ha habilitado --overrideDynamicGroups?

        • NO: el objeto no se puede agregar al grupo de objetos. El comando genera una excepción.

        • SÍ: el objeto se elimina del último grupo de objetos dinámico que se creó, se registra un error y se genera una métrica AddThingToDynamicThingGroupsFailed para el grupo de objetos dinámico del que se eliminó el objeto. A continuación, el objeto se agrega al grupo de objetos estáticos.

Los grupos de objetos dinámicos más antiguos tienen prioridad sobre los más nuevos.

El número de grupos a los que puede pertenecer un objeto es limitado. Cuando una operación de creación o actualización crea un grupo adicional apto para un objeto y el objeto ha alcanzado el límite del grupo, se puede eliminar de otro grupo de objetos dinámico para que se pueda añadir. Si necesita más información sobre esto, consulte Comandos correctos pueden registrar errores y Con overrideDynamicGroups habilitado, los grupos estáticos disfrutan de prioridad sobre los grupos dinámicos. para ver ejemplos.

Cuando un objeto se elimina de un grupo de objetos dinámico, se registra un error y se genera un evento.

No se pueden aplicar políticas a grupos de cosas dinámicos

Si intenta aplicar una política a un grupo de objetos dinámico, se generará una excepción.

La pertenencia a grupos de objetos dinámicos es coherente a largo plazo.

Para el registro solo se evalúa el estado final de un objeto. Los estados intermedios se pueden omitir si se actualizan rápidamente los estados. Evite asociar una regla o un trabajo con un grupo de objetos dinámico cuya pertenencia dependa de un estado intermedio.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.