Alıştırma - Mevcut API'ye başka bir Azure İşlevleri uygulaması ekleme
Azure İşlevleri ayrı mikro hizmetlerin tümünü tek bir API'de tümleştirmek istediğinizi unutmayın. Products işlev uygulamasını yeni bir API Management örneğine eklediniz. Şimdi bu API'ye başka bir işlev uygulaması eklemek istiyorsunuz.
Bu alıştırmada, Orders işlev uygulamasını API'ye ekleyecek ve aracı kullanarak curl
tümleşik sistemi test edin.
OrderDetails işlevini test etme
Orders işlev uygulamasını API'ye eklemeden önce, barındırıcısı olan OrderDetails işlevini test edelim.
Azure kaynak menüsünde veya Giriş sayfasında Tüm kaynaklar'ı seçin. Tüm kaynaklar bölmesi görüntülenir.
Kaynakları Türe göre sıralayın ve ardından adı OrderFunction ile başlayan İşlev Uygulamasını seçin. OrderFunction İşlev Uygulaması'nın Genel Bakış bölmesi görüntülenir.
İşlev uygulamanızın işlevler listesinden OrderDetails'i seçin. OrderDetails İşlevi Genel Bakış bölmesi görüntülenir.
Sipariş Ayrıntıları menüsünde, Geliştirici'nin altında Kod + Test'i seçin. OrderDetails işlevinin Kod + Test bölmesi görüntülenir ve dosyanın içeriği
function.json
gösterilir.Komut çubuğunda Test/Çalıştır'ı seçin. OrderDetails işlevinizin Giriş parametreleri sekmesi görüntülenir.
HTTP yöntemi alanında açılan listeden GET'i seçin ve sorgu altında Parametre ekle'yi seçin ve Ad alanına ad girin ve Değer alanına Chiba (değer büyük/küçük harfe duyarlıdır) yazın ve çalıştır'ı seçin.
Bir günlük konsolu açılır ve isteğin durumunu görüntüler. Çıkış sekmesinde HTTP yanıt kodu ve içeriği JSON biçiminde görüntülenir.
İsteğe bağlı olarak, farklı müşteri siparişlerini almak için Henri ve Barriclough ad değerlerini kullanarak daha fazla istek çalıştırabilirsiniz.
Test/Çalıştırma için Giriş Çıkışı sekmelerini kapatmak için Kapat'ı seçin.
OrderDetails bölmesinin komut çubuğunda İşlev URL'sini al'ı seçin. URL’nin, azurewebsites.net etki alanının içindeki işlevin adı olduğunu görebilirsiniz.
Mevcut API'ye işlev ekleme
Bu adımda, önceki alıştırmada oluşturduğumuz API Management kaynağına Order işlevini ekleyeceğiz. Bu alıştırmada, işlev uygulaması arabiriminin içinden API Management arabirimini kullandık. Burada, her iki yaklaşımın da kullanılabilir olduğunu göstermek için Azure portalı kaynak menüsü aracılığıyla API Management örneğimize gideriz.
Azure kaynak menüsünde veya Giriş sayfasında Tüm kaynaklar'ı seçin. Tüm kaynaklar bölmesi görüntülenir.
Kaynakları Türe göre sıralayın ve ardından OnlineStore API Management hizmetini seçin. OnlineStore için API Management hizmeti görüntülenir.
Menüde, API'ler'in altında API'ler'i seçin. API'ler bölmesinde yeni API tanımlama seçenekleri gösterilir.
Azure kaynağından oluştur'un altında İşlev Uygulaması'yı seçin.
İşlev Uygulamasından Oluştur iletişim kutusu görüntülenir.
İşlev uygulamanızı seçmek için Gözat'ı seçin. Azure İşlevleri İçeri Aktar bölmesi görüntülenir.
Gerekli ayarları yapılandır alanında Seç'i seçin.
(.. /media/5-import-azure-function-app-03-expanded.png#lightbox)
Azure İşlev Uygulamasını Seç bölmesi görüntülenir.
OrderFunctionNNNNNNN'yi ve ardından Seç'i seçin. Azure İşlevleri İçeri Aktar bölmesi, OrderDetails işlev uygulamanız yapılandırılmış olarak yeniden görünür.
OrderDetails'in işaretli olduğundan emin olun ve ardından işlevi eklemek için sayfanın en altında Seç'i seçin. İşlev Uygulamasından Oluştur iletişim kutusu görüntülenir.
API URL son eki alanındaki değeri siparişlerle değiştirin. Bu değişikliğin Temel URL'yi nasıl güncelleştireceğini unutmayın. API'nizi oluşturmak için Oluştur'u seçin.
OnlineStore API Management hizmeti, OrderDetails için tüm kullanılabilir (GET, POST) API'leri içeren Tasarım sekmesini görüntüler.
Portalda OnlineStore siparişleri uç noktasını test etme
API'mize OrderDetails'i eklediğimize göre, Şimdi Azure portalındaki API Management araçlarını kullanarak test edelim.
OrderFunctionNNNNNNN API'leri Tasarımı sekmesinde, Tüm işlemler'in altında GET OrderDetails'i ve ardından Test sekmesini seçin.
Sorgu parametreleri bölümünde Parametre ekle'yi seçin ve AD alanına, Chiba'ya ve DEĞER alanına ad girin. Gönder'i seçin.
HTTP yanıt iletisi sekmesi, HTTP isteğinin başarılı olduğunu (HTTP/1.1/ 200 Tamam) ve müşteri adı, siparişin toplam fiyatı ve sevkiyat durumuyla birlikte Sipariş Kimliğini gösteren bir JSON nesnesini gösterir.
Http isteği bölümüne kadar kaydırın; isteğin azure-api.net etki alanı içindeki bir alt etki alanına ve alt dizine gönderildiğine dikkat edin. Bu konum, azurewebsites.net ana bilgisayar etki alanından farklıdır.
Birleştirilmiş API'yi test edin
API'mize istekleri göndermek için curl
komut satırı aracını kullanabiliriz. cURL, bir istekle doğru abonelik anahtarını ekleyebildiğimiz için idealdir. Bir istek, Azure API Management'ta barındırılan API'nin konumuna da ihtiyaç duyar ve bu durumda Ürünler ve Siparişler işlevlerinden oluşur.
Azure kaynak menüsünde veya Giriş'ten Tüm kaynaklar'ı seçin.
Kaynakları Türe göre sıralayın ve ardından OnlineStore API Management hizmetini seçin. OnlineStore için API Management hizmeti görüntülenir.
Temel Bileşenler bölümünde Ağ Geçidi URL'sinin üzerine gelin ve Panoya kopyala simgesini seçin.
Sağdaki Azure Cloud Shell'de bazı değişkenleri tanımlamanızı sağlar. Aşağıdaki komutu çalıştırın, yer tutucuyu
<paste URL here>
panonuza kopyaladığınız URL değeriyle değiştirin ve enter tuşuna basın. Bu değer ağ geçidi değişkenini tanımlar.GATEWAY_URL=<paste URL here>
Azure'da, OnlineStore API Management hizmeti menüsünde aşağı kaydırarak API'ye gelin ve Abonelikler'i seçin. OnlineStore API Management örneğiniz için Abonelikler bölmesi görüntülenir.
Yerleşik tüm erişim aboneliği için, bu satırın en sağındaki üç noktayı seçin ve ardından bağlam menüsünden Anahtarları göster/gizle'yi seçin. API için birincil anahtar ve ikincil anahtar görüntülenir.
Birincil anahtar alanında Panoya kopyala simgesini seçin.
Cloud Shell'de aşağıdaki komutu çalıştırın, yer tutucuyu panonuzdaki değerle değiştirin ve enter tuşuna basın.
SUB_KEY=<paste key here>
Artık aynı API Management hizmetini sorgulayarak siparişin ve ürünün ayrıntılarını isteyebiliriz:
Henri adlı bir müşterinin ayrıntılarını istemek için Cloud Shell'de aşağıdaki komutu çalıştırın:
curl -X GET "$GATEWAY_URL/orders/OrderDetails?name=Henri" -H "Ocp-Apim-Subscription-Key:$SUB_KEY"
Yanıt, Sipariş 56224'ün Pascale Henri'ye gönderildiğini gösteren sipariş ayrıntılarını içeren bir JSON kod bloğu içerir. Farklı sonuçlar için Chiba ve Barriclough adlarıyla komutu da deneyebilirsiniz.
Kimliği 2 olan bir ürünün ayrıntılarını istemek için Cloud Shell'de aşağıdaki komutu çalıştırın:
curl -X GET "$GATEWAY_URL/products/ProductDetails?id=2" -H "Ocp-Apim-Subscription-Key:$SUB_KEY"
Yanıt, bir ürünün ayrıntılarını içeren bir JSON kod bloğu içerir. Farklı sonuçlar için 1 ve 3 kimlik değerlerine sahip komutu da deneyebilirsiniz.
Her iki işlevin de artık Azure API Management tarafından kullanılan etki alanı olan azure-api.net etki alanındaki uç noktalar (GATEWAY_URL tarafından tanımlandığı gibi) aracılığıyla çağrılabildiğine dikkat edin. Diğer Learn modüllerinde, API Management Gateway'deki işlevlere ilkeleri, güvenlik ayarlarını, dış önbellekleri ve diğer özellikleri uygulamayı öğrenebilirsiniz. Ağ geçidi, kodunu değiştirmeden birden çok mikro hizmeti yönetebileceğiniz merkezi bir denetim noktası sağlar.