1. Ana Sayfa
  2. Microsoft Azure
  3. Yazılım Geliştiriciler için Azure: Azure API Management – Bölüm 6 (Outbound Policy ve Caching)

Yazılım Geliştiriciler için Azure: Azure API Management – Bölüm 6 (Outbound Policy ve Caching)

060820_0850_YazlmGeliti1.png
Ruijie Teknoloji Günü

5. bölümde
Inbound processing‘e policy’ler eklemiştim. Bu bölümde ise Outbound processing üzerinde neler yapabiliyoruz bakalım. Özellikle web servislerin en büyük sorunlarından biri de response content tip değişimi yani XML’den JSON’a ya da henüz karşılaşmamış olsam da JSON’dan XML’e çevirmektir. Bunun için kod tarafında çok da küçük sayılmayacak değişikliler yapmamız gerekebilir. Azure API Management (APIM) üzerinde ise bu Resim-1‘de göreceğiniz üzere tek satırlık bir XML tag’i eklemem yeterli.

Resim-1

Postman ile tekrar istek gönderdiğimde ise Resim-2‘de göreceğiniz gibi artık JSON yerine XML olarak sonuç alıyorum.

Resim-2

APIM üzerine çok kullanılan özelliklere ait policy’ler tanımladım, ama bir policy var ki bahsetmeden geçmek istemiyorum: Cache. APIM’de kendi cache özelliğini kullanabileceğiniz gibi, harici olarak Redis Cache de tanımayabiliyoruz. Bunun için Azure üzerinde bir Redis Cache oluşturarak başlıyorum. Pricing tier olarak demo amaçlı olduğu için Basic C0 yani 250 MB’lık bir cache yeterli olacaktır (Resim-3).

Resim-3

Redis Cache’i oluşturduktan sonra Settings/Access Keys altında yer alan Primary connection string (StackExchange.Redis) değerini kopyalıyorum (Resim-4).

Resim-4

Şimdi sırada oluşturduğum Redis Cache’i APIM’e ekleme kısmı var. Bunun için APIM üzerinde Deployment and infrastructure/External cache ekranından Resim-5‘te göreceğiniz gibi bir önceki adımda kopyaladığım Primary connection string (StackExchange.Redis) değerini ekliyorum ve kaydediyorum.

Resim-5

External cache tanımladıktan sonra şimdi de ilgili policy’yi tanımlayacağım. Resim-6‘da göreceğiniz gibi inbound
policy olarak cache lookup ekliyorum, caching-type değerini de external olarak yazıyorum. Burada prefer-external, external ya da internal seçeneklerini de kullanabilirsiniz. Ayrıca bu örnekte developer (subscription key’e göre) ve developer groups’a (user group) göre cache response’larını başlatmayı false, authorization header’a göre ise true olarak belirledim. Outbound policy‘de ise cache-store süresini 20 saniye olarak ekliyorum. Burada dikkatinizi çekmiştir <base /> ‘den önce ekledim.

Resim-6

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-gb/azure/api-management/

https://docs.microsoft.com/en-gb/azure/azure-cache-for-redis/

https://conferenceapi.azurewebsites.net/?format=json

TAGs: Azure, Azure Portal, Yazılım Geliştiriciler için Azure, API, API Management, API, Application Programming Interface, Policy, Demo Conference API, cache, external cache, Redis, Redis Cache, StackExchange.Redis

Ruijie Teknoloji Günü
Yorum Yap

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yorum Yap