队列索引服务的聚合查询疑难解答 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

队列索引服务的聚合查询疑难解答

如果您遇到类型不匹配错误,则可以使用 CloudWatch Logs 解决问题。Fleet Indexing 服务写入日志之前,必须启用 CloudWatch Logs。有关更多信息,请参阅 使用 CloudWatch Logs 监控 Amazon IoT

在非托管字段上进行聚合查询时,只能指定您在传递给 customFieldsUpdateIndexingConfigurationupdate-indexing-configuration 参数中定义的字段。如果字段值与配置的字段数据类型不一致,则在执行聚合查询时忽略此值。

当字段由于类型不匹配而无法建立索引时,Fleet Indexing 服务会向 CloudWatch Logs 发出错误日志。错误日志包含字段名称、无法转换的值以及设备的事物名称。下面是一个错误日志示例:

{ "timestamp": "2017-02-20 20:31:22.932", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "000000000000", "status": "SucceededWithIssues", "eventType": "IndexingCustomFieldFailed", "thingName": "thing0", "failedCustomFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "String" }, { "Name": "attributeName2", "Value": "2", "ExpectedType": "Boolean" } ] }

如果设备已断开连接大约一小时,则连接状态 timestamp 值可能会缺失。对于持久性会话,在客户端断开连接的时间超过为持久性会话配置的生存时间 (TTL) 后,该值可能会缺失。仅为客户端 ID 具有匹配事物名称的连接,对连接状态数据建立索引。(客户端 ID 是用于将设备到连接 Amazon IoT Core 的值。)