Поиск AWS IoT для динамической группы вещей

Я хотел бы найти список динамических групп вещей. Я могу увидеть тип поля, когда перехожу к одной из групп вещей в AWS IoT Core. Как выполнить поиск и найти список групп вещей, в которых Type соответствует Dynamic?

e.g.

Когда я посещаю одну из вещных групп, присутствующих в IoT Core.

You do not have a description for the thing group yet.

Created
Jul 26, 2019 11:21:44 AM -0700

Type
Static

0 Attributes

Я пробовал несколько вариантов, но они не работали.

Type: Dynamic
attributes.Type: Dynamic
Type == Dynamic

Спасибо заранее за любые предложения.


person work_in_progress    schedule 10.01.2020    source источник


Ответы (2)


  • Настройте индекс группы вещей для индексации парка.
  • Для каждой созданной динамической группы вещей добавьте атрибут, чтобы отличать ее как динамическую группу вещей, т. е. attribute.dynamic: true
  • Вызовите SearchIndex для индекса с запросом attributes.dynamic: true, и это вернет все динамические группы вещей.
person Brian Luong    schedule 03.02.2020
comment
Спасибо, это хорошая идея. У нас сотни групп вещей, и это невозможно, когда они уже созданы. - person work_in_progress; 11.02.2020

Похоже, это не прямолинейно. Благодаря моему коллеге я создал скрипт для получения этого списка.

import boto3
client = boto3.client('iot')

list_thing_groups = client.list_thing_groups()
while True:
    for thing_group in list_thing_groups['thingGroups']:
        name = thing_group['groupName']
        response = client.describe_thing_group(
            thingGroupName=name
        )
        query = response.get('queryString')
        if query:
            print(name)
    if list_thing_groups.get('nextToken'):
        list_thing_groups = client.list_thing_groups(nextToken=list_thing_groups.get('nextToken'))
    else:
        break

Идея состоит в том, что queryString для динамической группы вещей не будет нулевым.

person work_in_progress    schedule 10.01.2020