
📌 Giải đề: Xử lý timeout trong Azure Function bằng Azure Service Bus Queue
1. Phân tích yêu cầu bài toán
- Bạn có một HTTP-triggered Azure Function dùng để xử lý dữ liệu từ Azure Storage Blob.
- Vấn đề: App liên tục timeout sau 4 phút nhưng vẫn phải đảm bảo xử lý blob data thành công.
- Giải pháp được đề xuất: Gửi payload vào Azure Service Bus Queue để hàng đợi xử lý và trả về HTTP 200 ngay lập tức.
Câu hỏi: Cách này có giúp giải quyết vấn đề không?
2. Tại sao đây là một giải pháp đúng?
📌 Giới hạn của HTTP-triggered Azure Function
- Nếu chạy trên Consumption Plan, Azure Functions có timeout tối đa 5 phút.
- Nếu mất quá nhiều thời gian xử lý dữ liệu blob, HTTP request sẽ timeout, gây lỗi.
📌 Giải pháp sử dụng Azure Service Bus Queue
- Thay vì xử lý ngay trong HTTP request, ta đẩy dữ liệu vào Azure Service Bus Queue.
- Một Queue Triggered Azure Function sẽ lấy dữ liệu từ hàng đợi và xử lý async, không bị giới hạn thời gian.
- HTTP Function chỉ cần trả về HTTP 200 ngay lập tức, không phải chờ xử lý xong.
🛠️ Mô hình triển khai với Azure Service Bus Queue:
- HTTP request đến Function App.
- Function đẩy payload vào Service Bus Queue.
- Queue Trigger Function xử lý dữ liệu Blob mà không bị timeout.
- HTTP Function ngay lập tức trả về HTTP 200.
3. Đáp án chính xác
✅ Câu trả lời đúng là: A. Yes.
💡 Vì sao?
- Gửi dữ liệu vào Azure Service Bus Queue giúp tránh timeout.
- Queue Trigger Function có thể xử lý blob data mà không bị giới hạn thời gian.
- HTTP Function phản hồi ngay lập tức mà không bị chờ lâu.
🚀 Dùng Azure Service Bus Queue là giải pháp tối ưu để xử lý dữ liệu blob mà không gặp timeout! 🚀