플릿 인덱싱 문제 해결 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

플릿 인덱싱 문제 해결

플릿 인덱싱 서비스에 대한 집계 쿼리 문제 해결

유형 불일치 오류가 있는 경우 CloudWatch 로그를 사용하여 문제를 해결할 수 있습니다. CloudWatch 플릿 인덱싱 서비스에서 로그를 작성하려면 먼저 로그를 활성화해야 합니다. 자세한 내용은 CloudWatch 로그 AWS IoT 를 사용하여 모니터링 단원을 참조하십시오.

비관리형 필드에 대해 집계 쿼리를 수행하려면 UpdateIndexingConfiguration 또는 update-indexing-configuration에 전달된 customFields 인수에 정의한 필드만 지정해야 합니다. 필드 값이 구성된 필드 데이터 형식과 일치하지 않는 경우 집계 쿼리를 수행할 때 이 값이 무시됩니다.

일치하지 않는 유형으로 인해 필드를 인덱싱할 수 없는 경우 플릿 인덱싱 서비스는 CloudWatch 로그에 오류 로그를 보냅니다. 이 오류 로그에는 필드 이름, 변환할 수 없는 값 및 디바이스에 대한 사물 이름이 포함됩니다. 다음은 오류 로그의 예입니다.

{ "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 값이 누락되었을 수 있습니다. 영구 세션의 경우 클라이언트가 영구 세션에 대해 구성된 time-to-live (TTL)보다 더 오래 연결이 끊어지면 값이 누락될 수 있습니다. 연결 상태 데이터는 클라이언트 ID에 일치하는 사물 이름이 있는 연결에 대해서만 인덱싱됩니다. (클라이언트 ID는 디바이스를 에 연결하는 데 사용되는 값입니다 AWS IoT Core.)

플릿 인덱싱 구성 문제 해결

플릿 인덱싱 구성을 다운그레이드할 수 없음

플릿 지표 또는 동적 그룹과 연결된 데이터 소스를 제거하려는 경우에는 플릿 인덱싱 구성을 다운그레이드할 수 없습니다.

예를 들어 인덱싱 구성에 레지스트리 데이터, 섀도우 데이터 및 연결 데이터가 있고 플릿 지표가 쿼리 thingName:TempSensor* AND shadow.desired.temperature>80에 있는 경우 레지스트리 데이터만 포함하도록 인덱싱 구성을 업데이트하면 오류가 발생합니다.

기존 플릿 지표에서 사용하는 사용자 정의 필드 수정은 지원되지 않습니다.

플릿 지표나 동적 그룹이 호환되지 않아 인덱싱 구성을 업데이트할 수 없음

호환되지 않는 플릿 지표 또는 동적 그룹으로 인해 인덱싱 구성을 업데이트할 수 없는 경우, 인덱싱 구성을 업데이트하기 전에 호환되지 않는 플릿 지표 또는 동적 그룹을 삭제하세요.

위치 인덱싱 및 지리 문제 해결

위치 인덱싱 및 지리에서 일치하지 않는 유형 오류를 해결하려면 CloudWatch 로그를 활성화할 수 있습니다. 를 AWS IoT 사용하여 모니터링하는 방법에 대한 자세한 내용은 step-by-step 가이드 를 CloudWatch참조하세요.

지리를 사용하여 위치 데이터를 인덱싱할 때 에서 지정하는 위치 필드는 에 전달하는 위치 필드와 일치해야 geoLocations 합니다UpdateIndexingConfiguration. 불일치가 있는 경우 플릿 인덱싱은 일치하지 않는 유형 오류를 로 전송합니다 CloudWatch. 이 오류 로그에는 필드 이름, 변환할 수 없는 값 및 디바이스에 대한 사물 이름이 포함됩니다.

다음은 오류 로그의 예입니다.

{ "timestamp": "2023-11-09 01:39:43.466", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "123456789012", "status": "Failure", "eventType": "IndexingGeoLocationFieldFailed", "thingName": "thing0", "failedGeolocationFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "Geopoint" } ], "reason": "failed to index the field because it could not be converted to one of the expected geoLocation formats." }

자세한 내용은 위치 데이터 인덱싱 단원을 참조하십시오.

플릿 지표 문제 해결

에서 데이터 포인트를 볼 수 없음 CloudWatch

플릿 지표를 생성할 수 있지만 에서 데이터 포인트를 볼 수 없는 경우 쿼리 문자열 기준을 충족하는 항목이 없을 CloudWatch수 있습니다.

플릿 지표를 생성하는 방법에 대한 이 예제 명령을 참조하세요.

aws iot create-fleet-metric --metric-name "example_FM" --query-string "thingName:TempSensor* AND attributes.temperature>80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count

쿼리 문자열 기준 --query-string "thingName:TempSensor* AND attributes.temperature>80"을 충족하는 사물이 없는 경우

  • 를 사용하면 플릿 지표를 생성할 values=count수 있으며 에 표시할 데이터 포인트가 있습니다 CloudWatch. 값 count의 데이터 포인트는 항상 0입니다.

  • values 이외의 를 사용하면 플릿 지표를 생성할 count수 있지만 에서 플릿 지표를 볼 수 CloudWatch 없으며 에 표시할 데이터 포인트가 없습니다 CloudWatch.