Alıştırma - API Management'ta işlev uygulamasından yeni API oluşturma
Azure İşlevleri kullanıcılara tek bir API'nin parçası olarak sunmak için bunları Azure API Management'a ekleyebilirsiniz.
Çevrimiçi mağaza şirketinizde geliştiricileriniz mikro hizmet olarak birden çok Azure İşlevleri oluşturdu. Her işlev mağazanın işlevselliğinin küçük bir parçasını uyguluyordu. Bu işlevleri tek bir API'de birleştirmek istiyorsunuz.
Bu alıştırmada, yeni bir API Management örneği oluşturacak ve ardından buna bir Ürün Ayrıntıları işlevi ekleyacaksınız.
İşlev oluşturma
Aşağıdaki adımlarda, Azure API Management'a bir Azure İşlevi uygulaması eklersiniz. Daha sonra, birden çok işlevden tek bir sunucusuz API oluşturmak için aynı API Management örneğine ikinci bir işlev uygulaması eklersiniz. Başlangıç olarak işlevleri oluşturmak için bir betik kullanalım:
İşlevler projesini kopyalamak için sağdaki Azure Cloud Shell'de aşağıdaki komutu çalıştırın.
git clone https://github.com/MicrosoftDocs/mslearn-apim-and-functions.git ~/OnlineStoreFuncs
Bu alıştırma için ihtiyacımız olan Azure kaynaklarını ayarlamak için Cloud Shell'de aşağıdaki komutları çalıştırın.
cd ~/OnlineStoreFuncs bash setup.sh
Betik,
setup.sh
bu modül için etkinleştirilen korumalı alan kaynak grubunda iki işlev uygulaması oluşturur. Aşağıdaki grafikte gösterildiği gibi her uygulama tek bir işlev barındırır:OrderDetails
veProductDetails
. Betik ayrıca işlevler için bir depolama hesabı ayarlar. İşlevlerin ikisinin de azurewebsites.net etki alanında URL'leri vardır. İşlev adları benzersizlik sağlamak için rastgele sayılar içerir. Betiğin tamamlanması birkaç dakika sürer.
ProductDetails işlevini test etme
Şimdi, API Management'a eklemeden önce ProductDetails işlevini test edelim ve nasıl davrandığını görelim.
Korumalı alanı etkinleştirmek için kullandığınız aynı hesapla Azure portalında oturum açın.
Azure portalı menüsünde veya Giriş sayfasında Tüm kaynaklar seçeneğini belirleyin. Tüm kaynaklar bölmesi görüntülenir.
Adı ProductFunction ile başlayan İşlev Uygulamasını seçin. İşlev Uygulaması bölmesi, Genel Bakış sekmesi seçili olarak görüntülenir.
İşlev uygulamanızın işlevler listesinden ProductDetails'i seçin. ProductDetails İşlevi bölmesi görüntülenir.
Ürün Ayrıntıları menüsünde, Geliştirici'nin altında Kod + Test'i seçin. Dosyanın içeriğini
function.json
gösteren ProductDetails işlevinin Kod + Test bölmesi görüntülenir.Komut çubuğunda Test/Çalıştır'ı seçin. HTTP isteğinizi test için Giriş/Çıkış bölmesi görüntülenir.
Giriş sekmesindeki HTTP yöntemi alanı açılan listesinde GET'i seçin.
Sorgu altında Parametre ekle'yi seçin
Ad alanına id girin ve Değer alanına 3 girin ve çalıştır'ı seçin.
İsteği bağlamak için bir günlük bölmesi görüntülenir. Çıkış sekmesinde, veritabanındaki 3. öğenin HTTP yanıt kodu (200 Tamam) ve içeriği görüntülenir.
İsteğe bağlı olarak, 1 ve 2 kimlik değerlerini girerek işlevi de test edebilirsiniz.
Kod + Test giriş çıkış sekmelerini kapatmak için Kapat'ı seçin.
ProductDetails Code + Test bölmesinin komut çubuğunda İşlev URL'sini al'ı seçin. URL alt etki alanının işlev uygulamanızın adı ve ardından azurewebsites.net etki alanı olduğuna dikkat edin.
Dekont
Bu URL'yi kullanarak tarayıcınızda işlevi test edebilirsiniz. URL bir giriş gerektirir; ürün koleksiyonunuzdaki ilk öğeyle ilgili ayrıntıları istemek için sorgu dizesini &id=1
ekleyin.
Azure API Management kullanarak işlev uygulamasını API olarak kullanıma sunma
İşlev uygulaması dağıtılıp test edildikten sonra, diğer uygulama ve hizmetlerden çağrılabilmesi için Azure API Management'ı kullanarak api olarak dışarı aktaralım.
Kaynak menüsünde Tüm kaynaklar'ı seçin. Tüm kaynaklar bölmesi görüntülenir.
Kaynak listesini türe göre sıralayın. Bir OrderFunction uygulamanız ve ProductFunction uygulamanız olduğunu fark edin.
ProductFunction işlev uygulamasını seçin.
İşlev Uygulaması menüsünde API kategorisine kaydırın ve ARDıNDAN API Management'ı seçin. ProductFunction işlev uygulamasının API Management bölmesi görüntülenir.
API Management alanının altında Yeni oluştur'u seçin. API Management ağ geçidini yükle bölmesi görüntülenir.
Her ayar için aşağıdaki değerleri girin.
Ayar Değer Abonelik Concierge Aboneliği Kaynak grubu [sandbox resource group name] Bölge Tüketim Planını destekleyen bir konum seçin: (ABD) Batı ABD, Orta Kuzey ABD, Batı Avrupa, Kuzey Avrupa, Güneydoğu Asya, Doğu Avustralya Kaynak adı OnlineStore Kuruluş adı OnlineStore Yönetici e-postası Bir e-posta adresi girin. Fiyatlandırma katmanı Tüketim (%99,95 SLA) İleri: İzleme'yiseçin ve Uygulama Analizler seçeneğini temizleyin.
Gözden geçir + Oluştur’u seçin. Doğrulama tamamlandığında, bağlantılı API Management örneği oluşturmak için Oluştur'u seçin. Dışarı aktarma işleminin tamamlanması için birkaç dakika bekleyin.
API Management örneği dağıtıldığında API'yi bağla'yı seçin.
Azure İşlevleri API Management hizmeti içeri aktar bölmesi, ProductDetails işlevi vurgulanmış olarak görüntülenir.
Devam etmek için Seç'i seçin. İşlev Uygulamasından Oluştur iletişim kutusu görüntülenir.
API URL'si soneki değerini ürünler olarak değiştirin ve oluştur'u seçin. Azure, ProductDetails işlevi için API'yi oluşturur. İşlev uygulamanızın API Management bölmesinin Tasarım sekmesi görüntülenir.
Bu alıştırmada API'nizi tanımlayabileceğiniz ve bunların tümünü Azure İşlevi Uygulama hizmeti içinden gerçekleştirebileceğiniz gösterilmektedir.
OnlineStore ürünleri uç noktasını test etme
Artık oluşturduğunuz API Management örneğinde bir ProductDetails
API'niz var. Şimdi bu API'yi Azure'daki API Management araçlarıyla test edelim.
İşlev uygulamanızın API Management bölmesinde Test sekmesini seçin. API'niz için kullanılabilir işlemler sol sütunda görünür.
GET ProductDetails'i seçin. ProductDetails Konsolu bölmesi görüntülenir.
Sorgu parametreleri'nin altında Parametre ekle'yi seçin.
AD alanına id girin ve VALUE alanına 1 girin ve sonra gönder'i seçerek bir GET isteği oluşturun.
Konsolun HTTP yanıt bölümünde İleti ve İzleme şeklinde iki sekme vardır. İleti sekmesi HTTP yanıtıyla doldurulur. Ürün ayrıntıları yanıtın sonunda JSON biçiminde görünür. HTTP isteği bölümüne kadar kaydırın ve isteğin biçimine dikkat edin. İstek azure-api.net etki alanındaki bir hedefe gönderildi. Bu konum, işlev uygulamasının barındırıldığı azurewebsites.net etki alanından farklıdır. Bu API'yi id=2 veya id=3 gibi diğer sorgu parametreleriyle test edebilirsiniz.