AWS Lambda와 함께 AWS IoT 사용 - AWS Lambda

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

AWS Lambda와 함께 AWS IoT 사용

AWS IoT는 인터넷에 연결된 디바이스(예: 센서)와 AWS 클라우드 간의 안전한 통신을 제공합니다. 이를 통해 여러 디바이스에서 원격 측정 데이터를 수집하고, 저장하고, 분석할 수 있습니다.

디바이스가 AWS IoT 서비스와 상호 작용하는 AWS 규칙을 생성할 수 있습니다. AWS IoT 규칙 엔진은 SQL 기반 언어를 사용하여 메시지 페이로드에서 데이터를 선택하고, Amazon S3, Amazon DynamoDB, AWS Lambda 등의 다른 서비스로 데이터를 전송할 수 있습니다. 다른 AWS 서비스 또는 서드 파티 서비스를 호출할 경우에는 Lambda 함수를 호출하는 규칙을 정의합니다.

들어오는 IoT 메시지가 규칙을 트리거하면 AWS IoT는 Lambda 함수를 비동기적으로 호출하고 IoT 메시지의 데이터를 함수로 전달합니다.

다음 예는 온실 센서의 수분 수치를 보여줍니다. pos 값으로 센서의 위치를 식별합니다. 이 예제 이벤트는 AWS IoT 규칙 자습서의 온실 유형을 기반으로 합니다.

예 AWS IoT 메시지 이벤트
{ "row" : "10", "pos" : "23", "moisture" : "75" }

비동기 호출의 경우 함수에서 오류를 반환할 때 Lambda에서 메시지를 대기열에 배치하고 재시도합니다. 함수에서 처리하지 못한 이벤트를 유지할 대상과 함께 함수를 구성합니다.

Lambda 함수를 호출하려면 AWS IoT 서비스에 대한 권한을 부여해야 합니다. add-permission 명령을 사용하여 권한 설명문을 함수의 리소스 기반 정책에 추가하세요.

aws lambda add-permission --function-name my-function \ --statement-id iot-events --action "lambda:InvokeFunction" --principal iot.amazonaws.com

다음 결과가 표시됩니다:

{ "Statement": "{\"Sid\":\"iot-events\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"iot.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-1:123456789012:function:my-function\"}" }

AWS IoT에서 Lambda를 사용하는 방법에 관한 자세한 내용은 AWS Lambda 규칙 생성을 참조하세요.