Azure Storage Services – Part 9:Storage Services REST API Reference

Makalemizin bu bölümünde sözü tekrardan Fatih Doğan’a bırakıyoruz.

————————————————————

Storage Servıces REST API Reference

Storage servislerinde kullanabileceğiniz REST API’ları, Blob,Table ve Queue servislerine programlanabilir bir şekilde erişebilmenizi sağlıyor. Sadece Azure üzerindeki Storage servisleri demediğimi fark etmişsinizdir umarım. Geliştirme yapıyorsanız ve uygulamanızı test edecekseniz, gerçek bir ortam ile değilde lokal bir alana kurabileceğiniz bir emulatör ile geliştirmeyi tercih edersiniz. Sözünü ettiğimiz REST API’larını Azure Storage Emulatör’ünde de kullanabiliyorsunuz.

Önceki makalelerde de bahsettiğimiz gibi RESTful bir API’dan bahsediyorsak, HTTP/HTTPS istek gönderebilen ve alabilen bütün uygulamaların bu özellikleri kullanabileceği anlamına geliyor. Tabi Azure Storage servislerine erişim sağlamak istiyorsanız öncelikli geçitinizin HTTPS olması sizin güvenliğiniz için daha iyi olacaktır.

Storage Hesabı

Storage servislerini kullanabilmeniz için bir storage hesabına ihtiyacınız var. Bu storage hesabı, kullanacağınız storage servislerinde authentication olarak kullanılıyor. Ayrıca storage servislerinin alan adına dikkat ettiğinizde, hesap adının servis yolu içerisinde kullanıldığını göreceksiniz.

Blob Servisi

Blob servisinin genel amacı dosyalamadır. Buraya dosya olarak nitelendirebileceğiniz her şeyi atabilirsiniz. Blob servisinde kullanacağınız iki adet özellik var ; Container ve Blob.

– Container’ı kısaca klasör olarak nitelendirebilirsiniz. İçerisinde sizin bloblarınızı bulundurur.

– Blob ise dosyanın kendisidir. Her blob bir container içerisinde olmalıdır. Containersız bir blob olmaz.

Bloblar ise kendi arasında ikiye ayrılıyor ; Block ve Page.

– Block bloblar üzerinde fazla değişiklik yapmayacağınız, depolama ya da streaming amaçlı dosyalar için optimize edilmiştir.

– Page bloblar, rastgele okuma ve yazma işlemlerine göre optimize edilmiş blob tipidir.

Container içerisinde yeniden bir container oluşturamıyorsunuz ama container içerisindeki bloblarınızı organize etmek için sanal bir hiyerarşi oluşturabiliyorsunuz. Örneğin “dosyalar” isimli bir containera, “videolar/kediler.mp4” adında bir blob yükleyebilirsiniz. Böylece dosyanıza sanki “dosyalar” altındaki “videolar” klasöründe tutuluyormuş gibi davranabiliyorsunuz.

64 MB’dan küçük bir block blobu, “Put Blob” özelliğini kullanarak yükleyebiliyorsunuz. Bundan daha büyük bir block blob yüklemek isterseniz “Put Block List” özelliği ile dosyanızı maksimum 4 MB olacak şekilde parçalara ayırarak yükleyip, bu blob grubuna tek bir blobmuş gibi davranabiliyorsunuz. Şu anda desteklenen maksimum block blob büyüklüğü ise 200 GB.

Page blobların böyle bir kısıtlaması yok. “Put Blob” ile maksimum 1 TB olacak şekilde page blobunuz oluşturuluyor. “Put Page” özelliği ile de içerisine verilerinizi yazdırabiliyorsunuz.

Bloblar “Get Blob” özelliği sayesinde okunabiliyor. Client isterse bütün blobu ya da belirli bir bölümünü okuma gibi işlemler yapabilir.

http://msdn.microsoft.com/en-us/library/azure/dd135733.aspx

Table Servisi

Table servisi, OData protokolünü implemente eden bir tablolama hizmetidir. Bu tablolar datayı entity olarak tutarlar. Entity ise belli başlı özellikleri ve bu özelliklere karşılık gelecek değerleri olan bir yapıdır – row olarak düşünebilirsiniz. Storage Table servisi içerisine depolanacak her entity, PartitionKey ve RowKey özelliklerini barındırmalıdır. PartitionKey sayesinde entity belirli bir bölgeye ayrılırken, RowKey sayesinde ise bölge içerisindeki entitylerin benzersizliği – unique olması sağlanır. Bu iki key birleştirilerek entitynin tablo içerisinde benzersizliği sağlanmış olur.

Table servisi, entitylerin tablo yapısına uyması kuralını uygulamaz. Geliştiriciler belli bir şema uygulamak isterlerse bunu geliştirme sırasında uygulayabilirler.

http://msdn.microsoft.com/en-us/library/azure/dd179363.aspx

Queue Servisi

Queue servisi ile uygulamalar arası mesajlaşma gereksinimlerinizi karşılayabilirsiniz. Queue servisinde kullacağınız iki adet özellik bulunuyor ; Queue ve Message

Bir storage hesabında farklı isimleri olması şartıyla sınırsız sayıda Queue açabilirsiniz. Her queue de sınırsız sayıda Message bulundurabiliyor. Bir mesajın maksimum büyüklüğü ise 64 KB olarak belirlenmiş. 2011-08-18 versiyonundan öncesinde ise 8KB olarak tanımlı.

Bir mesaj queuedan okunduktan sonra, okuyan kişinin bu mesajı silmesi beklenir. Mesaj okunduktan sonra belirli bir süre boyunca diğer dinleyicilere görünmez hale getirilir. Eğer belirlenen süre aşılırsa ve mesaj hala silinmemişse, diğer dinleyicilerin okuması için mesaj yeniden görünür hale getirilir.

http://msdn.microsoft.com/en-us/library/azure/dd179423.aspx

Bu makalemizde de Blob, Table ve Queue servislerinin genel yapısını ve geliştirme kısmında bilinmesi gereken yanlarını inceledik.

Daha detaylı bilgi için:

http://msdn.microsoft.com/en-us/library/azure/dd179355.aspx

Leave a Reply

Your email address will not be published. Required fields are marked *

+ 38 = 39