Alıştırma - Üst bilgileri kaldırma

Tamamlandı

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.
  1. Azure Portal oturum açın.

  2. Azure görev çubuğunda Cloud Shell simgesini seçerek Azure Cloud Shell'i açın.

    Screenshot of Cloud Shell icon in taskbar.

  3. 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
    
  4. Aşağıdaki komutu çalıştırarak depo klasörüne yerel olarak gidin:

    cd mslearn-protect-apis-on-api-management
    
  5. 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.

  6. 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

    Screenshot of the Swagger page for the API, showing the RESTful endpoints.

  7. 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:

  1. Azure Portal oturum açın.

  2. Azure portalı menüsünde veya Giriş sayfasında Kaynak oluştur’u seçin. Kaynak oluştur bölmesi görüntülenir.

  3. 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.

  4. 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) .

    Screenshot of the completed settings on the Basics tab of the Create API Management service screen.

    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.

  5. 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:

  1. API Management örneğinizin sol menü bölmesinde, API'ler'in altında API'leri ve ardından + API Ekle'yi seçin.

  2. Tanımdan oluştur'un altında OpenAPI'yi seçin. OpenAPI belirtiminden oluştur iletişim kutusu görüntülenir.

  3. OpenAPI belirtimi alanına, alıştırmanın önceki bölümlerinde kaydettiğiniz swagger JSON URL'sini yapıştırın.

    Screenshot of the Create from OpenAPI specification dialog box with the swagger JSON URL entered.

    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.

  4. 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:

  1. Azure portalı menüsünde veya Giriş sayfasında Tüm Kaynaklar'ı ve ardından API Management örneğinizi seçin.

  2. Sol menü bölmesindeki API'ler'in altında API'ler'i seçin ve orta bölmede Census Data'yı seçin.

  3. Üst menü çubuğunda Test sekmesini ve ardından GetLatestCensus işlemini seçin.

  4. Gönder'i seçin.

    Screenshot of the test results for the GetLatestCensus operation, showing the default Response content.

  5. 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:

  1. Census Data öğesini yeniden seçin ve üst menü çubuğunda Tasarım sekmesini seçin.

  2. 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.

    Screenshot of the Design tab with the Policies icon highlighted in the Outbound processing section.

  3. Varsayılan <outbound> etiketini şu kodla değiştirin:

    <outbound>
       <set-header name="x-powered-by" exists-action="delete" />
       <base />
    </outbound>
    
  4. 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:

  1. Census Data'yı yeniden seçin ve üst menü çubuğunda Test sekmesini seçin.

  2. GetLatestCensus işlemini ve ardından Gönder'i seçin.

    Screenshot of the test results for the GetLatestCensus operation, showing the headers removed in the Response.

  3. x-powered-by üst bilgisi HTTP yanıtında olmamalıdır.