🚀 Xây Dựng Hệ Thống Xử Lý Tập Tin Tự Động Trên Azure
Quản lý việc tải lên tập tin và quy trình xử lý hậu kỳ thường yêu cầu các kịch bản tùy chỉnh, giám sát thủ công và các quy trình phức tạp. Tuy nhiên, với Microsoft Azure, bạn có thể xây dựng một hệ thống xử lý tập tin tự động hoàn toàn, dựa trên sự kiện—tất cả thông qua Azure Portal. Không cần công cụ dòng lệnh, không cần lập trình phức tạp ngoài thiết lập tối thiểu.
Hướng dẫn này sẽ hướng dẫn bạn từng bước để tạo ra một quy trình làm việc liền mạch, nơi việc tải lên một tập tin sẽ tự động kích hoạt các hành động xử lý, lưu trữ và dọn dẹp.
🌟 Nội Dung Bạn Sẽ Xây Dựng
Tổng Quan Quy Trình:
Tải Tập Tin → Blob Storage → Event Grid → Logic App → App Service → Automation Account
Dưới đây là cách thức hoạt động trong thực tế:
- Người dùng tải lên một tập tin vào Azure Blob Storage.
- Event Grid phát hiện việc tải lên và kích hoạt một sự kiện.
- Logic App điều phối quy trình làm việc.
- App Service xử lý tập tin với logic kinh doanh của bạn.
- Automation Account lưu trữ và dọn dẹp các tập tin đã xử lý.
Kiến trúc này tự động mở rộng, có tích hợp giám sát và chỉ tính phí cho những gì bạn sử dụng.
✅ Điều Kiện Tiên Quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Một tài khoản Azure đang hoạt động
- Quyền Contributor để tạo tài nguyên
- Trình duyệt hiện đại (Edge, Chrome hoặc Firefox)
- Một tập tin thử nghiệm (bất kỳ văn bản, hình ảnh hoặc tài liệu nào)
Phần 1: Thiết Lập Cơ Bản
1. Tạo Nhóm Tài Nguyên
- Trong Azure Portal, tạo một Nhóm Tài Nguyên mới:
- Tên:
rg-workflow-demo - Vùng: Vùng Azure gần nhất của bạn
- Tên:
Điều này giúp tổ chức tất cả các thành phần.
2. Tạo Tài Khoản Lưu Trữ
Tài khoản lưu trữ lưu trữ các tập tin đã tải lên và phát ra sự kiện khi có tập tin mới.
- Tên:
stworkflowdemo123456(sử dụng số ngẫu nhiên để đảm bảo tính duy nhất) - Độ tin cậy: LRS
- Chuyển dữ liệu an toàn: Bật
- Truy cập công khai: Riêng tư
Sau đó, tạo một container bên trong nó:
- Tên:
input-files - Truy cập công khai: Riêng tư
Phần 2: Xây Dựng Bộ Xử Lý
1. Kế Hoạch Dịch Vụ Ứng Dụng
Tạo một Kế Hoạch Dịch Vụ Ứng Dụng để lưu trữ logic xử lý tập tin của bạn.
- Tên:
asp-workflow-demo - Hệ điều hành: Linux
- Tầng giá: B1 Cơ Bản
2. Ứng Dụng Web
Tạo một Ứng Dụng Web trên kế hoạch đó.
- Tên:
app-workflow-processor-123456 - Runtime: Node.js 18 LTS
3. Triển Khai Logic Xử Lý
Thông qua Kudu (Công Cụ Nâng Cao) hoặc Trình Soạn Thảo Dịch Vụ Ứng Dụng, tạo hai tệp:
package.json
json
{
"name": "azure-file-processor",
"version": "1.0.0",
"main": "app.js",
"scripts": { "start": "node app.js" },
"dependencies": {
"express": "^4.18.2",
"@azure/storage-blob": "^12.17.0"
}
}
app.js → chứa logic xử lý của bạn (ví dụ: đọc siêu dữ liệu blob).
Chạy npm install trong console.
Thêm một Cài Đặt Ứng Dụng cho chuỗi kết nối lưu trữ của bạn:
- Khóa:
STORAGE_CONNECTION_STRING - Giá trị: [Chuỗi kết nối lưu trữ của bạn]
Phần 3: Điều Phối Với Logic Apps
Logic App điều phối quy trình làm việc.
- Tạo một Logic App (Consumption).
- Thêm một trigger: Khi một yêu cầu HTTP được nhận.
- Phân tích payload JSON của Event Grid.
- Trích xuất chi tiết tập tin với hành động Compose.
- Gọi API của App Service bằng một hành động HTTP.
- Thêm một Điều Kiện để kiểm tra xem việc xử lý có thành công hay không.
Phần 4: Tự Động Hóa Sau Xử Lý
Tạo một Tài Khoản Tự Động Hóa để lưu trữ và dọn dẹp.
Runbook: Lưu Trữ Tập Tin
Tạo một PowerShell Runbook mà:
- Kết nối qua Managed Identity
- Tạo một container
processed-filesnếu chưa có - Sao chép tập tin vào đó với tên có dấu thời gian
Ví dụ tập tin lưu trữ: 20250911_213000_myfile.txt
Phần 5: Bảo Mật & Quyền Truy Cập
- Logic App → Tài Khoản Lưu Trữ: Gán quyền Storage Blob Data Reader
- Tài Khoản Tự Động Hóa → Tài Khoản Lưu Trữ: Gán quyền Storage Blob Data Contributor
- Logic App → Tài Khoản Tự Động Hóa: Gán quyền Automation Contributor
Bật Managed Identity được gán cho hệ thống trên cả Logic App và Tài Khoản Tự Động Hóa.
Phần 6: Tích Hợp Event Grid
Cuối cùng, kết nối trigger:
- Nguồn sự kiện: Blob Được Tạo trong
input-files - Sơ đồ sự kiện: Sơ đồ Event Grid
- Điểm cuối: Logic App HTTP POST URL
Phần 7: Kiểm Tra Quy Trình Làm Việc
- Tải lên một tập tin thử nghiệm vào
input-files. - Theo dõi Event Grid kích hoạt Logic App.
- Kiểm tra Log Stream của App Service để xem nhật ký xử lý.
- Xác minh Runbook Tự Động Hóa đã tạo một bản sao lưu trữ trong
processed-files.
Kết Quả Mong Đợi:
- Tập tin được tải lên → tự động được xử lý → được lưu trữ với dấu thời gian.
🔎 Mẹo Khắc Phục Sự Cố
- Logic App không được kích hoạt? Kiểm tra trạng thái đăng ký sự kiện.
- Lỗi App Service? Xem lại Log Stream và xác minh chuỗi kết nối.
- Lỗi Tự Động Hóa? Xác nhận các quyền đã gán & các module đã nhập.
- Lỗi quyền? Chờ 5–10 phút sau khi gán quyền.
💡 Lợi Ích Của Kiến Trúc Này
- Không Cần Lập Trình → Tất cả thông qua Azure Portal
- Hoàn Toàn Tự Động → Không cần can thiệp thủ công
- Có Thể Mở Rộng → Xử lý tải lên đơn lẻ hoặc hàng loạt
- An Toàn → Thực thể quản lý, không có bí mật
- Chi Phí Hiệu Quả → Giá tính theo mức sử dụng
- Được Giám Sát → Tính minh bạch hoàn toàn trong Azure Portal
💰 Cân Nhắc Chi Phí (100 tập tin/tháng)
- Logic Apps: ~\$5–15
- App Service B1: ~\$13
- Lưu trữ: ~\$2–10
- Tự Động Hóa: 500 phút đầu tiên miễn phí
- Event Grid: 100K hoạt động đầu tiên miễn phí
👉 Sử dụng tầng App Service miễn phí trong quá trình phát triển.
Bước Tiếp Theo: Mở Rộng Ngoài Portal
Khi đã quen thuộc với portal, hãy khám phá Cơ sở Hạ Tầng dưới dạng Mã với:
- Azure CLI → Tự động triển khai
- ARM/Bicep → Cung cấp dựa trên mẫu
- Terraform → Tự động hóa không phụ thuộc vào đám mây
- CI/CD Pipelines → Triển khai liên tục
Ví dụ lệnh:
bash
az storage blob upload --account-name stworkflowdemo123456 \
--container-name input-files \
--name test.txt --file ./test.txt
🎯 Kết Luận
Với chỉ Azure Portal, bạn đã xây dựng một dây chuyền xử lý tập tin tự động, dựa trên sự kiện sẵn sàng cho sản xuất. Từ việc tải tập tin đến lưu trữ tự động, mọi bước đều diễn ra một cách liền mạch mà không cần nỗ lực thủ công.
Nền tảng này hoàn hảo cho việc học tập, thử nghiệm và mở rộng thành các giải pháp cấp doanh nghiệp với Cơ sở Hạ Tầng dưới dạng Mã.
Quy trình làm việc của bạn trên Azure hiện đã sẵn sàng để xử lý các kịch bản xử lý tập tin trong thế giới thực—an toàn, hiệu quả và tự động.