Azure Storage راه حل مدرن ذخیره سازی مایکروسافت است. اگر تکنیکهای ذخیرهسازی قبلی را با سرویسهای ذخیرهسازی Azure مقایسه کنید، تفاوتهای زیادی در امنیت، در دسترس بودن و دسترسی خواهید یافت.
در اینجا، ما تمام این مزایای ذخیره سازی Azure را مورد بحث قرار خواهیم داد و روی سرویس Blob Storage کار خواهیم کرد.
- بادوام و بسیار در دسترس
داده های شما در سرویس Azure در مرکز داده های جغرافیایی توزیع می شود و در صورت بروز هرگونه مشکل سیستم، نرم افزار یا سخت افزار در دسترس کاربران قرار می گیرد. این افزونگی تضمین می کند که داده ها ایمن هستند و حتی در صورت بروز فاجعه قابل دسترسی هستند. - امن
تمام داده های نوشته شده در ذخیره سازی Azure توسط سرویس ها رمزگذاری شده است. - بسیار مقیاس پذیر
شما می توانید بر اساس نیاز خود به صورت افقی یا عمودی بزرگ شوید. - داده های قابل دسترسی
در ذخیره سازی Azure را می توان از همه جای دنیا با استفاده از پروتکل HTTP یا HTTPS در دسترس قرار داد. مایکروسافت SDK هایی را برای Azure Storage به زبان های مختلف ارائه می کند.
به طور عمده 4 نوع سرویس ذخیره سازی استاندارد در Azure وجود دارد،
- لکه
- جدول
- صف ها
- ذخیره سازی فایل
در اینجا در این جلسه با blob storage کار خواهیم کرد.
- ذخیره سازی Blob عمدتاً برای ذخیره حجم عظیمی از داده های بدون ساختار مانند متن یا داده های باینری است.
- ذخیره سازی Blob ایده آل برای تصاویر، صدا، ویدئو و غیره است.
- همچنین برای پخش صدا و تصویر استفاده می شود.
- همچنین می توانید فایل های پشتیبان را ذخیره کنید.
- با استفاده از پروتکل HTTP یا HTTPS می توان به اشیاء موجود در لکه از هر کجای دنیا دسترسی داشت.
- داده های Blob در یک ظرف ذخیره می شوند، بنابراین می توانیم از تعداد زیادی کانتینر برای ذخیره تعداد زیادی از داده های حباب استفاده کنیم. یک کانتینر امنیت دنیای بیرون را برای محافظت از داده های ما فراهم می کند.
اکنون، بیایید کار با ذخیرهسازی Azure Blob را شروع کنیم. برای شروع کار با Blob، باید یک حساب ذخیره سازی مانند این ایجاد کنیم.
- ابتدا به Azure Portal خود بروید و با اطلاعات کاربری خود وارد شوید.
- حساب ذخیره سازی را در پورتال جستجو کنید.
اکنون مانند تصویر زیر یک حساب ذخیره سازی ایجاد کنید.
در اینجا برای ایجاد حساب کاربری به جزئیات زیر نیاز داریم.
- نام
نام باید منحصر به فرد و همیشه با حروف کوچک باشد. - DeploymentModel
برای مدل منابع همیشه Resource Manager (برای برنامه های جدید) را انتخاب کنید. - نوع حساب
- حساب GPV1 با هدف عمومی V1 (GPV1) دسترسی به تمام سرویس های ذخیره سازی Azure را فراهم می کند اما ممکن است آخرین ویژگی ها را نداشته باشد.
ذخیره سازی Ex
Cool در GPV1 پشتیبانی نمی شود. - General Purpose V2 (GPV2)
از آخرین ویژگی های BLOB، FILE، QUEUE و Tables پشتیبانی می کند، از همه API های پشتیبانی شده در GPV1.I پشتیبانی می کند و از حساب های داغ و جالب پشتیبانی می کند. - BLOB از تمام ویژگی های بلوک blob مانند GPV2 پشتیبانی می کند.
- Replication
ما LRS\ZRS\GRS داریم - سلسله مراتب به این صورت خواهد بود.
- ذخیرهسازی اضافی محلی (LRS)
- 3 بار در یک مرکز داده در یک منطقه واحد که در آن حساب ذخیره سازی ایجاد می شود، تکرار می شود.
- از داده های شما در برابر خرابی سخت افزار سرور محافظت می کند.
- این فقط در یک حساب ذخیره سازی ممتاز در دسترس است.
- ذخیره سازی زائد منطقه (ZRS)
- 3 کپی از داده های خود را در 2-3 در 2-3 منطقه تکرار کنید.
- ZRS بعد از سال 2014 در Azure اضافه شد.
- GEO-REDUNDENT STORGE (GRS)
- GRS 6 کپی از داده های شما را حفظ می کند و داده ها در مناطق تکثیر می شوند.
سطح دسترسی
- داغ: ذخیره سازی داغ هزینه ذخیره سازی بالاتری نسبت به ذخیره سازی سرد دارد، اما کمترین هزینه دسترسی را دارد.
- خنک: لایه ذخیره سازی خنک در مقایسه با ذخیره سازی داغ هزینه های ذخیره سازی کمتر و هزینه دسترسی بالاتری دارد.
هنگامی که یک حساب کاربری ایجاد کردید، سپس باید یک کانتینر ایجاد کنید. در اینجا نحوه ایجاد یک ظرف آورده شده است.
پس از آماده شدن کانتینر، می توانید فایل های خود را به صورت blob آپلود کنید.
حالا بیایید یک برنامه MVC ایجاد کنیم و فایل های تصویری را در Blob ذخیره کنیم.
این نمای MVC من است،
- @{
- ViewBag.Title = "Home Page";
- }
- <script src="~/Scripts/jquery-1.10.2.min.js"></script>
- <script type="text/javascript">
- function show(input) {
- if (input.files && input.files[0]) {
- var filerdr = new FileReader();
- filerdr.onload = function (e) {
- $('#user_img').attr('src', e.target.result);
- }
- filerdr.readAsDataURL(input.files[0]);
- }
- }
- </script>
- <div class="jumbotron">
- @using (Html.BeginForm("Index", "Home", FormMethod.Post, new
- {
- enctype = "multipart/form-data"
- }))
- {
- <div class="form-group">
- <div class="col-md-10">
- <label>Upload Your Image</label>
- </div>
- <br />
- <img id = "user_img" height = "300" width = "500" style = "border:solid" / >
- <br />
- <div class="col-md-10">
- <input type="file" name="image" accept="image/*" class="form-control fileupload" onchange="show(this)" />
- </div>
- <div class="col-md-10">
- <input type="submit" title="save" />
- </div>
- </div>
- <div>
- </div>
- }
- </div>
حالا به کانتینر پورتال رفته و رشته اتصال را کپی کرده و در web.config به صورت زیر قرار دهید.
اکنون رشته اتصال را کپی کرده و به صورت زیر در Web.config قرار دهید.
- <connectionStrings>
- <add name="StorageConnectionString" connectionString="DefaultEndpointsProtocol=https;AccountName=myazurecontainer;AccountKey=cc1tX3yX9KrlyflrsZDzd4OGSrELk7D+aJP6ntaJokUPD6v1xAIw==;EndpointSuffix=core.windows.net" />
- </connectionStrings>