Azure Blob Storage .Net Örnek Uygulama

1
398

Merhabalar bugünkü yazımızda Azure Blob Storage servisinden bahsedeceğim. Uygulamalarımızdaki logları, test verilerimizi ve daha bir çok dosyayı özel veya public bir şekilde depolayabilmek için Blob Storage servisini kullanabilmekteyiz.

Genel Kullanım alanları verilerin depolanması ve tarayıcıda doğrudan bir şekilde aktarılması gibi alanlarda çokça kullanılır.İstenildiği durumda bu blob depoları herhangi bir kullanıcının ulaşabileceği bir alana yönlendirilip tarayıcıda görüntülenebilir.

Azure Blob Storage Hesabı Oluşturma

Bu işlem için Microsoft Azure hesabınız olması gerekmektedir. Aşağıdaki linkten ücretsiz olarak bir hesap edinebilirsiniz ya da varsa hesabınız devam edebilirsiniz.

https://azure.microsoft.com/tr-tr/free/

İlk adım olarak hesabı açtıktan sonra sol tarafta panelde bulunan “Create Resource” diyerek bir kaynak oluşturuyoruz. Ardından marketten Storage account – blob, file, table, queue seçiyoruz.

Arından karşımıza gelen ekranda gerekli yerleri storage name gibi alanları dolduruyoruz. Review and Create dedikten sonra All Resources kısmında artık storage depomuzu görebiliyoruz.

Burada manual olarak da container oluşturma ve dosya yükleme seçeneği var ancak bizim bunu otomatik yapmamız doğru olandır. O yüzden kalan kısmı .net ortamındaki bir örnek üzerinden devam edeceğim.

Storage Explorer

Bu uygulamayı aşağıdaki linkten indirebiliriz.

https://azure.microsoft.com/tr-tr/features/storage-explorer/

Burası da tıpkı portal gibi bize storagelarımızı control etmemizi sağlayan masaüstü bir uygulamadır. Avantajlı olarak portala bağlanmadan durumları görüntüleyebilmekteyiz. Ayrıca monitoring ile kontrol de sağlayabilimekteyiz.

Azure Blob Storage Uygulama

Burada ilk olarak bir tane .Net Console application oluşturuyoruz. Ardından projemize WindowsAzure.Storage paketini yüklüyoruz. Bu paket içerisindeki classları kullanarak depolarımıza ulaşıp upload download gibi işlemleri yapacağız

Install-Package Azure.Storage.Blobs -Version 12.4.0

Ardından metodlarımızı yazmaya başlıyoruz. Azure portal>Settings>AccessKeys dosyasının altından connection stringimizi alıyoruz. Bunu uygulamamızda bir stringe atıyoruz. Bu string değer bizim storage ile bağlantımızı sağlayacaktır.

Bunun ardından containerımızı oluşturuyoruz. Bu containerları klasör gibi de düşünebiliriz. Böylece birden fazla projenin klasörlerini ayrı ayrı depolayabilmekteyiz.

Ardından aşağıdaki gibi basit bir kod bloğu oluşturuyoruz. ExistsAsync komutu ile aynı isimde bir container var mı onu control edip ardından yoksa yeni bir tane oluşturuyoruz. Ardından log dosyamızı yani bizim txt dosyamızı oluşturup karşıya gönderiyoruz. Eğer aynı dosyanın içine tek tek yasmak istiyorsak da yine aynı isimle verdiğimiz konteynır altındaki dosyaya ekleyebiliriz. İşlem aslında bu kadar basit.

 CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
                 cloudBlobContainer = cloudBlobClient.GetContainerReference("berkaratcontainer");
                bool isExists = cloudBlobContainer.Exists();
                if (!isExists)
                {                     
await  CloudBlobContainer.CreateAsync();
                    Console.WriteLine($"Created container '{cloudBlobContainer.Name}'");
                }

Bu kod bloğuyla blob tipinde yetkilendirme verdik.

Container adını verirken dikkat etmemiz gereken şey küçük harfler kullanmaktır aksi taktirde exceptiona düşmektedir.Burada upload download  ve delete kodlarını paylaşıyorum. İsteğe bağlı olarak yeni farklı dosya tipleri de eklenebilmektedir. Bunu örnek uygulamanın git linkinden indirip test edebilirsiniz.

Git Linkihttps://github.com/berkarat/AzureBlobStorage

1 Yorum

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.