Ở bài trước, tụi mình đã tìm hiểu về khó khăn của việc lưu file, cùng những thứ hay ho của Azure Storage rồi.
Ở bài này, tụi mình sẽ cùng tìm hiểu về 2 dịch vụ chính để lưu file của Azure là: Azure Blob và Azure Files nha.
Bài viết này gồm 2 phần:
- Phần 1: Lưu trữ file có gì khó? Dùng Cloud được lợi gì?
- Phần 2: Tìm hiểu về Azure Blobs và Azure Files + Demo
Phân biệt Azure Blob và Azure Files
Bên AWS việc lưu trữ file khá là đơn giản, chỉ cần dùng Amazon S3, tạo bucket là xong. Bên Google Cloud cũng vậy, chỉ cần dùng Google Cloud Storage, tạo bucket rồi upload lên là được.
Bên Microsoft thì hơi bị lòng vòng hơn, vì ta có tận 2 service để lưu file mang tên Azure Blob và Azure File. Chưa kể, Microsoft còn quản lý lưu trữ thông qua Storage Account nữa.
Do đó, mình sẽ chia sẻ sơ về cách dùng các dịch vụ này nha:
- Storage Account: Trong Azure, việc lưu trữ file được quản lý theo Storage Account: Blob, File, Queue đều nằm chung 1 Service Account cả
- Azure Blob: Cho phép ta lưu file theo dạng blob, hỗ trợ streaming, random access, public access. Azure Blob không có khái niệm folder mà chỉ có container (folder), và blob (file)
- Azure File: Azure File là một dịch vụ mới hơn, cho phép ta lưu trữ, quản lý file dưới dạng folder/file. Azure File hỗ trợ giao thức SMB nên ta có thể mount file và hệ thống vào truy xuát luôn
Các bạn có thể tìm hiểu thêm về sự khác biệt tại đây:
- https://docs.microsoft.com/en-us/azure/storage/common/storage-decide-blobs-files-disks
- https://thuansoldier.net/6664
Nên dùng Azure Blob hay Azure File?
Có thể nói, chức năng của 2 thằng này cũng khá là tương tự nhau. Cả 2 thằng đều có thể truy cập thông qua RestAPI cả.
Azure File thì thường được dùng nếu ta muốn lưu trữ file nội bộ, share file cho cả team/công ty vì có thể mount vào máy được
Trong phần lớn trường hợp, khi làm ứng dụng web, cần lưu file của người dùng, hoặc của ứng dụng (ảnh, video), file cần access theo URL, ta thường sử dụng Azure Blob nhiều hơn.
Lý do đơn giản là vì:
- Blob có hỗ trợ streaming, Random Access file
- Blob cho phép ta dễ dàng share file cho public đọc
- Blob có nhiều library hỗ trợ nhiều ngôn ngữ lập trình hơn

Demo – Tạo bucket trên Azure Blob
Thôi lý thuyết đủ rồi nè, giờ tụi mình bắt đầu vào code, nhầm, … bắt đầu tạo Blob để truy cập thui nè. Các bạn tiếp tục đăng nhập vào Azure Portal rồi làm theo những bước sau nhe.
Bước 1. Tạo Storage Account
1. Bấm vào Storage Account bên trái, sau đó bấm “Create Storage Account” nhé
2. Điền thông tin để tạo storage account. Ở đây Microsoft hơi làm rối người dùng chút:
- Khi chọn Account Kind, các bạn có thể chọn là StorageV2 để có thể dùng cả File, Blob, Queue, Table.
- Hoặc nếu chỉ lưu trữ Blob thì có thể chọn là Blob Storgage không thôi
- Phần Access Tier mặc định là Hot, nhưng bạn có thể tùy chỉnh
- Nếu dữ liệu các bạn được truy cập nhiều thì hãy chọn hot.
- Nếu dữ liệu dung lượng lớn, nhưng ít được truy cập thì chọn Cool. Phí lưu trữ sẽ rẻ hơn, nhưng phí khi truy cập sẽ mắc hơn
4. Sau khi Storage Account đã được tạo xong, các bạn bấm Go to Resouce để vào Storage Account đó
Bước 2. Tạo và tải file lên Blob
- Tìm mục Blobs bên toolbar phía bên trái. Bấm vào nút Container để tạo container mới. Điền tên container rồi bấm OK.
2. Sau khi Container được tạo, các bạn vào Container đó, bấm Upload để chọn file up lên nha. Nếu muốn upload vào folder nào thì các bạn gõ tên vào mục Folder, folder đó sẽ được tạo lun.
3. Sau khi upload xong, các bạn có thể bấm vào File vừa được up để xem thông tin, lấy URL. Bấm nút xanh xanh để Copy URL
4. Để chạy thử, các bạn dán URL đó vào trình duyệt nhen. Thấy file tải được là OK rồi đó!

Đó, tới đây là bạn đã tạo được 1 blob và lưu file trên Azure thành công rồi đấy!
Sử dụng code để upload/download file
Phần này mình định viết, nhưng thui để các bạn tự mò, vì Azure hướng dẫn cũng khá chi tiết cho nhiều ngôn ngữ rùi nên mình không viết lại nha!
1. Các bạn vào Storage Account vừa tạo, dưới mục Tools and SDK, chọn ngôn ngữ mình thích
2. Làm theo hướng dẫn của Azure
3. Để có Connection String/Key, các bạn bấm vào Access Keys bên trái, copy vào code là được nha.
À quên, sau khi nghịch ngợm xong hết bạn nhớ xóa Storage Account vừa tạo để khỏi bị charge phí nha.
Tạm kết
Đấy, ở phần này, mình đã hướng dẫn các bạn về Azure Blob/Azure Files, cũng như cách sử dụng chúng trên Azure Portal rồi đấy!
Ở 2 phần sau, chúng ta sẽ tìm hiểu về Caching và Message Queue – 2 phần tử không thể thiếu của các hệ thống lớn nha. Sau đó sẽ đến phần cuối, kết hợp toàn bộ các thành phần trên Cloud của Azure để xây dựng 1 hệ thống hoàn chỉnh nè.
Các bạn nhớ kiên nhẫn đón xem nha!
Ngoài lề chút:
Anh có nghĩ là java sẽ hết thời ko
LikeLike
đặt gạch phần tiếp theo
LikeLike
cảm ơn anh nha, chờ phần tiếp theo của nó thôi.
LikeLike