

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

# 플릿 인덱싱 준비
<a name="preparing-fleet-indexing"></a>

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

## `$package` 섀도우를 데이터 소스로 설정
<a name="shadow-as-data-source"></a>

소프트웨어 패키지 카탈로그에서 플릿 인덱싱을 사용하려면 플릿 인덱싱을 활성화하고, 명명된 섀도우를 데이터 소스로 설정하고, `$package`를 명명된 섀도우 필터로 정의해야 합니다. 플릿 인덱싱을 활성화하지 않은 경우 이 프로세스에서 활성화할 수 있습니다. 콘솔의 [AWS IoT Core](https://console.aws.amazon.com/iot/home)에서 **설정**을 열고 **인덱싱 관리**를 선택한 다음 **명명된 섀도우 추가**, **디바이스 소프트웨어 패키지 및 버전 추가**, **업데이트**를 선택합니다. 자세한 내용은 [사물 인덱싱 관리](https://docs.aws.amazon.com/iot/latest/developerguide/managing-fleet-index.html#thing-index)를 참조하세요.

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

**참고**  
소프트웨어 패키지 카탈로그에 플릿 인덱싱을 활성화하면 표준 서비스 비용이 발생합니다. 자세한 내용은 [AWS IoT Device Management요금](https://aws.amazon.com/iot-device-management/pricing/)을 참조하세요.

## 콘솔에 표시된 지표
<a name="metrics-displayed-in-console"></a>

![\[표준 지표 이미지\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/package-catalog-discovery-metrics.png)


 AWS IoT 콘솔 소프트웨어 패키지 세부 정보 페이지의 **검색** 패널에는 `$package` 섀도우를 통해 수집된 표준 지표가 표시됩니다.
+ **현재 버전 배포** 차트는이 소프트웨어 패키지와 연결된 모든 디바이스의 AWS IoT 사물과 연결된 10개의 최신 패키지 버전에 대한 디바이스 수와 비율을 보여줍니다. **참고:** 소프트웨어 패키지의 패키지 버전이 차트에 레이블이 지정된 버전보다 많으면 **기타** 내에 그룹화되어 있는 것을 확인할 수 있습니다.
+ **기록 차트**는 지정된 기간 동안 선택한 패키지 버전과 관련된 디바이스 수를 보여줍니다. 처음부터 패키지 버전을 최대 5개까지 선택하고 날짜 범위와 시간 간격을 정의할 때까지 차트는 비어 있습니다. 차트의 파라미터를 선택하려면 **설정**을 선택합니다. 표시되는 패키지 버전 수에 차이가 있고 **기록 차트**에서 분석할 패키지 버전을 선택할 수 있기 때문에 **기록 차트**에 표시되는 데이터가 **현재 버전 배포** 차트와 다를 수 있습니다. **참고:** 시각화할 패키지 버전을 선택하면 해당 패키지 버전이 플릿 지표 최대 한도에 포함됩니다. 자세한 내용은 [ 플릿 인덱싱 제한 및 할당량](https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#fleet-indexing-limits)을 참조하세요.

패키지 버전 배포 수집에 대한 인사이트를 얻을 수 있는 또 다른 방법은 [`getBucketsAggregation`을 통한 패키지 버전 배포 수집](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-fleet-indexing.html#package-version-distribution)을 참조하세요.

## 쿼리 패턴
<a name="query-patterns"></a>

Software Package Catalog를 사용한 플릿 인덱싱은 표준으로 지원되는 대부분의 기능(예: 용어, 구문, 검색 필드)을 사용합니다. 그러나 명명된 예약 섀도우(`$package`) `version` 키에는 비교 연산자(예: `<`보다 작거나 `>`보다 큼)와 `range` 쿼리를 사용할 수 없습니다. 이러한 쿼리는 `attributes` 키에 사용할 수 있습니다. 자세한 내용은 [쿼리 구문](https://docs.aws.amazon.com/iot/latest/developerguide/query-syntax.html)을 참조하세요.

### 예시 데이터
<a name="query-patterns-example-data"></a>

**참고:** 명명된 예약 섀도우와 그 구조에 대한 자세한 내용은 [명명된 예약 섀도우](https://docs.aws.amazon.com/iot/latest/developerguide/preparing-to-use-software-package-catalog.html#reserved-named-shadow)를 참조하세요.

이 예시에서는 첫 번째 디바이스의 이름이 `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"
                    }
            },
        }
    }
}
```

### 샘플 쿼리
<a name="sample-queries"></a>

다음 테이블에는 `AnyThing` 및 `AnotherThing`에 대한 예시 디바이스 섀도우를 기반으로 한 샘플 쿼리가 나열되어 있습니다. 자세한 내용은 [예시 사물 쿼리](https://docs.aws.amazon.com/iot/latest/developerguide/example-queries.html)를 참조하세요.


**FreeRTOS AWS IoT Device Tester 용의 최신 버전**  

| **요청된 정보** | **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`을 통한 패키지 버전 배포 수집
<a name="package-version-distribution"></a>

 AWS IoT 콘솔 내의 **검색** 패널 외에도 [https://docs.aws.amazon.com/iot/latest/apireference/API_GetBucketsAggregation.html](https://docs.aws.amazon.com/iot/latest/apireference/API_GetBucketsAggregation.html) API 작업을 사용하여 패키지 버전 배포 정보를 가져올 수도 있습니다. 패키지 버전 배포 정보를 가져오려면 다음을 수행해야 합니다.
+ 각 소프트웨어 패키지의 플릿 인덱싱 내에서 사용자 지정 필드를 정의합니다. **참고:** 사용자 지정 필드를 생성하는 것은 [AWS IoT 플릿 인덱싱 서비스](https://docs.aws.amazon.com/general/latest/gr/iot_device_management.html#fleet-indexing-limits) 할당량에 포함됩니다.
+ 다음과 같이 사용자 지정 필드의 형식을 지정합니다.

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

자세한 내용은 AWS IoT 플릿 인덱싱의 [사용자 지정 필드](https://docs.aws.amazon.com/iot/latest/developerguide/managing-fleet-index.html#custom-field) 섹션을 참조하세요.