기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
플릿 인덱싱 준비
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
키에는 comparison
및 range
쿼리를 사용할 수 없습니다. 하지만 이러한 쿼리는 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"
}
},
}
}
}
샘플 쿼리
다음 테이블에는 AnyThing
및 AnotherThing
에 대한 예시 디바이스 섀도우를 기반으로 한 샘플 쿼리가 나열되어 있습니다. 자세한 내용은 예시 사물 쿼리를 참조하세요.
요청된 정보 |
Query |
결과 |
---|---|---|
특정 패키지 버전이 설치된 사물 |
|
|
특정 패키지 버전이 설치되지 않은 사물 |
|
|
패키지 ID가 1500보다 큰 패키지 버전을 사용하는 모든 디바이스 |
|
|
특정 패키지가 설치되어 있고 두 개 이상의 패키지가 설치된 사물 |
|
|
getBucketsAggregation
을 통한 패키지 버전 배포 수집
AWS IoT 콘솔 내의 검색 패널 외에도 GetBucketsAggregation
API 작업을 사용하여 패키지 버전 배포 정보를 가져올 수도 있습니다. 패키지 버전 배포 정보를 가져오려면 다음을 수행해야 합니다.
각 소프트웨어 패키지의 플릿 인덱싱 내에서 사용자 지정 필드를 정의합니다. 참고: 사용자 지정 필드를 생성하는 것은 AWS IoT 플릿 인덱싱 서비스 할당량에 포함됩니다.
다음과 같이 사용자 지정 필드의 형식을 지정합니다.
shadow.name.$package.reported.
<packageName>
.version
자세한 내용은 AWS IoT 플릿 인덱싱의 사용자 지정 필드 섹션을 참조하세요.