기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS.DiscoverDevices 작업 구현
디바이스 검색은 최종 사용자가 소유한 물리적 디바이스 목록을 AWS IoT Device Management의 관리형 통합에서 유지 관리하는 최종 사용자 디바이스의 디지털 표현과 일치시킵니다. AWS IoT Device Management에서 AWS 고객이 수행합니다. 디바이스 검색은 AWS IoT Device Management의 관리형 통합이 커넥터를 호출하여 디바이스 검색 요청을 시작하는 비동기 프로세스입니다. C2C 커넥터는 검색된 최종 사용자 디바이스 목록을 관리형 통합에서 생성된 참조 식별자(라고 함deviceDiscoveryId
)와 비동기적으로 반환합니다.
다음 다이어그램은 AWS IoT Device Management 검색 워크플로를 보여줍니다.

AWS.DiscoverDevices 워크플로
-
고객은 최종 사용자를 대신하여 디바이스 검색 프로세스를 시작합니다.
-
용 관리형 통합은 고객이 생성한 디바이스 검색 요청에
deviceDiscoveryId
대해 라는 참조 식별자를 AWS IoT Device Management AWS 생성합니다. -
용 관리형 통합은 최종 사용자의 유효한 OAuth와를 포함하여
AWS.DiscoverDevices
작업 인터페이스를 사용하여 디바이스 검색 요청을 C2C 커넥터accessToken
로 AWS IoT Device Management 보냅니다deviceDiscoveryId
. -
커넥터는
DEVICE_DISCOVERY
이벤트에 포함할deviceDiscoveryId
를 저장합니다. 이 이벤트에는 검색된 최종 사용자의 디바이스 목록도 포함되며,SendConnectorEvent
API를DEVICE_DISCOVERY
이벤트로 사용하여 AWS IoT Device Management 위한 관리형 통합으로 전송해야 합니다. -
C2C 커넥터는 리소스 서버를 호출하여 최종 사용자가 소유한 모든 디바이스를 가져와야 합니다.
-
C2C 커넥터 Lambda는 AWS IoT Device Management의 관리형 통합에 대한 ACK 응답으로 Lambda 호출(
invokeFunction
)에 응답하며, 이는AWS.DiscoverDevices
작업에 대한 초기 응답 역할을 합니다. 관리형 통합은 ACK를 통해 고객에게 시작된 디바이스 검색 프로세스에 대해 알립니다. -
리소스 서버는 최종 사용자가 소유하고 운영하는 디바이스 목록을 전송합니다.
-
커넥터는 각 최종 사용자 디바이스를 각 디바이스에 대한 및
ConnectorDeviceId
ConnectorDeviceName
기능 보고서를 포함하여 AWS IoT Device Management 필수 디바이스 형식의 관리형 통합으로 변환합니다. -
C2C 커넥터는 검색된 디바이스 소유자
UserId
의 도 제공합니다. 리소스 서버 구현에 따라 디바이스 목록의 일부로 또는 별도의 호출로 리소스 서버에서 검색할 수 있습니다. -
다음으로 C2C 커넥터는 자격 AWS 계정 증명과 "DEVICE_DISCOVERY"로 설정된 작업 파라미터를 사용하여 SigV4를 통해 AWS IoT Device Management API
SendConnectorEvent
,에 대한 관리형 통합을 호출합니다. AWS IoT Device ManagementconnectorDeviceId
,connectorDeviceName
및와 같은 디바이스별 파라미터로 표시됩니다capabilityReport
.-
리소스 서버 응답에 따라 그에 따라 AWS IoT Device Management의 관리형 통합에 알려야 합니다.
예를 들어 리소스 서버에 최종 사용자의 검색된 디바이스 목록에 대한 페이지 매김 응답이 있는 경우 각 폴링에 대해
statusCode
파라미터를 사용하여 개별DEVICE_DISCOVERY
작업 이벤트를 보낼 수 있습니다3xx
. 디바이스 검색이 아직 진행 중인 경우 5, 6, 7단계를 반복합니다.
-
-
용 관리형 통합은가 최종 사용자의 디바이스를 검색했다는 알림을 고객에게 AWS IoT Device Management 보냅니다.
-
C2C 커넥터가
statusCode
파라미터가 200으로 업데이트된DEVICE_DISCOVERY
작업 이벤트를 전송하는 경우 관리형 통합은 고객에게 디바이스 검색 워크플로 완료를 알립니다.중요
원하는 경우 6단계 전에 7~11단계를 수행할 수 있습니다. 예를 들어 타사 플랫폼에 최종 사용자 디바이스를 나열하는 API가 있는 경우 C2C 커넥터 Lambda가 일반적인 ACK로 응답
SendConnectorEvent
하기 전에 DEVICE_DISCOVERY 이벤트를 로 전송할 수 있습니다.
디바이스 검색을 위한 C2C 커넥터 요구 사항
다음 목록은 성공적인 디바이스 검색을 용이하게 하기 위한 C2C 커넥터의 요구 사항을 간략하게 설명합니다.
-
C2C 커넥터 Lambda는 AWS IoT Device Management 검색 요청 메시지를 처리하고
AWS.DiscoverDevices
작업을 처리할 수 있습니다. -
C2C 커넥터는 커넥터 등록에 AWS 계정 사용되는의 자격 증명을 사용하여 SigV4를 통해 AWS IoT Device Management APIs에 대한 관리형 통합을 호출할 수 있습니다.
디바이스 검색 프로세스
다음 단계에서는 AWS IoT Device Management를 위한 C2C 커넥터 및 관리형 통합을 사용한 디바이스 검색 프로세스를 간략하게 설명합니다. AWS IoT Device Management
디바이스 검색 프로세스
-
관리형 통합은 디바이스 검색을 트리거합니다.
-
다음 JSON 페이로드를
DiscoverDevices
사용하여에 POST 요청을 보냅니다./DiscoverDevices { "header": { "auth": { "token": "ashriu32yr97feqy7afsaf", "type": "OAuth2.0" } }, "payload": { "operationName": "AWS.DiscoverDevices", "operationVersion": "1.0", "connectorId": "
Your-Connector-Id
", "deviceDiscoveryId": "12345678" } }
-
-
커넥터는 검색을 승인합니다.
-
커넥터는 다음 JSON 응답과 함께 승인을 전송합니다.
{ "header": { "responseCode":200 }, "payload": { "responseMessage": "Discovering devices for discovery-job-id '12345678' with connector-id `Your-Connector-Id`" } }
-
-
커넥터가 디바이스 검색 이벤트를 전송합니다.
-
다음 JSON 페이로드를
/connector-event/
사용하여에 POST 요청을 보냅니다.{your_connector_id}
AWS API - /SendConnectorEvent URI – POST /connector-event/{your_connector_id} { "UserId": "6109342", "Operation": "DEVICE_DISCOVERY", "OperationVersion": "1.0", "StatusCode": 200, "DeviceDiscoveryId": "12345678", "ConnectorId": "Your_connector_Id", "Message": "Device discovery for discovery-job-id '12345678' successful", "Devices": [ { "ConnectorDeviceId": "Your_Device_Id_1", "ConnectorDeviceName": "Your-Device-Name", "CapabilityReport": { "nodeId":"1", "version":"1.0.0", "endpoints":[{ "id":"1", "deviceTypes":["Camera"], "clusters":[{ "id":"0x0006", "revision":1, "attributes":[{ "id":"0x0000", }], "commands":["0x00","0x01"], "events":["0x00"] }] }] } } ] }
-
DISCOVER_DEVICES 이벤트에 대한 CapabilityReport 구성
위에 정의된 이벤트 구조에서 볼 수 있듯이 AWS.DiscoverDevices
작업에 대한 응답으로 사용되는 DISCOVER_DEVICES 이벤트에서 보고된 모든 디바이스에는 해당 디바이스의 기능을 설명하는 CapbilityReport가 필요합니다. 'CapabilityReport'는 AWS IoT Device Management 디바이스 기능에 대한 관리형 통합을 Matter 준수 형식으로 알려줍니다. ` CapabilityReport `에 다음 필드를 제공해야 합니다.
-
nodeId
, 문자열: 다음을 포함하는 디바이스 노드의 식별자입니다.endpoints
-
version
, 문자열: 커넥터 개발자가 설정한이 디바이스 노드의 버전 -
endpoints
, List<Cluster>:이 디바이스 엔드포인트에서 지원하는 Matter Data Model의 AWS 구현 목록입니다.-
id
, 문자열: 커넥터 개발자가 설정한 엔드포인트 식별자 -
deviceTypes
, List<String>:이 엔드포인트가 캡처하는 디바이스 유형 목록, 즉 "Camera". -
clusters
, List<Cluster>:이 엔드포인트가 지원하는 Matter Data Model의 AWS 구현 목록입니다.-
id
, 문자열: Matter 표준에 정의된 클러스터 식별자입니다. -
revision
, 정수: Matter 표준에 정의된 클러스터 개정 번호입니다. -
attributes
, Map<String, Object>: 항목 표준에서 정의한 식별자 및 유효한 값과 함께 속성 식별자 및 해당 현재 디바이스 상태 값의 맵입니다.-
id
, 문자열: Matter Data Model의 AWS 구현에 의해 정의된 속성 ID입니다. -
value
, 객체: 속성 ID로 정의된 속성의 현재 값입니다. '값' 유형은 속성에 따라 변경될 수 있습니다.value
필드는 각 속성에 대해 선택 사항이며 커넥터 Lambda가 검색 중에 현재 상태를 확인할 수 있는 경우에만 포함되어야 합니다.
-
-
commands
, List<String>: Matter 표준에 정의된 대로이 클러스터를 지원하는 명령 IDs. -
events
, List<String>: Matter 표준에 정의된 대로이 클러스터를 지원하는 이벤트 IDs.
-
-
지원되는 기능의 현재 목록과 AWS Matter Data Model의 해당 구현은 Data Model 설명서의 최신 릴리스를 참조하세요.