Azure Blob Storage چیست؟
سرویس ذخیرهسازی دادههای غیرساختیافته (Unstructured Data) در Azure، مثل تصاویر، ویدئو و بکاپ.
چرا مهم است؟
برای ذخیره فایل در پروژههای واقعی، Blob Storage بهجای Database استفاده میشود چون هزینه کمتر، مقیاسپذیری بالاتر و عملکرد بهتری برای فایلهای بزرگ دارد.
Azure Blob Storage
سرویس ذخیرهسازی دادههای غیرساختیافته (Unstructured Data) در Azure برای فایلهایی مثل تصاویر، ویدئوها و بکاپها.
مفاهیم کلیدی
- Blob (Binary Large Object) — فایلی که در Azure Blob Storage ذخیره میشود (مثال:
image.jpg،video.mp4،backup.zip). - Storage Account — ظرف اصلی برای مدیریت Blobها؛ هر Blob Storage داخل یک Storage Account قرار دارد.
- Container — مشابه Folder؛ داخل آن Blobها نگهداری میشوند.
Storage Account
└── images (Container)
├── logo.jpg
└── banner.jpg
انواع Blob
Block Blob — رایجترین نوع؛ مناسب تصاویر، فایلهای متنی، ویدئو، فایلهای عمومی؛ امکان Upload بهصورت قطعهای (Chunk). Append Blob — مناسب دادههایی که فقط اضافه میشوند (Log File، Event Data). Page Blob — برای دسترسی تصادفی به دادهها؛ کاربرد اصلی: Virtual Machine Disk (VHD).
Storage Tierها (برای مدیریت هزینه)
Hot (دسترسی زیاد، هزینه بیشتر) · Cool (دسترسی کمتر، هزینه کمتر) · Archive (نگهداری طولانیمدت، دسترسی بسیار کم، بازیابی زمانبر)
استفاده در ASP.NET Core
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
BlobContainerClient containerClient = blobServiceClient.GetBlobContainerClient("images");
BlobClient blobClient = containerClient.GetBlobClient("profile.jpg");
await blobClient.UploadAsync(stream);
مزایا
مقیاسپذیری بسیار بالا · دسترسی از هر نقطه · امنیت با Azure AD و Shared Access Signature (SAS) · مدیریت Lifecycle برای انتقال خودکار فایلها بین Tierها · مناسب برای Cloud Native Applicationها
نکات مهم
تفاوت Blob Storage با File Storage؟ Blob Storage: ذخیره Object-based، مناسب فایلهای بزرگ و غیرساختیافته، دسترسی از طریق HTTP API. Azure File Storage: شبیه File Share سنتی، پشتیبانی از پروتکل SMB.
SAS Token چیست؟ Tokenی که دسترسی محدود برای مدت مشخصی به یک Blob میدهد: به چه کسی دسترسی دارد، چه عملیاتی مجاز است (Read/Write/Delete)، چه زمانی منقضی شود.
چگونه فایلهای قدیمی مدیریت میشوند؟
با استفاده از Blob Lifecycle Management؛ مثلاً: بعد از ۳۰ روز → انتقال به Cool، بعد از ۱۸۰ روز → انتقال به Archive، بعد از ۱ سال → حذف.
نکته کلیدی: Blob Storage برای ذخیره فایل بهجای Database استفاده میشود چون هزینه، عملکرد و مقیاسپذیری بهتری دارد؛ Connection String بهتر است در Azure Key Vault، Managed Identity یا Environment Variable نگهداری شود، نه داخل کد.
خلاصه
- Azure Blob Storage برای نگهداری دادههای غیرساختیافته مثل تصویر، ویدئو و بکاپ استفاده میشود.
- Storage Account → Container → Blob ساختار سلسلهمراتبی ذخیرهسازی است.
- Storage Tierها (Hot/Cool/Archive) و Lifecycle Management هزینه نگهداری فایل را بهینه میکنند.
