Get in touch
or send us a question?
CONTACT

Sử dụng Lambda lưu thông tin thu thập từ IOT devices vào DynamoDB

1.Tạo một bảng DynamoDB trên AWS Console. Để làm điều này, truy cập vào DynamoDB và bấm nút “Create Table”. Bạn cần đặt tên cho bảng, chọn khóa chính và các thuộc tính khác nếu cần.

2.Tạo một vai trò IAM để Lambda có thể truy cập vào DynamoDB. Truy cập vào trang IAM trên AWS Console và bấm nút “Create Role”. Trong phần “AWS Service”, chọn Lambda và bấm nút “Next”. Sau đó, trong phần “Permissions”, tìm và chọn các quyền truy cập DynamoDB như “AmazonDynamoDBFullAccess”. Bấm nút “Next” và đặt tên cho vai trò.

3.Tạo một chức năng Lambda. Truy cập vào trang Lambda trên AWS Console và bấm nút “Create function”. Đặt tên cho chức năng và chọn ngôn ngữ lập trình (VD: Node.js). Trong phần “Role”, chọn vai trò IAM đã tạo ở bước trước. Bấm nút “Create function”.

4.Trong trang Lambda Function, thêm mã để lưu thông tin nhận được vào DynamoDB. Ví dụ:

const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB.DocumentClient();

exports.handler = async (event) => {
    const params = {
        TableName: 'your-table-name',
        Item: {
            'id': event.id,
            'name': event.name
        }
    };

    try {
        const data = await dynamoDB.put(params).promise();
        console.log(data);
    } catch (err) {
        console.log(err);
    }
};

5. Tạo một AWS IoT Rule để kích hoạt Lambda khi nhận được thông tin. Truy cập vào trang AWS IoT trên AWS Console và bấm nút “Create a rule”. Đặt tên cho quy tắc và chọn “Select a topic or topic filter” trong phần “Rule query statement”. Nhập chủ đề MQTT mà bạn muốn quy tắc này áp dụng (VD: “topic/test”). Trong phần “Set one or more actions”, chọn “Lambda” và chọn chức năng Lambda mà bạn đã tạo ở bước trước. Bấm nút “Create rule”.

Sau khi hoàn tất các bước trên, khi có thông tin được gửi đến chủ đề MQTT mà bạn đã chọn trong quy tắc AWS IoT, Lambda sẽ được kích hoạt và lưu thông tin đó vào bảng DynamoDB.