[typescript] AWS SDK를 사용하여 타입스크립트로 IoT 서비스 관리하기
AWS의 IoT 서비스를 사용하면 인터넷에 연결된 장치를 관리하고 데이터를 수집할 수 있습니다. 이 글에서는 타입스크립트로 AWS SDK를 사용하여 IoT 서비스를 관리하는 방법에 대해 알아보겠습니다.
목차
시작하기
우선 AWS SDK를 설치해야 합니다. npm을 사용하여 aws-sdk
패키지를 설치할 수 있습니다.
npm install aws-sdk
그리고 AWS 계정에서 액세스 키와 시크릿 액세스 키를 생성하여 프로젝트의 환경 변수에 설정합니다.
import AWS from 'aws-sdk';
AWS.config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: 'us-west-2' // 사용하는 지역에 맞게 변경
});
장치 등록
IoT 장치를 등록하려면 registerThing
메서드를 사용하여 새 장치를 등록하고 일련 번호를 가져올 수 있습니다.
const iot = new AWS.Iot();
const params = {
thingName: 'myDevice'
};
iot.registerThing(params, (err, data) => {
if (err) console.log(err, err.stack);
else console.log(data);
});
장치 목록 가져오기
등록된 모든 IoT 장치의 목록을 가져오려면 listThings
메서드를 사용합니다.
iot.listThings({}, (err, data) => {
if (err) console.log(err, err.stack);
else console.log(data);
});
규칙 설정
IoT 장치에서 수신한 데이터에 대한 규칙을 설정하려면 createTopicRule
메서드를 사용하여 새로운 규칙을 만들 수 있습니다.
const params = {
ruleName: 'temperatureRule',
topicRulePayload: {
sql: 'SELECT * FROM "temperature"',
actions: [
{
lambda: {
functionArn: 'arn:aws:lambda:us-west-2:123456789012:function:my-function'
}
}
]
}
};
iot.createTopicRule(params, (err, data) => {
if (err) console.log(err, err.stack);
else console.log(data);
});
위와 같이 타입스크립트로 AWS SDK를 사용하여 IoT 서비스를 관리할 수 있습니다. 다양한 AWS IoT 서비스의 기능을 타입스크립트로 활용하여 손쉽게 인터넷에 연결된 장치를 관리하고 데이터를 수집할 수 있습니다.
참고 문헌:
- AWS SDK for JavaScript v3 Developer Guide
- AWS SDK for JavaScript v3 API Reference
- AWS IoT Developer Guide