Microsoft Graph Developer Proxy - MS Graph API'yi yerelde test etmek için proxy
(github.com/microsoftgraph)Microsoft 365 bulut hizmetleriyle ilgili uygulamalar geliştirmek ve bakımını yapmak zorunda olanlar için bir şekilde kaçınılmaz olan şey Microsoft Graph API'dir. Kısaca tanıtmak gerekirse, Microsoft'un sunduğu tüm bulut kaynaklarına birleşik erişim sağlayan RESTful bir API'dir. Microsoft, bu API'yi daha rahat kullanabilmek için bazı dillerde Graph SDK da sunuyor.
Sorun şu ki, bu API'yi kullanan bölümleri test etmek epey zordu. Bunu özellikle Graph API'de rate limit'e takılıp yanıtın 429 Too Many Requests olduğu durumlarda hissetmiştim. Graph SDK kullanıldığında throttling nedeniyle 429 yanıt kodu alındığında, yanıt başlığındaki Retry-After değerine göre otomatik yeniden deneme yapılıyor. Ancak bazı durumlarda yeniden denemeden hızlıca başarısız olmak ya da varsayılandan farklı bir politika uygulamak daha iyi olabiliyordu. Sorun, bu tür durumları geliştirme ortamında test etmenin düzgün bir yolu olmamasıydı; bu yüzden ilk ürünü dağıttıktan sonra ancak Graph SDK'nin istek yeniden deneme politikasını varsayılandan değiştirmek gerektiğini fark etmiş ve bunu sonraki sürümde düzeltmiştim.
Microsoft da bunun bir ölçüde farkındaydı; bu yüzden API istek URL'sine test429=true parametresi eklendiğinde 429 yanıt kodu durumunu mock eden bir özellik ekledi. Ancak bunun yalnızca SharePoint/OneDrive ile ilgili endpoint'lerde çalışması gibi bir sınırlaması vardı.
https://pnp.github.io/blog/post/…
Derken yılın başında sonunda sevindirici bir araç ortaya çıktı: Microsoft Graph Developer Proxy.
Graph API'den dönen çeşitli yanıt değerlerini mock edebilen, farklı hataları ya da throttling durumlarını kolayca yeniden üretebilen bir araç. Üstelik test edilen isteklerin yerel geliştirme ortamının dışına çıkmaması da cabası. Henüz geliştirme sürecinin başlarında olsa da, bu yıl içinde resmi sürümünün çıkacağı söyleniyor. En azından bu alanda çalışanlar için gerçekten çok kullanışlı bir aracın gelişi olmuş.
1 yorum
Bilgi olarak, bu araç çıkmadan önce de Graph API'de
429alınan durumu taklit etmenin hiçbir yolu yok değildi. Fiddler gibi araçları kullanmanın bir yolu vardı. Ancak oldukça kullanışsızdı.Yukarıda tanıtılan araç, README'ye göre geçen yılki (2022) hackathon yarışmasında Waldek Mastykarz adlı biri tarafından yapılmış. Bu kişinin daha eski (2018) blog yazısına bakıldığında, Fiddler ile SharePoint API'de
429alınan durumu nasıl simüle edeceğini anlattığını görüyoruz.https://blog.mastykarz.nl/simulating-throttling-sharepoint/