Alıştırma - Üst bilgileri kaldırma
Web API'leri yayımlayan şirketlerin sıklıkla API'lerinin döndürdüğü HTTP üst bilgilerini, tercihan API kaynak kodunu yeniden yazmadan dikkatle denetlemesi gerekir.
Hükümet, RESTful API'leri aracılığıyla nüfus sayımı verilerini kuruluşlarıyla paylaşmaya karar verdi. Kritik gereksinimler verilerin güvenle paylaşılması ve hızlı tümleştirmeyi kolaylaştırmak için üzerlerinde kolayca değişiklik yapılabilmesi. Baş geliştirici olarak bir API ağ geçidi oluşturmalısınız. Ağ geçidini, modern güvenlik standartlarını kullanarak openAPI uç noktasını kullanıma sunan bir RESTful Census API'si yayımlamak için kullanırsınız.
Burada şunları yapacaksınız:
- RESTful Census API'yi yayımlama.
- API Management ağ geçidini dağıtma.
- Ağ geçidi uç noktası üzerinden Census API'yi kullanıma sunma.
- Yanıttan üst bilgi kaldırın.
Önemli
Bu alıştırmayı çalıştırmak için kendi Azure aboneliğinizin olması gerekir ve ücret ödeyebilirsiniz. Mevcut bir Azure aboneliğiniz yoksa başlamadan önce ücretsiz hesap oluşturun.
Census web API'sini dağıtma
Hassas nüfus sayımı bilgilerini döndüren bir .NET Core uygulaması geliştirdiniz. Bu uygulama, OpenAPI belgelerini oluşturmak için Swashbuckle hizmetini içeriyor.
Zaman kazanmak amacıyla, RESTful API'mizi Azure'da barındırmak için bir betik çalıştırarak başlayalım. Betik aşağıdaki adımları gerçekleştirir:
- Ücretsiz katmanında bir Azure App Service planı oluşturur.
- Yerel bir depodan Git dağıtımı için yapılandırılan bir Azure Uygulaması Hizmeti içinde bir web API'sini oluşturur.
- Uygulamamız için hesap düzeyinde dağıtım kimlik bilgilerini ayarlar.
- Git’i yerel olarak yapılandırır.
- Web API'mizi App Service örneğimize dağıtır.
Azure Portal oturum açın.
Azure görev çubuğunda Cloud Shell simgesini seçerek Azure Cloud Shell'i açın.
Uygulamamızın kaynağını içeren depoyu kopyalamak için Cloud Shell'de aşağıdaki
git clone
komutu çalıştırın:git clone https://github.com/MicrosoftDocs/mslearn-protect-apis-on-api-management.git
Aşağıdaki komutu çalıştırarak depo klasörüne yerel olarak gidin:
cd mslearn-protect-apis-on-api-management
Adından da anlaşılacağı gibi setup.sh, test API'mizi oluşturmak için çalıştırdığınız betiktir. Bu betik, OpenAPI arabirimini kullanıma sunan genel bir web uygulaması oluşturur:
bash setup.sh
Bu betiğin çalıştırılması yaklaşık bir dakika sürer. Betik tamamlandığında, uygulama dağıtımını test etmek için kullanabileceğiniz iki URL görüntülenir. Dağıtım sırasında, uygulamamızın çalışması için gereken tüm bağımlılıkların uzak App Service’e otomatik olarak yüklendiğine dikkat edin.
Uygulamamızın doğru dağıtılıp dağıtılmadığını test etmek için Cloud Shell çıkışındaki ilk URL'yi kopyalayıp tarayıcınıza yapıştırın. Tarayıcıda uygulamamız için Swagger kullanıcı arabirimi görüntülenmeli ve aşağıdaki RESTful uç noktaları bildirilmelidir:
- api/census, sayımı ve ilişkili kişileri döndürür
- api/census/{censusYear}, belirtilen yıl için sayımı ve ilişkili kişileri döndürür
- api/people/{reference}, belirli bir kişi hakkındaki ayrıntılı bilgileri döndürür
Son olarak, Cloud Shell çıkışındaki son URL'yi kopyalayın. Bu URL, bu alıştırmanın devamında ihtiyacınız olan swagger JSON URL'dir.
API ağ geçidi dağıtma
Bu alıştırmanın sonraki adımı, Azure portalında bir API ağ geçidi oluşturmaktır. Bir sonraki bölümde bu ağ geçidini kullanarak API'nizi dağıtacaksınız:
Azure Portal oturum açın.
Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur’u seçin. Kaynak oluştur bölmesi görüntülenir.
Sol menü bölmesinde Tümleştirme'yi seçin ve Arama hizmeti ve market arama kutusuna API Managementyazın. Sonuçlarda API Management kartını seçin ve Oluştur'u seçerek API Management hizmeti oluştur bölmesini açın.
Temel Bilgiler sekmesinde, her ayar için aşağıdaki değerleri girin.
Ayar Değer Proje ayrıntıları Abonelik Aboneliğinizi seçin Kaynak grubu Yeni veya mevcut bir kaynak grubu seçin. Kaynak grubu, Bir Azure çözümü için ilgili kaynakları barındıran mantıksal bir kapsayıcıdır. Örnek ayrıntıları Bölge Kullanılabilir bir bölge seçin. Kaynak adı Adın genel olarak benzersiz olduğundan emin olmak için değerini kendi sayı serinizle değiştirerek random number
girinapim-CensusData<random number>
.Kuruluş adı Government-Census
girin. Geliştirici portalında kullanılmak üzere kuruluşunuzun adı ve e-posta bildirimleri. (Geliştirici portalı ve bildirimler tüm hizmet katmanlarında kullanılamaz.)Yönetici e-postası Tüm sistem bildirimlerini almak için e-posta adresi. Fiyatlandırma katmanı Fiyatlandırma katmanı Açılan listeden öğesini seçin Consumption (99.95% SLA)
.Dekont
Tüketim katmanı test için hızlı dağıtım sağlar ve kullanım için ödeme fiyatlandırma modeline sahiptir. Genel API yönetimi deneyimi, diğer fiyatlandırma katmanlarına benzer.
Gözden geçir ve oluştur’u seçin. Doğrulama başarılı olduktan sonra Oluştur'u seçin. Dağıtım birkaç dakika sürebilir. Dağıtım tamamlandığında Azure kaynaklarında API Management örneğinin listelendiğini görürsünüz. API Management hizmetinizin bölmesini görüntülemek için Kaynağa git'i seçin.
API'yi içeri aktarma
Şimdi Census API'sini API Management ağ geçidine aktarın:
API Management örneğinizin sol menü bölmesinde, API'ler'in altında API'leri ve ardından + API Ekle'yi seçin.
Tanımdan oluştur'un altında OpenAPI'yi seçin. OpenAPI belirtiminden oluştur iletişim kutusu görüntülenir.
OpenAPI belirtimi alanına, alıştırmanın önceki bölümlerinde kaydettiğiniz swagger JSON URL'sini yapıştırın.
Dekont
Kutudan çıktığınızda diğer alanlardan bazılarının sizin için doldurulduğunu fark edeceksiniz. Bunun nedeni, gerekli bağlantı ayrıntılarının çoğunu belirten OpenAPI kullanmanızdır.
Diğer ayarları varsayılan değerlerinde bırakın ve oluştur'u seçin.
API’yi test etme
Şimdi API'den varsayılan olarak hangi verilerin döndürüldüğüne bakalım:
Azure portalı menüsünde veya Giriş sayfasında Tüm Kaynaklar'ı ve ardından API Management örneğinizi seçin.
Sol menü bölmesindeki API'ler'in altında API'ler'i seçin ve orta bölmede Census Data'yı seçin.
Üst menü çubuğunda Test sekmesini ve ardından GetLatestCensus işlemini seçin.
Gönder'i seçin.
Yanıtta x-powered-by ifadesinin göründüğüne ve çerçevenin ASP.NET gösterildiğine dikkat edin.
Üst bilgileri kaldırma
Şimdi API tarafından gönderilen yanıtlardan x-powered-by üst bilgisini kaldırmak için bir ilke ekliyoruz:
Census Data öğesini yeniden seçin ve üst menü çubuğunda Tasarım sekmesini seçin.
Tüm işlemler'i seçin ve Giden işleme bölümünde /> simgesini seçin<. İlke XML düzenleyicisi görüntülenir.
Varsayılan
<outbound>
etiketini şu kodla değiştirin:<outbound> <set-header name="x-powered-by" exists-action="delete" /> <base /> </outbound>
Kaydet'i seçin.
Üst bilgilerin kaldırılmasını test etme
Artık üst bilgilerin kaldırıldığını gösterecek bir test çalıştırabilmelisiniz:
Census Data'yı yeniden seçin ve üst menü çubuğunda Test sekmesini seçin.
GetLatestCensus işlemini ve ardından Gönder'i seçin.
x-powered-by üst bilgisi HTTP yanıtında olmamalıdır.