SendConnectorEvent API를 사용하여 디바이스 이벤트 전송 - 에 대한 관리형 통합 AWS IoT Device Management

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

SendConnectorEvent API를 사용하여 디바이스 이벤트 전송

디바이스 시작 이벤트 개요

SendConnectorEvent API는 AWS.SendCommandAWS.DiscoverDevices 작업에 비동기적으로 응답하는 데 사용되지만 디바이스 시작 이벤트를 관리형 통합에 알리는 데도 사용됩니다. 디바이스 시작 이벤트는 사용자 시작 명령 없이 디바이스에서 생성된 모든 이벤트로 정의할 수 있습니다. 이러한 디바이스 이벤트에는 디바이스 상태 변경, 모션 감지, 배터리 잔량 등이 포함될 수 있지만 이에 국한되지 않습니다. DEVICE_EVENT 작업과 함께 SendConnectorEvent API를 사용하여 이러한 이벤트를 관리형 통합으로 다시 보낼 수 있습니다.

다음 섹션에서는 가정에 설치된 스마트 카메라를 예로 사용하여 이러한 이벤트의 작업 흐름을 자세히 설명합니다.

디바이스 이벤트 워크플로
디바이스 이벤트 워크플로
  1. 카메라는 리소스 서버로 전송되는 이벤트를 생성하는 모션을 감지합니다.

  2. 리소스 서버는 이벤트를 처리하고 C2C 커넥터로 전송합니다.

  3. 커넥터는이 이벤트를 AWS IoT Device Management DEVICE_EVENT 인터페이스의 관리형 통합으로 변환합니다.

  4. C2C 커넥터는 작업이 "DEVICE_EVENT"로 설정된 SendConnectorEvent API를 사용하여이 디바이스 이벤트를 관리형 통합으로 전송합니다.

  5. 관리형 통합은 관련 고객을 식별하고이 이벤트를 고객에게 다시 전달합니다.

  6. 고객은이 이벤트를 수신하여 사용자 식별자를 통해 사용자에게 표시합니다.

SendConnectorEvent API 작업에 대한 자세한 내용은 AWS IoT Device Management API용 관리형 통합 참조 안내서SendConnectorEvent의 섹션을 참조하세요.

디바이스 시작 이벤트 요구 사항

다음은 디바이스 시작 이벤트에 대한 몇 가지 요구 사항입니다.

  • C2C 커넥터 리소스는 리소스 서버에서 비동기 디바이스 이벤트를 수신할 수 있어야 합니다.

  • C2C 커넥터 리소스는 C2C 커넥터를 등록하는 데 AWS 계정 사용되는의 AWS 자격 증명을 사용하여 SigV4를 통해 AWS IoT Device Management 서비스 API에 대한 관리형 통합을 호출할 수 있어야 합니다.

다음 예제에서는 SendConnectorEvent API를 통해 디바이스에서 시작된 이벤트를 전송하는 커넥터를 보여줍니다.

AWS-API: /SendConnectorEvent URI: POST /connector-event/{Your-Connector-Id} { "UserId": "Your-End-User-ID", "Operation": "DEVICE_EVENT", "OperationVersion": "1.0", "StatusCode": 200, "Message": None, "ConnectorDeviceId": "Your_Device_Id", "MatterEndpoint": { "id": "1", "clusters": [{ "id": "0x0202", "attributes": [ { "0x0000": "3" } ] }] }] }

다음 예제에서 다음을 볼 수 있습니다.

  • ID가 1인 디바이스 엔드포인트에서 가져옵니다.

  • 이 이벤트와 관련된 디바이스 기능은 팬 제어 문제 클러스터와 관련하여 클러스터 ID가 0x0202입니다.

  • 변경된 속성의 ID는 0x000이며 클러스터 내의 팬 모드 열거형과 관련이 있습니다. High 값과 관련하여 값 3으로 업데이트되었습니다.

  • connectorId는 생성 시 클라우드 서비스에서 반환하는 파라미터이므로 커넥터는 GetCloudConnector를 사용하여 쿼리하고를 기준으로 필터링해야 합니다lambdaARN. Lambda 자체ARNLambda.get_function_url_config API를 사용하여 쿼리됩니다. 이렇게 하면 lambda에서 CloudConnectorId에 동적으로 액세스할 수 있으며 이전과 같이 정적으로 구성되지 않습니다.