플릿 인덱싱 준비 - AWS IoT Core

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

플릿 인덱싱 준비

AWS IoT 플릿 인덱싱을 사용하면 예약된 명명 섀도우()를 사용하여 데이터를 검색하고 집계할 수 있습니다$package. 명명된 예약 섀도우 및 동적 AWS IoT 사물 그룹 을 쿼리하여 사물을 그룹화할 수도 있습니다. https://docs.aws.amazon.com/iot/latest/developerguide/dynamic-thing-groups.html 예를 들어 특정 패키지 버전을 사용하거나, 특정 패키지 버전이 설치되어 있지 않거나, 패키지 버전이 설치되어 있지 않은 AWS IoT 사물에 대한 정보를 찾을 수 있습니다. 속성을 결합하여 더 많은 인사이트를 얻을 수 있습니다. 예를 들어, 특정 버전이 설치되었고 특정 사물 유형(예: 버전 1.0.0, 사물 유형 pump_sensor)인 사물을 식별할 수 있습니다. 자세한 내용은 플릿 인덱싱을 참조하세요.

$package 섀도우를 데이터 소스로 설정

소프트웨어 패키지 카탈로그에서 플릿 인덱싱을 사용하려면 플릿 인덱싱을 활성화하고, 명명된 섀도우를 데이터 소스로 설정하고, $package를 명명된 섀도우 필터로 정의해야 합니다. 플릿 인덱싱을 활성화하지 않은 경우 이 프로세스에서 활성화할 수 있습니다. 콘솔의 AWS IoT Core에서 설정을 열고 인덱싱 관리를 선택한 다음 명명된 섀도우 추가, 디바이스 소프트웨어 패키지 및 버전 추가, 업데이트를 선택합니다. 자세한 내용은 사물 인덱싱 관리를 참조하세요.

또는 첫 번째 패키지를 생성할 때 플릿 인덱싱을 활성화할 수 있습니다. 패키지 관리를 위한 종속성 활성화 대화 상자가 나타나면 디바이스 소프트웨어 패키지 및 버전을 플릿 인덱싱에 데이터 소스로 추가하는 옵션을 선택합니다. 이 옵션을 선택하면 플릿 인덱싱도 활성화됩니다.

참고

소프트웨어 패키지 카탈로그에 플릿 인덱싱을 활성화하면 표준 서비스 비용이 발생합니다. 자세한 내용은 AWS IoT Device Management요금을 참조하세요.

콘솔에 표시된 지표

표준 지표 이미지

AWS IoT 콘솔 소프트웨어 패키지 세부 정보 페이지에서 검색 패널은 $package 섀도우를 통해 수집된 표준 지표를 표시합니다.

  • 현재 버전 배포 차트는 이 소프트웨어 패키지와 연결된 모든 디바이스의 AWS IoT 사물과 연결된 10개의 최신 패키지 버전에 대한 디바이스 수와 백분율을 보여줍니다. 참고: 소프트웨어 패키지의 패키지 버전이 차트에 레이블이 지정된 버전보다 많으면 기타 내에 그룹화되어 있는 것을 확인할 수 있습니다.

  • 기록 차트는 지정된 기간 동안 선택한 패키지 버전과 관련된 디바이스 수를 보여줍니다. 처음부터 패키지 버전을 최대 5개까지 선택하고 날짜 범위와 시간 간격을 정의할 때까지 차트는 비어 있습니다. 차트의 파라미터를 선택하려면 설정을 선택합니다. 표시되는 패키지 버전 수에 차이가 있고 기록 차트에서 분석할 패키지 버전을 선택할 수 있기 때문에 기록 차트에 표시되는 데이터가 현재 버전 배포 차트와 다를 수 있습니다. 참고: 시각화할 패키지 버전을 선택하면 해당 패키지 버전이 플릿 지표 최대 한도에 포함됩니다. 자세한 내용은 플릿 인덱싱 제한 및 할당량을 참조하세요.

