Hướng dẫn Read and Write to DynamoDB using AWS Lambda
5th Oct 2022This video provides a tutorial on how to read and write to DynamoDB using AWS Lambda Functions.
Hàm Write
// Loads in the AWS SDK const AWS = require('aws-sdk'); // Creates the document client specifing the region // The tutorial's table is 'in us-east-1' const ddb = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'}); exports.handler = async (event, context, callback) => { // Captures the requestId from the context message const requestId = context.awsRequestId; // Handle promise fulfilled/rejected states await createMessage(requestId).then(() => { callback(null, { statusCode: 201, body: '', headers: { 'Access-Control-Allow-Origin' : '*' } }); }).catch((err) => { console.error(err) }) }; // Function createMessage // Writes message to DynamoDb table Message function createMessage(requestId) { const params = { TableName: 'Message', Item: { 'messageId' : requestId, 'message' : 'Hello from lambda' } } return ddb.put(params).promise(); }
Hàm Read
// Loads in the AWS SDK const AWS = require('aws-sdk'); // Creates the document client specifing the region // The tutorial's table is 'in us-east-1' const ddb = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'}); exports.handler = async (event, context, callback) => { // Handle promise fulfilled/rejected states await readMessage().then(data => { data.Items.forEach(function(item) { console.log(item.message) }); callback(null, { // If success return 200, and items statusCode: 200, body: data.Items, headers: { 'Access-Control-Allow-Origin': '*', }, }) }).catch((err) => { // If an error occurs write to the console console.error(err); }) }; // Function readMessage // Reads 10 messages from the DynamoDb table Message // Returns promise function readMessage() { const params = { TableName: 'Message', Limit: 10 } return ddb.scan(params).promise(); }
Bạn chưa biết Async là gì, bạn có thể tham khảo bài viết sau
-
Async / Await là một tính năng của JavaScript giúp chúng ta làm việc với các hàm bất đồng bộ theo cách thú vị hơn và dễ hiểu hơn. Nó được xây dựng trên Promises và tương thích với tất cả các Promise dựa trên API. Trong đó:
-
Async - khai báo một hàm bất đồng bộ (async function someName(){...}).
- Tự động biến đổi một hàm thông thường thành một Promise.
- Khi gọi tới hàm async nó sẽ xử lý mọi thứ và được trả về kết quả trong hàm của nó.
- Async cho phép sử dụng Await.
-
Await - tạm dừng việc thực hiện các hàm async. (Var result = await someAsyncCall ().
- Khi được đặt trước một Promise, nó sẽ đợi cho đến khi Promise kết thúc và trả về kết quả.
- Await chỉ làm việc với Promises, nó không hoạt động với callbacks.
- Await chỉ có thể được sử dụng bên trong các function async.
Add new comment