Supabase Edge Functions là gì và tại sao nên dùng?
Supabase Edge Functions là một giải pháp serverless cho phép bạn chạy code backend ở các vị trí địa lý gần người dùng nhất. Điểm khác biệt so với các dịch vụ serverless khác là Edge Functions được triển khai trên mạng lưới CDN toàn cầu, giúp giảm độ trễ và tăng tốc độ phản hồi. Với Supabase, bạn có thể viết Edge Functions bằng TypeScript hoặc JavaScript, rồi deploy trực tiếp từ dashboard hoặc CLI.
Lợi ích rõ ràng nhất là bạn không cần quản lý server, tự động scale theo nhu cầu, và tích hợp mượt mà với database và authentication của Supabase. Điều này rất phù hợp để xây dựng API nhỏ gọn, webhook, hoặc các tác vụ cần xử lý nhanh ở biên mạng.
Các khái niệm cơ bản cần nắm
Mỗi Edge Function là một file TypeScript/JavaScript trong thư mục supabase/functions/. Bạn export một hàm handler nhận vào Request và Env object, trả về Response. Supabase tự động build và deploy khi bạn chạy lệnh supabase functions deploy.
Các biến môi trường (environment variables) được quản lý qua supabase.functions.config(), giúp bạn lưu trữ secret một cách an toàn. Ngoài ra, bạn có thể import các module từ npm, nhưng cần lưu ý giới hạn kích thước bundle để đảm bảo tốc độ.
Cài đặt và thiết lập dự án
Để bắt đầu, bạn cần cài đặt CLI của Supabase:
npm install -g supabaseSau đó, khởi tạo project nếu chưa có:
supabase init