패키지 버전 배포 수집에 대한 인사이트를 얻을 수 있는 또 다른 방법은 getBucketsAggregation을 통한 패키지 버전 배포 수집을 참조하세요.

쿼리 패턴

소프트웨어 패키지 카탈로그를 사용한 플릿 인덱싱은 플릿 인덱싱의 표준으로 지원되는 대부분의 기능(예: 용어, 구문, 검색 필드)을 사용합니다. 단, 명명된 예약 섀도우($package) version 키에는 comparisonrange 쿼리를 사용할 수 없습니다. 하지만 이러한 쿼리는 attributes 키에 사용할 수 있습니다. 자세한 내용은 쿼리 구문을 참조하세요.

예시 데이터

참고: 명명된 예약 섀도우와 그 구조에 대한 자세한 내용은 명명된 예약 섀도우를 참조하세요.

이 예시에서는 첫 번째 디바이스의 이름이 AnyThing이고 다음 패키지가 설치되어 있습니다.

  • 소프트웨어 패키지: SamplePackage

    패키지 버전: 1.0.0

    패키지 ID: 1111

섀도우는 다음과 같습니다.

{ "state": { "reported": { "SamplePackage": { "version": "1.0.0", "attributes": { "s3UrlForSamplePackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile1", "packageID": "1111" } } } } }

두 번째 디바이스는 이름이 AnotherThing이고며 다음 패키지가 설치되어 있습니다.

  • 소프트웨어 패키지: SamplePackage

    패키지 버전: 1.0.0

    패키지 ID: 1111

  • 소프트웨어 패키지: OtherPackage

    패키지 버전: 1.2.5

    패키지 ID: 2222

섀도우는 다음과 같습니다.

{ "state": { "reported": { "SamplePackage": { "version": "1.0.0", "attributes": { "s3UrlForSamplePackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile1", "packageID": "1111" } }, "OtherPackage": { "version": "1.2.5", "attributes": { "s3UrlForOtherPackage": "https://EXAMPIEBUCKET.s3.us-west-2.amazonaws.com/exampleCodeFile2", "packageID": "2222" } }, } } }

샘플 쿼리

다음 테이블에는 AnyThingAnotherThing에 대한 예시 디바이스 섀도우를 기반으로 한 샘플 쿼리가 나열되어 있습니다. 자세한 내용은 예시 사물 쿼리를 참조하세요.

의 최신 버전 AWS IoT Device Tester 무료RTOS

요청된 정보

Query

결과

특정 패키지 버전이 설치된 사물

shadow.name.$package.reported.SamplePackage.version:1.0.0

AnyThing, OtherThing

특정 패키지 버전이 설치되지 않은 사물

NOT shadow.name.$package.reported.OtherPackage.version:1.2.5

AnyThing

패키지 ID가 1500보다 큰 패키지 버전을 사용하는 모든 디바이스

shadow.name.$package.reported.*.attributes.packageID>1500"

OtherThing

특정 패키지가 설치되어 있고 두 개 이상의 패키지가 설치된 사물

shadow.name.$package.reported.SamplePackage.version:1.0.0 AND shadow.name.$package.reported.totalCount:2

OtherThing

getBucketsAggregation을 통한 패키지 버전 배포 수집

AWS IoT 콘솔 내의 검색 패널 외에도 GetBucketsAggregation API 작업을 사용하여 패키지 버전 배포 정보를 가져올 수도 있습니다. 패키지 버전 배포 정보를 가져오려면 다음을 수행해야 합니다.

  • 각 소프트웨어 패키지의 플릿 인덱싱 내에서 사용자 지정 필드를 정의합니다. 참고: 사용자 지정 필드를 생성하는 것은 AWS IoT 플릿 인덱싱 서비스 할당량에 포함됩니다.

  • 다음과 같이 사용자 지정 필드의 형식을 지정합니다.

    shadow.name.$package.reported.<packageName>.version

자세한 내용은 AWS IoT 플릿 인덱싱의 사용자 지정 필드 섹션을 참조하세요.