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

060820_0850_YazlmGeliti1.png

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ı alt kısımda bulunan yorumlar alanını kullanarak 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

Yazı gezinmesi

Mobil sürümden çık