Tác giả: Micah Walter
Ngày xuất bản: ngày 24 tháng 04 năm 2025
Danh mục: Announcements, AWS AppSync, Featured, Launch, News
Hôm nay, chúng tôi công bố rằng AWS AppSync Events hiện đã hỗ trợ tích hợp nguồn dữ liệu cho các channel namespace, cho phép nhà phát triển xây dựng các ứng dụng thời gian thực tinh vi hơn. Với khả năng mới này, bạn có thể liên kết các hàm AWS Lambda các bảng, Amazon DynamoDB các cơ sở dữ liệu, Amazon Aurora và các Data Source khác với các handler của channel namespace. Nhờ AWS AppSync Events, bạn có thể xây dựng ứng dụng thời gian thực với các tính năng như xác thực dữ liệu, chuyển đổi sự kiện, và lưu trữ sự kiện lâu dài.
Với các khả năng mới, nhà phát triển có thể tạo ra luồng xử lý sự kiện tinh vi bằng cách chuyển đổi và lọc sự kiện qua Lambda hoặc lưu các lô sự kiện (batches of events) vào DynamoDB bằng các tiện ích xử lý theo lô mới trong AppSync_JS. Tích hợp này cho phép xây dựng các luồng tương tác phức tạp trong khi giảm thời gian phát triển và chi phí vận hành. Ví dụ, bạn giờ đây có thể lưu trữ sự kiện vào cơ sở dữ liệu một cách tự động mà không cần viết code tích hợp phức tạp.
Tìm hiểu tổng quan về tính năng tích hợp Data Source
Hãy cùng đi qua các bước thiết lập tích hợp nguồn dữ liệu bằng AWS Management Console. Đầu tiên, tôi truy cập vào AWS AppSync trên console và chọn Event API (hoặc tạo mới nếu chưa có).

Lưu trữ dữ liệu sự kiện vào DynamoDB
Có nhiều loại tích hợp nguồn dữ liệu để chọn. Trong ví dụ đầu tiên này, tôi sẽ tạo một bảng DynamoDB làm nguồn dữ liệu. Tôi truy cập DynamoDB trong console và tạo bảng mới tên là event-messages. Bảng chỉ cần một Partition Key là id . Sau đó tôi bấm Create table và chấp nhận cấu hình mặc định rồi quay lại AppSync.

Quay lại AppSync console, tôi vào lại Event API đã thiết lập, chọn tab Data Sources rồi bấm Create data source.

Tôi đặt tên cho nguồn dữ liệu, rồi chọn Amazon DynamoDB từ menu Data source. Cấu hình cho DynamoDB sẽ hiện ra.

Khi cấu hình đã xong, tôi tiến hành viết logic xử lý handler. Dưới đây là ví dụ Publish handler dùng để lưu sự kiện vào DynamoDB:
import * as ddb from '@aws-appsync/utils/dynamodb'
import { util } from '@aws-appsync/utils'
const TABLE = 'events-messages'
export const onPublish = {
request(ctx) {
const channel = ctx.info.channel.path
const timestamp = util.time.nowISO8601()
return ddb.batchPut({
tables: {
[TABLE]: ctx.events.map(({id, payload}) => ({
channel, id, timestamp, ...payload,
})),
},
})
},
response(ctx) {
return ctx.result.data[TABLE].map(({ id, ...payload }) => ({ id, payload }))
},
}
Để thêm mã handler, tôi chuyển đến tab Namespaces, nơi có một namespace mặc định tên là default đã được tạo sẵn. Tôi mở namespace mặc định và nhấn nút Add event handler bên dưới phần cấu hình.

Bấm Create event handlers mở ra một hộp thoại mới, tôi chọn Code with data source và chọn nguồn dữ liệu DynamoDB làm cấu hình cho publish.

Sau khi lưu handler, tôi có thể kiểm thử tích hợp này bằng công cụ test tích hợp sẵn trong console. Dữ liệu mặc định có thể giữ nguyên, như bạn thấy bên dưới, tôi đã ghi thành công 2 sự kiện vào bảng DynamoDB.

Dưới đây là tất cả các message đã được lưu trong DynamoDB!

Xử lý lỗi và bảo mật
Tính năng tích hợp nguồn dữ liệu mới đi kèm với khả năng xử lý lỗi toàn diện. Với các thao tác đồng bộ, bạn có thể trả về các thông báo lỗi cụ thể sẽ được ghi lại trong Amazon CloudWatch, đồng thời bảo vệ bảo mật bằng cách không tiết lộ thông tin backend nhạy cảm cho client. Đối với các kịch bản ủy quyền, bạn có thể triển khai logic xác thực tùy chỉnh bằng Lambda để kiểm soát quyền truy cập vào các channel hoặc loại message cụ thể.
Thông tin ra mắt
Tính năng tích hợp nguồn dữ liệu trong AWS AppSync Events hiện đã khả dụng tại tất cả các khu vực AWS hỗ trợ AppSync. Bạn có thể bắt đầu sử dụng tính năng mới này thông qua AWS AppSync Console, AWS command line interface (CLI), hoặc AWS SDKs. Không có chi phí phát sinh thêm cho việc sử dụng tính năng tích hợp Data Source – bạn chỉ trả phí cho các tài nguyên AWS cơ bản mà bạn sử dụng (như số lần gọi Lambda hoặc thao tác DynamoDB) và mức sử dụng hiện tại của AppSync Events.
Để tìm hiểu thêm về AWS AppSync Events và tích hợp nguồn dữ liệu, hãy truy cập AWS AppSync Events documentation và bắt đầu xây dựng các ứng dụng thời gian thực mạnh mẽ hơn ngay hôm nay.
Bạn thấy bài viết thế nào? Hãy dành 1 phút làm khảo sát 1 phút làm khảo sát tại đây!
(Khảo sát này được lưu trữ bởi một bên thứ ba. AWS sẽ xử lý thông tin của bạn theo Chính sách quyền riêng tư của AWS. AWS sẽ là bên sở hữu dữ liệu và không chia sẻ thông tin thu thập được với người trả lời khảo sát.)

Micah Walter
Micah Walter là Kiến trúc sư giải pháp cấp cao hỗ trợ khách hàng doanh nghiệp ở khu vực Thành phố New York và hơn thế nữa. Ông tư vấn cho các giám đốc điều hành, kỹ sư và kiến trúc sư ở mọi bước trên hành trình lên đám mây của họ, tập trung sâu vào tính bền vững và thiết kế thực tế. Trong thời gian rảnh rỗi, Micah thích hoạt động ngoài trời, chụp ảnh và đuổi theo các con xung quanh nhà.