Supabase Edge Functions là gì và tại sao nó hữu ích cho tự động hóa?
Supabase Edge Functions là một tính năng cho phép bạn chạy code backend trên mạng CDN toàn cầu của Supabase. Khác với các serverless functions truyền thống, Edge Functions được thực thi ở vị trí gần người dùng nhất, giúp giảm độ trễ và tăng tốc độ phản hồi. Điều này đặc biệt phù hợp cho các tác vụ tự động hóa cần phản hồi nhanh và có thể mở rộng quy mô dễ dàng.
Khi nói đến workflow automation, chúng ta thường nghĩ đến các tác vụ lặp đi lặp lại: gửi email xác nhận, cập nhật trạng thái đơn hàng, hoặc xóa dữ liệu cũ. Edge Functions giúp bạn xử lý các tác vụ này một cách nhanh chóng, bất kể người dùng ở đâu, mà không cần phải quản lý server riêng.
Các trường hợp sử dụng thực tế
Tự động gửi email xác nhận khi có dữ liệu mới
Một trong những workflow phổ biến nhất là gửi email khi người dùng đăng ký hoặc khi có đơn hàng mới. Với Edge Functions, bạn có thể lắng nghe sự kiện insert vào bảng users hoặc orders, sau đó kích hoạt gửi email qua dịch vụ như Resend hoặc SendGrid.
import { serve } from 'https://deno.land/x/surf/mod.ts'
import { resend } from 'https://deno.land/x/resend/mod.ts'
const res = resend('YOUR_API_KEY')
serve(async () => {
await res.sendEmail({
from: { email: '[email protected]', name: 'Company' },
to: [{ email: '[email protected]' }],
subject: 'Welcome!',
html: '<p>Cảm ơn bạn đã đăng ký.</p>'
})
return new Response('Email sent')
})
Đồng bộ dữ liệu giữa các service
Khi bạn có nhiều hệ thống khác nhau, việc giữ dữ liệu đồng bộ là rất quan trọng. Edge Functions có thể lắng nghe sự kiện thay đổi trên Supabase và cập nhật sang các hệ thống khác như CRM, ERP, hoặc hệ thống thanh toán.
Ví dụ, khi trạng thái đơn hàng thay đổi từ “pending” sang “shipped”, bạn có thể tự động cập nhật trạng thái trên nền tảng vận chuyển.
Làm sạch dữ liệu định kỳ
Một workflow hữu ích khác là tự động xóa hoặc ẩn dữ liệu cũ để tiết kiệm không gian lưu trữ và tuân thủ quy định bảo mật. Bạn có thể thiết lập Edge Functions chạy theo lịch trình (cron job) để tìm và xóa các bản ghi đã hết hạn.
Cách bắt đầu với Supabase Edge Functions
Bước 1: Cài đặt môi trường
Đảm bảo bạn đã cài đặt Supabase CLI và đăng nhập vào dự án của mình. Bạn cũng cần có một dự án Supabase đã được tạo.
Bước 2: Tạo function
Sử dụng CLI để tạo một function mới:
supabase functions new send-email