API merkezinizde API analizini etkinleştirme - kendi kendine yönetilen
Bu makalede, bir lint altyapısını ve tetikleyicileri el ile ayarlayarak Azure API Center'da API analizinin nasıl etkinleştirileceği açıklanmaktadır. Bu özellikler, kuruluş stili kurallarına uymak için API tanımlarınızı analiz ederek hem bireysel hem de özet raporlar oluşturur. API analizi, API tanımlarınızdaki yaygın hataları ve tutarsızlıkları tanımlamanıza ve düzeltmenize yardımcı olur.
Not
Önizlemede Azure API Center , API analizi için varsayılan bir linting altyapısını ve bağımlılıklarını otomatik olarak yapılandırıyor . Bu makalede açıklandığı gibi kendi kendine yönetilen analizi etkinleştirirseniz, bu yerleşik özellikleri geçersiz kılarsınız.
Senaryoya genel bakış
Bu senaryoda, Spektral açık kaynak lint altyapısını kullanarak API merkezinizdeki API tanımlarını analiz edebilirsiniz. Azure İşlevleri bir uygulama, API merkezinizdeki olaylara yanıt olarak lint altyapısını çalıştırır. Spektral, JSON veya YAML belirtim belgesinde tanımlanan API'lerin özelleştirilebilir api stili kılavuzundaki kurallara uygun olup olmadığını denetler. API merkezinizde görüntüleyebileceğiniz bir analiz raporu oluşturulur.
Aşağıdaki diyagramda API merkezinizde lint ve analizi etkinleştirme adımları gösterilmektedir.
Bir API tanımında Spectral linting altyapısını çalıştıran bir Azure İşlevleri uygulaması dağıtın.
İşlev uygulamasını tetikleyen bir Azure API merkezinde olay aboneliği yapılandırın.
API merkezinde bir API tanımı eklenerek veya değiştirilerek bir olay tetikleniyor.
Olayı aldıktan sonra işlev uygulaması Spektral lint altyapısını çağırır.
Linting altyapısı, tanımda tanımlanan API'lerin kuruluşun API stili kılavuzuna uygun olup olmadığını denetler ve bir rapor oluşturur.
ANALIZ raporunu API merkezinde görüntüleyin.
Linting altyapısını ve olay aboneliğini dağıtma seçenekleri
Bu makalede, API merkezinizde lint altyapısını ve olay aboneliğini dağıtmak için iki seçenek sağlanır:
Otomatik dağıtım - Linting altyapısının tek adımlı dağıtımı için Azure geliştirici CLI'sını (
azd
) kullanın. Bu seçenek, kolaylaştırılmış bir dağıtım işlemi için önerilir.El ile dağıtım - Azure İşlevleri uygulamasını dağıtmak ve olay aboneliğini yapılandırmak için adım adım yönergeleri izleyin. Kaynakları el ile dağıtmayı ve yönetmeyi tercih ediyorsanız bu seçenek önerilir.
Sınırlamalar
- Linting şu anda yalnızca OpenAPI veya AsyncAPI belirtim belgeleri gibi JSON veya YAML belirtim dosyalarını destekler.
- Linting altyapısı varsayılan olarak yerleşik
spectral:oas
kural kümesini kullanır. Kural kümesini genişletmek veya özel API stili kılavuzları oluşturmak için Bkz . Spectral GitHub deposu. - Lint işlemini çağıran Azure işlev uygulaması ayrı olarak ücretlendirilir ve bunu yönetip korursunuz.
Önkoşullar
Azure aboneliğinizde bir API merkezi. Henüz oluşturmadıysanız bkz . Hızlı Başlangıç: API merkezinizi oluşturma.
Aboneliğinizde kayıtlı Event Grid kaynak sağlayıcısı. Event Grid kaynak sağlayıcısını kaydetmeniz gerekiyorsa bkz . Azure Event Grid ile bir iş ortağı tarafından yayımlanan olaylara abone olma.
Azure CLI için:
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Not
az apic
komutları Için Azure CLI uzantısı gerekirapic-extension
. Komutları kullanmadıysanızaz apic
, ilkaz apic
komutunuzu çalıştırdığınızda uzantı dinamik olarak yüklenebilir veya uzantıyı el ile yükleyebilirsiniz. Azure CLI uzantıları hakkında daha fazla bilgi edinin.içindeki en son değişiklikler ve güncelleştirmeler için sürüm notlarını
apic-extension
inceleyin. Bazı özellikler, uzantının önizlemesini veya belirli bir sürümünü gerektirebilir.Not
Bu makaledeki Azure CLI komut örnekleri PowerShell veya bash kabuğunda çalıştırılabilir. Farklı değişken söz dizimi nedeniyle gerektiğinde, iki kabuk için ayrı komut örnekleri sağlanır.
azd
Azure İşlevleri uygulama ve olay aboneliği dağıtımı
Bu bölümde, API merkezinizde lint ve analizi etkinleştiren Azure İşlevleri uygulamasını ve olay aboneliğini yapılandırmak için Azure Geliştirici CLI'sini kullanarak otomatik adımlar sağlanır. Kaynakları el ile de yapılandırabilirsiniz.
Bu seçenek için diğer önkoşullar
Kullanarak örneği çalıştırma azd
Dizini
APICenter-Analyzer
depodaki klasöre değiştirin.resources/rulesets
klasöründe biroas.yaml
dosya bulabilirsiniz. Bu dosya geçerli API stili kılavuzunuzu yansıtır ve kuruluş gereksinimlerinize ve gereksinimlerinize göre değiştirilebilir.Aşağıdaki komutları kullanarak Azure Geliştirici CLI'sı ve Azure CLI ile kimlik doğrulaması yapın:
azd auth login az login
Linting altyapısını Azure aboneliğinize dağıtmak için aşağıdaki komutu çalıştırın.
azd up
Ortam adı ve API merkezi adı gibi gerekli dağıtım bilgilerini ve ayarlarını sağlamak için istemleri izleyin. Ayrıntılar için bkz . Azure Geliştirici CLI'sını (azd) kullanarak örneği çalıştırma.
Not
Dağıtım birkaç dakika sürebilir.
Dağıtım tamamlandıktan sonra Azure portalında API merkezinize gidin. Soldaki menüde Olaylar>Olay abonelikleri'ni seçerek oluşturulan olay aboneliğini görüntüleyin.
Artık olay aboneliğini tetikleyip lint altyapısını çalıştırmak için API merkezinize bir API tanım dosyası yükleyebilirsiniz.
Azure İşlevleri uygulama ve olay aboneliğini yapılandırmaya yönelik el ile adımlar
Bu bölümde, API merkezinizde lint ve analizi etkinleştirmek için Azure İşlevleri uygulamasını ve olay aboneliğini yapılandırmak için el ile dağıtım adımları sağlanır. Otomatik dağıtım için Azure Geliştirici CLI'sini de kullanabilirsiniz.
Bu seçenek için diğer önkoşullar
- Azure İşlevleri uzantısı v1.10.4 veya üzeri olan Visual Studio Code.
1. Adım. Azure İşlevleri uygulamanızı dağıtma
API tanımlarında linting işlevini çalıştıran Azure İşlevleri uygulamasını dağıtmak için:
resources/rulesets
klasöründe biroas.yaml
dosya bulabilirsiniz. Bu dosya geçerli API stili kılavuzunuzu yansıtır ve kuruluş gereksinimlerinize ve gereksinimlerinize göre değiştirilebilir.İsteğe bağlı olarak, test etmek için işlev uygulamasını yerel olarak çalıştırın. Ayrıntılar için depodaki README dosyasına bakın.
İşlev uygulamasını Azure'a dağıtın. Adımlar için bkz . Hızlı Başlangıç: Visual Studio Code kullanarak TypeScript ile Azure'da işlev oluşturma.
Not
İşlev uygulamasının dağıtılması birkaç dakika sürebilir.
Genel Bakış sayfasında aşağıdaki ayrıntıları denetleyin:
- İşlev uygulamasının Durumunun Çalışıyor olduğunu onaylayın.
- İşlevler'in altında apicenter-analyzer işlevinin Durumunun Etkin olduğunu onaylayın.
2. Adım. İşlev uygulamanızda yönetilen kimliği yapılandırma
İşlev uygulamasının API merkezine erişmesini sağlamak için işlev uygulaması için yönetilen bir kimlik yapılandırın. Aşağıdaki adımlarda, Azure portalını veya Azure CLI'yı kullanarak işlev uygulaması için sistem tarafından atanan yönetilen kimliği etkinleştirme ve yapılandırma adımları gösterilmektedir.
- Azure portalında işlev uygulamanıza gidin ve Ayarlar bölümünde Kimlik'iseçin.
- Sistem tarafından atanan sekmesinde DurumuAçık olarak ayarlayın ve kaydet'i seçin.
Yönetilen kimlik etkinleştirildiğine göre, API center'a erişmek için azure API Center Uyumluluk Yöneticisi rolünü atayın.
- Azure portalında API merkezinize gidin ve Erişim denetimi (IAM) seçeneğini belirleyin.
- + Rol ataması ekle'yi > seçin.
- İş işlevi rolleri'ne ve ardından Azure API Center Uyumluluk Yöneticisi'ne tıklayın. İleri'yi seçin.
- Üyeler sayfasındaki Erişim ata bölümünde Yönetilen kimlik > + Üye seç'i seçin.
- Yönetilen kimlikleri seçin sayfasında işlev uygulamasının yönetilen kimliğini arayın ve seçin. Seç'e ve ardından İleri'ye tıklayın.
- Rol atamasını gözden geçirin ve Gözden geçir ve ata'yı seçin.
3. Adım. API merkezinizde olay aboneliğini yapılandırma
Şimdi API tanım dosyası karşıya yüklendiğinde veya güncelleştirildiğinde işlev uygulamasını tetikleyecek bir olay aboneliği oluşturun. Aşağıdaki adımlarda Azure portalını veya Azure CLI'yi kullanarak olay aboneliğinin nasıl oluşturulacağı gösterilmektedir.
Başlarken sekmesinde Azure İşlevi'ni seçin.
Olay Aboneliği Oluştur sayfasında aşağıdakileri yapın:
Olay aboneliği için açıklayıcı bir Ad girin ve Event Grid Şeması'nı seçin.
Konu ayrıntıları bölümünde, seçtiğiniz bir Sistem konusu adı girin.
Olay Türleri'nde aşağıdaki olayları seçin:
- API tanımı eklendi
- API tanımı güncelleştirildi
Uç Nokta Ayrıntıları'nda Azure İşlevi > Uç nokta yapılandır'ı seçin.
Azure İşlevi Seç sayfasında, işlev uygulamasını ve yapılandırdığınız apicenter-linter işlevini seçin. Seçimi onayla'ya tıklayın.
Oluştur'u belirleyin.
Olay abonelikleri sekmesini seçin ve Yenile'yi seçin. Olay aboneliğinin Sağlama durumunun Başarılı olduğunu onaylayın.
Not
Olay aboneliğinin işlev uygulamasına yayılması kısa sürebilir.
API merkezinizde olay tetikleme
Olay aboneliğini test etmek için API merkezinizdeki bir API sürümüyle ilişkili API tanım dosyasını karşıya yüklemeyi veya güncelleştirmeyi deneyin. Örneğin, bir OpenAPI veya AsyncAPI belgesi yükleyin. Olay aboneliği tetiklendiğinde işlev uygulaması API tanımını analiz etmek için API linting altyapısını çağırır.
- API merkezinize API, API sürümü ve API tanımı eklemeye yönelik ayrıntılı adımlar için bkz . Öğretici: API'leri API merkezinize kaydetme.
- Azure CLI kullanarak bir API tanım dosyasını karşıya yükleyerek API oluşturmak için bkz . Api'yi belirtim dosyasından kaydetme.
Olay aboneliğinin tetiklendiğini onaylamak için:
API merkezinize gidin ve sol menüden Olaylar'ı seçin.
Olay Abonelikleri sekmesini seçin ve işlev uygulamanız için olay aboneliğini seçin.
Olay aboneliğinin tetiklendiğini ve lint işleminin başarıyla başlatıldığını onaylamak için ölçümleri gözden geçirin.
Not
Ölçümlerin görünmesi birkaç dakika sürebilir.
API tanımını analiz ettikten sonra, linting altyapısı yapılandırılan API stili kılavuzuna göre bir rapor oluşturur.
API çözümleme raporlarını görüntüleme
API tanımınızın analiz raporunu Azure portalında görüntüleyebilirsiniz. Bir API tanımı çözümlendiğinde, rapor yapılandırılan API stili kılavuzuna göre hataları, uyarıları ve bilgileri listeler.
Portalda, API merkezinizdeki tüm API tanımları için analiz raporlarının özetini de görüntüleyebilirsiniz.
API tanımı için analiz raporu
API merkezinizdeki bir API tanımının analiz raporunu görüntülemek için:
- Portalda API tanımını eklediğiniz veya güncelleştirdiğiniz API merkezinizdeki API sürümüne gidin.
- Soldaki menüde, Ayrıntılar'ın altında Tanımlar'ı seçin.
- Karşıya yüklediğiniz veya güncelleştirdiğiniz API tanımını seçin.
- Çözümleme sekmesini seçin.
API Çözümleme Raporu açılır ve yapılandırılan API stili kılavuzuna göre API tanımını ve hatalarını, uyarılarını ve bilgilerini görüntüler. Aşağıdaki ekran görüntüsünde BIR API çözümleme raporu örneği gösterilmektedir.
API analizi özeti
API merkezinizdeki tüm API tanımlarının analiz raporlarının özetini görüntülemek için:
Portalda API merkezinize gidin.
Sol taraftaki menüde, İdare'nin altında API Analizi'ni seçin. Özet görüntülenir.
İlgili içerik
Event Grid hakkında daha fazla bilgi edinin: