기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
구성 요소 구성과 연동
구성 요소 구성 IPC 서비스를 사용하여 다음을 수행할 수 있습니다.
-
구성 요소 구성 파라미터를 가져오고 설정합니다.
-
구성 요소 구성 업데이트를 구독합니다.
-
nucleus에서 구성 요소 구성 업데이트를 적용하기 전에 검증합니다.
주제
최소 SDK 버전
다음 표에는 구성 요소 구성과 연동하는 데 사용해야 하는 AWS IoT Device SDK의 최소 버전이 나열되어 있습니다.
SDK | 최소 버전 |
---|---|
v1.2.10 |
|
v1.5.3 |
|
v1.17.0 |
|
v1.12.0 |
GetConfiguration
코어 디바이스의 구성 요소에 대한 구성 값을 가져옵니다. 구성 값을 가져올 키 경로를 지정합니다.
요청
이 작업의 요청에서는 다음 파라미터를 사용합니다.
componentName
(Python:component_name
)-
(선택 사항) 구성 요소의 이름입니다.
기본값은 요청을 하는 구성 요소의 이름입니다.
keyPath
(Python:key_path
)-
구성 값의 키 경로입니다. 각 항목이 구성 객체에서 단일 수준에 대한 키인 목록을 지정합니다. 예를 들어 다음 구성에서
port
의 값을 가져오려면["mqtt", "port"]
를 지정합니다.{ "mqtt": { "port": 443 } }
구성 요소의 전체 구성을 가져오려면 빈 목록을 지정합니다.
응답
이 작업의 응답에는 다음 정보가 포함됩니다.
componentName
(Python:component_name
)-
구성 요소의 이름입니다.
value
-
객체인 요청된 구성입니다.
UpdateConfiguration
코어 디바이스에서 이 구성 요소에 대한 구성 값을 업데이트합니다.
요청
이 작업의 요청에서는 다음 파라미터를 사용합니다.
keyPath
(Python:key_path
)-
(선택 사항) 업데이트할 컨테이너 노드(객체)의 키 경로입니다. 각 항목이 구성 객체에서 단일 수준에 대한 키인 목록을 지정합니다. 예를 들어 다음 구성에서
port
의 값을 설정하려면 키 경로["mqtt"]
및 병합 값{ "port": 443 }
을 지정합니다.{ "mqtt": { "port": 443 } }
키 경로는 구성의 컨테이너 노드(객체)를 지정해야 합니다. 노드가 구성 요소의 구성에 없는 경우 이 작업은 노드를 생성하고 해당 값을
valueToMerge
의 객체로 설정합니다.기본값은 구성 객체의 루트입니다.
timestamp
-
현재 Unix epoch 시간(밀리초)입니다. 이 작업은 이 타임스탬프를 사용하여 키에 대한 동시 업데이트를 해결합니다. 구성 요소 구성의 키의 타임스탬프가 요청의 타임스탬프보다 크면 요청이 실패합니다.
valueToMerge
(Python:value_to_merge
)-
keyPath
에서 지정하는 위치에서 병합할 구성 객체입니다. 자세한 내용은 구성 요소 구성 업데이트 섹션을 참조하세요.
응답
이 작업의 응답에는 어떠한 정보도 제공하지 않습니다.
SubscribeToConfigurationUpdate
구성 요소의 구성이 업데이트될 때 알림을 수신하려면 구독합니다. 키를 구독하는 경우 해당 키의 하위 키가 업데이트되면 알림을 받습니다.
이 작업은 이벤트 메시지 스트림을 구독하는 구독 작업입니다. 이 작업을 사용하려면 이벤트 메시지, 오류 및 스트림 종료를 처리하는 함수를 사용하여 스트림 응답 핸들러를 정의합니다. 자세한 내용은 IPC 이벤트 스트림 구독 섹션을 참조하세요.
이벤트 메시지 유형: ConfigurationUpdateEvents
요청
이 작업의 요청에서는 다음 파라미터를 사용합니다.
componentName
(Python:component_name
)-
(선택 사항) 구성 요소의 이름입니다.
기본값은 요청을 하는 구성 요소의 이름입니다.
keyPath
(Python:key_path
)-
구독할 구성 값의 키 경로입니다. 각 항목이 구성 객체에서 단일 수준에 대한 키인 목록을 지정합니다. 예를 들어 다음 구성에서
port
의 값을 가져오려면["mqtt", "port"]
를 지정합니다.{ "mqtt": { "port": 443 } }
구성 요소 구성에서 모든 값에 대한 업데이트를 구독하려면 빈 목록을 지정합니다.
응답
이 작업의 응답에는 다음 정보가 포함됩니다.
messages
-
알림 메시지의 스트림입니다. 이 객체
ConfigurationUpdateEvents
에는 다음 정보가 포함됩니다.configurationUpdateEvent
(Python:configuration_update_event
)-
구성 업데이트 이벤트입니다. 이 객체
ConfigurationUpdateEvent
에는 다음 정보가 포함됩니다.componentName
(Python:component_name
)-
구성 요소의 이름입니다.
keyPath
(Python:key_path
)-
업데이트된 구성 값의 키 경로입니다.
SubscribeToValidateConfigurationUpdates
이 구성 요소의 구성이 업데이트되기 전에 알림을 수신하려면 구독합니다. 그러면 구성 요소가 자체 구성에 대한 업데이트를 검증할 수 있습니다. SendConfigurationValidityReport 작업을 사용하면 구성이 유효한지 여부를 nucleus에 알립니다.
중요
로컬 배포에서는 업데이트에 대해 구성 요소에 알리지 않습니다.
이 작업은 이벤트 메시지 스트림을 구독하는 구독 작업입니다. 이 작업을 사용하려면 이벤트 메시지, 오류 및 스트림 종료를 처리하는 함수를 사용하여 스트림 응답 핸들러를 정의합니다. 자세한 내용은 IPC 이벤트 스트림 구독 섹션을 참조하세요.
이벤트 메시지 유형: ValidateConfigurationUpdateEvents
요청
이 작업의 요청에는 파라미터가 없습니다.
응답
이 작업의 응답에는 다음 정보가 포함됩니다.
messages
-
알림 메시지의 스트림입니다. 이 객체
ValidateConfigurationUpdateEvents
에는 다음 정보가 포함됩니다.validateConfigurationUpdateEvent
(Python:validate_configuration_update_event
)-
구성 업데이트 이벤트입니다. 이 객체
ValidateConfigurationUpdateEvent
에는 다음 정보가 포함됩니다.deploymentId
(Python:deployment_id
)-
구성 요소를 업데이트하는 AWS IoT Greengrass 배포의 ID입니다.
configuration
-
새 구성을 포함하는 객체입니다.
SendConfigurationValidityReport
이 구성 요소에 대한 구성 업데이트가 유효한지 여부를 nucleus에 알립니다. 새 구성이 유효하지 않다고 nucleus에 알리면 배포가 실패합니다. SubscribeToValidateConfigurationUpdates 작업을 사용하면 구성 업데이트 검증을 구독할 수 있습니다.
구성 요소가 구성 업데이트 검증 알림에 응답하지 않으면 nucleus는 배포의 구성 검증 정책에 지정한 시간을 기다립니다. 이 제한 시간이 지나면 nucleus는 배포를 진행합니다. 기본 구성 요소 검증 제한 시간은 20초입니다. 자세한 내용은 배포 만들기 섹션 및 CreateDeployment 작업을 직접 호출할 때 제공할 수 있는 DeploymentConfigurationValidationPolicy 객체를 참조하세요.
요청
이 작업의 요청에서는 다음 파라미터를 사용합니다.
configurationValidityReport
(Python:configuration_validity_report
)-
구성 업데이트가 유효한지 여부를 nucleus에 알려주는 보고서입니다. 이 객체
ConfigurationValidityReport
에는 다음 정보가 포함됩니다.status
-
유효성 상태입니다. 이 열거형
ConfigurationValidityStatus
의 값은 다음과 같습니다.-
ACCEPTED
- 구성이 유효하며 nucleus가 이 구성 요소에 적용할 수 있습니다. -
REJECTED
- 구성이 유효하지 않고 배포가 실패합니다.
-
deploymentId
(Python:deployment_id
)-
구성 업데이트를 요청한 AWS IoT Greengrass 배포의 ID입니다.
message
-
(선택 사항) 구성이 유효하지 않은 이유를 보고하는 메시지입니다.
응답
이 작업의 응답에는 어떠한 정보도 제공하지 않습니다.