0
0
Lập trình
Admin Team
Admin Teamtechmely

Xây Dựng Hệ Thống Xử Lý Tập Tin Tự Động Trên Azure

Đăng vào 7 tháng trước

• 6 phút đọc

Chủ đề:

KungFuTech

🚀 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ế:

  1. Người dùng tải lên một tập tin vào Azure Blob Storage.
  2. Event Grid phát hiện việc tải lên và kích hoạt một sự kiện.
  3. Logic App điều phối quy trình làm việc.
  4. App Service xử lý tập tin với logic kinh doanh của bạn.
  5. 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

Đ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 Copy
{
  "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.

  1. Tạo một Logic App (Consumption).
  2. Thêm một trigger: Khi một yêu cầu HTTP được nhận.
  3. Phân tích payload JSON của Event Grid.
  4. Trích xuất chi tiết tập tin với hành động Compose.
  5. Gọi API của App Service bằng một hành động HTTP.
  6. 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-files nế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

  1. Tải lên một tập tin thử nghiệm vào input-files.
  2. Theo dõi Event Grid kích hoạt Logic App.
  3. Kiểm tra Log Stream của App Service để xem nhật ký xử lý.
  4. 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 Copy
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.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào