AWS IoT

2023/11/16 - AWS IoT - 2 updated api methods

Changes  GA release the ability to index and search devices based on their GeoLocation data. With GeoQueries you can narrow your search to retrieve devices located in the desired geographic boundary.

GetIndexingConfiguration (updated) Link ¶
Changes (response)
{'thingIndexingConfiguration': {'filter': {'geoLocations': [{'name': 'string',
                                                             'order': 'LatLon '
                                                                      '| '
                                                                      'LonLat'}]}}}

Gets the indexing configuration.

Requires permission to access the GetIndexingConfiguration action.

See also: AWS API Documentation

Request Syntax

client.get_indexing_configuration()
rtype

dict

returns

Response Syntax

{
    'thingIndexingConfiguration': {
        'thingIndexingMode': 'OFF'|'REGISTRY'|'REGISTRY_AND_SHADOW',
        'thingConnectivityIndexingMode': 'OFF'|'STATUS',
        'deviceDefenderIndexingMode': 'OFF'|'VIOLATIONS',
        'namedShadowIndexingMode': 'OFF'|'ON',
        'managedFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'customFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'filter': {
            'namedShadowNames': [
                'string',
            ],
            'geoLocations': [
                {
                    'name': 'string',
                    'order': 'LatLon'|'LonLat'
                },
            ]
        }
    },
    'thingGroupIndexingConfiguration': {
        'thingGroupIndexingMode': 'OFF'|'ON',
        'managedFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'customFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • thingIndexingConfiguration (dict) --

      Thing indexing configuration.

      • thingIndexingMode (string) --

        Thing indexing mode. Valid values are:

        • REGISTRY – Your thing index contains registry data only.

        • REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.

        • OFF - Thing indexing is disabled.

      • thingConnectivityIndexingMode (string) --

        Thing connectivity indexing mode. Valid values are:

        • STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, thingIndexMode must not be set to OFF.

        • OFF - Thing connectivity status indexing is disabled.

      • deviceDefenderIndexingMode (string) --

        Device Defender indexing mode. Valid values are:

        • VIOLATIONS – Your thing index contains Device Defender violations. To enable Device Defender indexing, deviceDefenderIndexingMode must not be set to OFF.

        • OFF - Device Defender indexing is disabled.

        For more information about Device Defender violations, see Device Defender Detect.

      • namedShadowIndexingMode (string) --

        Named shadow indexing mode. Valid values are:

        • ON – Your thing index contains named shadow. To enable thing named shadow indexing, namedShadowIndexingMode must not be set to OFF.

        • OFF - Named shadow indexing is disabled.

        For more information about Shadows, see IoT Device Shadow service.

      • managedFields (list) --

        Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide .

        Note

        You can't modify managed fields by updating fleet indexing configuration.

        • (dict) --

          Describes the name and data type at a field.

          • name (string) --

            The name of the field.

          • type (string) --

            The data type of the field.

      • customFields (list) --

        Contains custom field names and their data type.

        • (dict) --

          Describes the name and data type at a field.

          • name (string) --

            The name of the field.

          • type (string) --

            The data type of the field.

      • filter (dict) --

        Provides additional selections for named shadows and geolocation data.

        To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

        To add geolocation data to your fleet indexing configuration:

        • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

        • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON , add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing .

        • namedShadowNames (list) --

          The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference .

          • (string) --

        • geoLocations (list) --

          The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1 . To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference .

          • (dict) --

            A geolocation target that you select to index. Each geolocation target contains a name and order key-value pair that specifies the geolocation target fields.

            • name (string) --

              The name of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow filter.

            • order (string) --

              The order of the geolocation target field. This field is optional. The default value is LatLon .

    • thingGroupIndexingConfiguration (dict) --

      The index configuration.

      • thingGroupIndexingMode (string) --

        Thing group indexing mode.

      • managedFields (list) --

        Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide .

        Note

        You can't modify managed fields by updating fleet indexing configuration.

        • (dict) --

          Describes the name and data type at a field.

          • name (string) --

            The name of the field.

          • type (string) --

            The data type of the field.

      • customFields (list) --

        A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

        Contains custom field names and their data type.

        • (dict) --

          Describes the name and data type at a field.

          • name (string) --

            The name of the field.

          • type (string) --

            The data type of the field.

UpdateIndexingConfiguration (updated) Link ¶
Changes (request)
{'thingIndexingConfiguration': {'filter': {'geoLocations': [{'name': 'string',
                                                             'order': 'LatLon '
                                                                      '| '
                                                                      'LonLat'}]}}}

Updates the search configuration.

Requires permission to access the UpdateIndexingConfiguration action.

See also: AWS API Documentation

Request Syntax

client.update_indexing_configuration(
    thingIndexingConfiguration={
        'thingIndexingMode': 'OFF'|'REGISTRY'|'REGISTRY_AND_SHADOW',
        'thingConnectivityIndexingMode': 'OFF'|'STATUS',
        'deviceDefenderIndexingMode': 'OFF'|'VIOLATIONS',
        'namedShadowIndexingMode': 'OFF'|'ON',
        'managedFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'customFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'filter': {
            'namedShadowNames': [
                'string',
            ],
            'geoLocations': [
                {
                    'name': 'string',
                    'order': 'LatLon'|'LonLat'
                },
            ]
        }
    },
    thingGroupIndexingConfiguration={
        'thingGroupIndexingMode': 'OFF'|'ON',
        'managedFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ],
        'customFields': [
            {
                'name': 'string',
                'type': 'Number'|'String'|'Boolean'
            },
        ]
    }
)
type thingIndexingConfiguration

dict

param thingIndexingConfiguration

Thing indexing configuration.

  • thingIndexingMode (string) -- [REQUIRED]

    Thing indexing mode. Valid values are:

    • REGISTRY – Your thing index contains registry data only.

    • REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.

    • OFF - Thing indexing is disabled.

  • thingConnectivityIndexingMode (string) --

    Thing connectivity indexing mode. Valid values are:

    • STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, thingIndexMode must not be set to OFF.

    • OFF - Thing connectivity status indexing is disabled.

  • deviceDefenderIndexingMode (string) --

    Device Defender indexing mode. Valid values are:

    • VIOLATIONS – Your thing index contains Device Defender violations. To enable Device Defender indexing, deviceDefenderIndexingMode must not be set to OFF.

    • OFF - Device Defender indexing is disabled.

    For more information about Device Defender violations, see Device Defender Detect.

  • namedShadowIndexingMode (string) --

    Named shadow indexing mode. Valid values are:

    • ON – Your thing index contains named shadow. To enable thing named shadow indexing, namedShadowIndexingMode must not be set to OFF.

    • OFF - Named shadow indexing is disabled.

    For more information about Shadows, see IoT Device Shadow service.

  • managedFields (list) --

    Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide .

    Note

    You can't modify managed fields by updating fleet indexing configuration.

    • (dict) --

      Describes the name and data type at a field.

      • name (string) --

        The name of the field.

      • type (string) --

        The data type of the field.

  • customFields (list) --

    Contains custom field names and their data type.

    • (dict) --

      Describes the name and data type at a field.

      • name (string) --

        The name of the field.

      • type (string) --

        The data type of the field.

  • filter (dict) --

    Provides additional selections for named shadows and geolocation data.

    To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

    To add geolocation data to your fleet indexing configuration:

    • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

    • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON , add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing .

    • namedShadowNames (list) --

      The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference .

      • (string) --

    • geoLocations (list) --

      The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1 . To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference .

      • (dict) --

        A geolocation target that you select to index. Each geolocation target contains a name and order key-value pair that specifies the geolocation target fields.

        • name (string) --

          The name of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow filter.

        • order (string) --

          The order of the geolocation target field. This field is optional. The default value is LatLon .

type thingGroupIndexingConfiguration

dict

param thingGroupIndexingConfiguration

Thing group indexing configuration.

  • thingGroupIndexingMode (string) -- [REQUIRED]

    Thing group indexing mode.

  • managedFields (list) --

    Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide .

    Note

    You can't modify managed fields by updating fleet indexing configuration.

    • (dict) --

      Describes the name and data type at a field.

      • name (string) --

        The name of the field.

      • type (string) --

        The data type of the field.

  • customFields (list) --

    A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

    Contains custom field names and their data type.

    • (dict) --

      Describes the name and data type at a field.

      • name (string) --

        The name of the field.

      • type (string) --

        The data type of the field.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --