Aracılığıyla paylaş


API Management hizmeti yapılandırmanızı Git kullanarak kaydetme ve yapılandırma

ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Standart | Premium

Her API Management hizmet örneği, hizmet örneğinin yapılandırması ve meta verileri hakkında bilgi içeren bir yapılandırma veritabanı tutar. Azure portalında bir ayar değiştirilerek, Azure PowerShell veya Azure CLI gibi Azure araçları kullanılarak veya REST API çağrısı yapılarak hizmet örneğinde değişiklik yapılabilir. Bu yöntemlere ek olarak, Git kullanarak hizmet örneği yapılandırmanızı yönetebilir ve aşağıdaki gibi senaryoları etkinleştirebilirsiniz:

  • Yapılandırma sürümü oluşturma - Hizmet yapılandırmanızın farklı sürümlerini indirme ve depolama
  • Toplu yapılandırma değişiklikleri - Yerel deponuzda hizmet yapılandırmanızın birden çok bölümünde değişiklik yapın ve değişiklikleri tek bir işlemle sunucuya geri tümleştirin
  • Tanıdık Git araç zinciri ve iş akışı - Zaten bildiğiniz Git araçlarını ve iş akışlarını kullanın

Aşağıdaki diyagramda API Management hizmet örneğinizi yapılandırmanın farklı yollarına genel bakış gösterilmektedir.

Azure API Management'ı yapılandırma yollarını karşılaştıran diyagram.

Azure portalını, Azure PowerShell veya Azure CLI gibi Azure araçlarını veya REST API'yi kullanarak hizmetinizde değişiklik yaptığınızda, diyagramın sağ tarafında gösterildiği gibi hizmet yapılandırma veritabanınızı uç noktayı kullanarak https://{name}.management.azure-api.net yönetirsiniz. Diyagramın sol tarafında, konumunda https://{name}.scm.azure-api.netbulunan hizmetiniz için Git ve Git deposunu kullanarak hizmet yapılandırmanızı nasıl yönetebileceğiniz gösterilir.

Aşağıdaki adımlar, Git kullanarak API Management hizmet örneğinizi yönetmeye genel bir bakış sağlar.

  1. Hizmetinizdeki Git yapılandırmasına erişme
  2. Hizmet yapılandırma veritabanınızı Git deponuza kaydetme
  3. Git deposunu yerel makinenize kopyalama
  4. En son depoyu yerel makinenize çekin ve değişiklikleri işleyip deponuza geri gönderin
  5. Değişiklikleri deponuzdan hizmet yapılandırma veritabanınıza dağıtma

Bu makalede, hizmet yapılandırmanızı yönetmek için Git'in nasıl etkinleştirileceği ve kullanılacağı açıklanır ve Git deposundaki dosya ve klasörler için bir başvuru sağlanır.

Önemli

Bu özellik, dışarı aktarılan boyutu 10 MB'den küçük veya 10.000'den az varlığa sahip olanlar gibi küçük ve orta ölçekli API Management hizmeti yapılandırmalarıyla çalışmak üzere tasarlanmıştır. Çok sayıda varlığa sahip hizmetler (ürünler, API'ler, işlemler, şemalar vb.) Git komutlarını işlerken beklenmeyen hatalarla karşılaşabilir. Bu tür hatalarla karşılaşırsanız lütfen hizmet yapılandırmanızın boyutunu küçültün ve yeniden deneyin. Yardıma ihtiyacınız varsa Azure Desteği'ne başvurun.

Hizmetinizdeki Git yapılandırmasına erişme

  1. Azure portalında API Management örneğine gidin.

  2. Soldaki menüde, Dağıtım ve altyapı'nın altında Depo'yu seçin.

API Management için Git yapılandırmasına erişmeyi gösteren ekran görüntüsü.

Hizmet yapılandırmasını Git deposuna kaydetme

Dikkat

Adlandırılmış değer olarak tanımlanmayan tüm gizli diziler depoda depolanır ve geçmişinde kalır. Adlandırılmış değerler, tüm API yapılandırması ve ilkeleri genelinde gizli diziler de dahil olmak üzere sabit dize değerlerini yönetmek için güvenli bir yer sağlar, böylece bunları doğrudan ilke deyimlerinizde depolamanız gerekmez. Daha fazla bilgi için bkz . Azure API Management ilkelerinde adlandırılmış değerleri kullanma.

Depoyu kopyalamadan önce, hizmet yapılandırmasının geçerli durumunu depoya kaydedin.

  1. Depo sayfasında Depoya kaydet'i seçin.

  2. Onay ekranında, yapılandırmayı kaydetmek için dalın adı gibi istediğiniz değişiklikleri yapın ve Kaydet'i seçin.

Birkaç dakika sonra yapılandırma kaydedilir ve son yapılandırma değişikliğinin tarih ve saati ile hizmet yapılandırması ile depo arasındaki son eşitleme de dahil olmak üzere deponun yapılandırma durumu görüntülenir.

Yapılandırma depoya kaydedildikten sonra kopyalanabilir.

REST API kullanarak hizmet yapılandırmasını kaydetme hakkında bilgi için bkz . Kiracı yapılandırması - Kaydetme.

Erişim kimlik bilgilerini alma

Bir depoyu kopyalamak için, deponuzun URL'sine ek olarak bir kullanıcı adı ve parolaya ihtiyacınız vardır.

  1. Depo sayfasında, sayfanın üst kısmındaki Erişim kimlik bilgileri'ni seçin.

  2. Access kimlik bilgileri sayfasında sağlanan kullanıcı adını not edin .

  3. Parola oluşturmak için önce Süre Sonunun istenen son kullanma tarihi ve saati olarak ayarlandığından emin olun ve ardından Oluştur'a tıklayın.

Önemli

Bu parolayı not edin. Bu sayfadan çıktığınızda parola bir daha görüntülenmez.

Depoyu yerel makinenize kopyalama

Aşağıdaki örneklerde Windows için Git'ten Git Bash aracı kullanılır, ancak bildiğiniz herhangi bir Git aracını kullanabilirsiniz.

İstediğiniz klasörde Git aracınızı açın ve aşağıdaki komutu kullanarak Git deposunu yerel makinenize kopyalamak için aşağıdaki komutu çalıştırın:

git clone https://{name}.scm.azure-api.net/

İstendiğinde kullanıcı adını ve parolayı belirtin.

Herhangi bir hata alırsanız, aşağıdaki örnekte gösterildiği gibi komutunu kullanıcı adı ve parolayı içerecek şekilde değiştirmeyi git clone deneyin.

git clone https://username:password@{name}.scm.azure-api.net/

Bu bir hata sağlarsa, komutun parola bölümünü URL kodlamayı deneyin. Bunun hızlı bir yolu Visual Studio'yu açmak ve Anlık Pencere'de aşağıdaki komutu vermektir. Anında Pencere'yi açmak için Visual Studio'da herhangi bir çözümü veya projeyi açın (veya yeni bir boş konsol uygulaması oluşturun) ve Hata Ayıkla menüsünden Windows, Anında'yı seçin.

?System.Net.WebUtility.UrlEncode("password from the Azure portal")

Git komutunu oluşturmak için kullanıcı adınız ve depo konumunuzla birlikte kodlanmış parolayı kullanın.

git clone https://username:url encoded password@{name}.scm.azure-api.net/

Kopyalama tamamlandıktan sonra aşağıdaki gibi bir komut çalıştırarak dizini deponuzla değiştirin.

cd {name}.scm.azure-api.net/

Yapılandırmayı varsayılanmaster dal () dışında bir dala kaydettiyseniz, dala göz atın:

git checkout <branch_name>

Depo kopyalandıktan sonra yerel dosya sisteminizde depoyu görüntüleyebilir ve bu depoyla çalışabilirsiniz. Daha fazla bilgi için bkz . Yerel Git deposunun dosya ve klasör yapısı başvurusu.

Yerel deponuzu en güncel hizmet örneği yapılandırmasıyla güncelleştirme

Azure portalında API Management hizmet örneğinizde değişiklik yaparsanız veya diğer Azure araçlarını kullanıyorsanız, yerel deponuzu en son değişikliklerle güncelleştirebilmek için önce bu değişiklikleri depoya kaydetmeniz gerekir.

Azure portalını kullanarak değişiklikleri kaydetmek için API Management örneğinizin Depo sekmesinde Depoya kaydet'i seçin.

Ardından yerel deponuzu güncelleştirmek için:

  1. Yerel deponuzun klasöründe olduğunuzdan emin olun. Komutu yeni tamamladıysanız git clone , aşağıdaki gibi bir komut çalıştırarak dizini deponuzla değiştirmeniz gerekir.

    cd {name}.scm.azure-api.net/
    
  2. Yerel deponuzun klasöründe aşağıdaki komutu verin.

    git pull
    

Değişiklikleri yerel deponuzdan sunucu deposuna gönderme

Değişiklikleri yerel deponuzdan sunucu deposuna göndermek için değişikliklerinizi işlemeniz ve sonra bunları sunucu deposuna göndermeniz gerekir. Değişikliklerinizi işlemek için Git komut aracınızı açın, yerel deponuzun dizinine geçin ve aşağıdaki komutları çalıştırın.

git add --all
git commit -m "Description of your changes"

Tüm işlemeleri sunucuya göndermek için aşağıdaki komutu çalıştırın.

git push

HIZMET yapılandırma değişikliklerini API Management hizmet örneğine dağıtma

Yerel değişiklikleriniz işlenip sunucu deposuna gönderildikten sonra bunları API Management hizmet örneğinize dağıtabilirsiniz.

  1. Azure portalında API Management örneğine gidin.

  2. Soldaki menüde, Dağıtım ve altyapı'nın altında Depo>API Management'a Dağıt'ı seçin.

  3. Depo yapılandırmasını dağıt sayfasında, istenen yapılandırma değişikliklerini içeren dalın adını girin ve isteğe bağlı olarak Silinen ürünlerin aboneliklerini kaldır'ı seçin. Kaydet'i seçin.

REST API kullanarak bu işlemi gerçekleştirme hakkında bilgi için bkz . Kiracı Yapılandırması - Dağıtma.

Yerel Git deposunun dosya ve klasör yapısı başvurusu

Yerel Git deposundaki dosya ve klasörler, hizmet örneğiyle ilgili yapılandırma bilgilerini içerir.

Öğe Açıklama
kök api-management klasörü Hizmet örneği için üst düzey yapılandırmayı içerir
apiReleases klasörü Hizmet örneğindeki API sürümlerinin yapılandırmasını içerir
apis klasörü Hizmet örneğindeki API'lerin yapılandırmasını içerir
apiVersionSets klasörü Hizmet örneğindeki API sürüm kümelerinin yapılandırmasını içerir
arka uçlar klasörü Hizmet örneğindeki arka uç kaynaklarının yapılandırmasını içerir
groups klasörü Hizmet örneğindeki grupların yapılandırmasını içerir
policies klasörü Hizmet örneğindeki ilkeleri içerir
portalStyles klasörü Hizmet örneğindeki geliştirici portalı özelleştirmelerinin yapılandırmasını içerir
portalTemplates klasörü Hizmet örneğindeki geliştirici portalı şablonlarının yapılandırmasını içerir
products klasörü Hizmet örneğindeki ürünlerin yapılandırmasını içerir
templates klasörü Hizmet örneğindeki e-posta şablonlarının yapılandırmasını içerir

Her klasör bir veya daha fazla dosya içerebilir ve bazı durumlarda her API, ürün veya grup için bir klasör gibi bir veya daha fazla klasör içerebilir. Her klasördeki dosyalar, klasör adıyla açıklanan varlık türüne özeldir.

Dosya türü Purpose
json İlgili varlık hakkında yapılandırma bilgileri
html Varlıkla ilgili açıklamalar, genellikle geliştirici portalında görüntülenir
xml İlke deyimleri
Css Geliştirici portalı özelleştirmesi için stil sayfaları

Bu dosyalar yerel dosya sisteminizde oluşturulabilir, silinebilir, düzenlenebilir ve yönetilebilir ve değişiklikler API Management hizmet örneğinize geri dağıtılabilir.

Not

Aşağıdaki varlıklar Git deposunda yer almadığından Git kullanılarak yapılandırılamaz.

  • Kullanıcılar
  • Abonelikler
  • Adlandırılmış değerler
  • Stiller ve şablonlar dışındaki geliştirici portalı varlıkları
  • İlke Parçaları

Kök api-management klasörü

Kök api-management klasör, hizmet örneği hakkında aşağıdaki biçimde üst düzey bilgileri içeren bir configuration.json dosya içerir.

{
  "settings": {
    "RegistrationEnabled": "True",
    "UserRegistrationTerms": null,
    "UserRegistrationTermsEnabled": "False",
    "UserRegistrationTermsConsentRequired": "False",
    "DelegationEnabled": "False",
    "DelegationUrl": "",
    "DelegatedSubscriptionEnabled": "False",
    "DelegationValidationKey": "",
    "RequireUserSigninEnabled": "false"
  },
  "$ref-policy": "api-management/policies/global.xml"
}

İlk dört ayar (, , ve ) Geliştirici portalı bölümündeki Kimlikler sekmesinde aşağıdaki ayarlarla eşler.UserRegistrationTermsConsentRequiredUserRegistrationTermsEnabledUserRegistrationTermsRegistrationEnabled

Kimlik ayarı Haritalar
RegistrationEnabled Kullanıcı adı ve parola kimlik sağlayıcısının varlığı
UserRegistrationTerms Kullanıcı kayıt metin kutusunda kullanım koşulları
UserRegistrationTermsEnabled Kayıt sayfasında kullanım koşullarını göster onay kutusu
UserRegistrationTermsConsentRequired Onay iste onay kutusu
RequireUserSigninEnabled Anonim kullanıcıları oturum açma sayfasına yönlendir onay kutusu

Sonraki dört ayar (, , ve ) Geliştirici portalı bölümündeki Temsilci sekmesinde aşağıdaki ayarlarla eşler.DelegationValidationKeyDelegatedSubscriptionEnabledDelegationUrlDelegationEnabled

Temsilci ayarı Haritalar
Temsilci SeçmeEnabled Temsilci oturum açma ve kaydolma onay kutusu
DelegationUrl Temsilci uç noktası URL'si metin kutusu
DelegatedSubscriptionEnabled Ürün aboneliği temsilcisi onay kutusu
DelegationValidationKey Temsilci Doğrulama Anahtarı metin kutusu

Son ayar olan $ref-policy, hizmet örneğinin genel ilke deyimleri dosyasıyla eşler.

apiReleases klasörü

klasör, üretim API'sine apiReleases dağıtılan her API sürümü için bir klasör içerir ve aşağıdaki öğeleri içerir.

apis klasörü

klasör, apis hizmet örneğindeki her API için aşağıdaki öğeleri içeren bir klasör içerir.

  • apis\<api name>\configuration.json - Arka uç hizmet URL'si ve işlemler hakkında bilgi içeren API yapılandırması. Bu, Belirli bir API alma işlemini çağırmanız durumunda döndürülecek bilgilerle aynıdır.
  • apis\<api name>\api.description.html - REST API'deki API varlığının description özelliğine karşılık gelen API'nin açıklaması.
  • apis\<api name>\operations\ - API'deki <operation name>.description.html işlemlere eşleyen dosyaları içeren klasör. Her dosya, REST API'deki işlem varlığının özelliğine description eşlenen API'deki tek bir işlemin açıklamasını içerir.

apiVersionSets klasörü

klasör, apiVersionSets bir API için oluşturulan her API sürüm kümesi için bir klasör içerir ve aşağıdaki öğeleri içerir.

  • apiVersionSets\<api version set Id>\configuration.json - Sürüm kümesi yapılandırması. Bu, Belirli bir sürüm kümesi alma işlemini çağırmanız durumunda döndürülecek bilgilerle aynıdır.

groups klasörü

klasörü groups , hizmet örneğinde tanımlanan her grup için bir klasör içerir.

policies klasörü

policies klasörü, hizmet örneğinizin ilke deyimlerini içerir.

  • policies\global.xml - Hizmet örneğiniz için genel kapsamda tanımlanan ilkeler.
  • policies\apis\<api name>\ - API kapsamında tanımlanmış ilkeleriniz varsa, bunlar bu klasörde yer alır.
  • policies\apis\<api name>\<operation name>\ folder - İşlem kapsamında tanımlanmış ilkeleriniz varsa, bunlar her işlemin ilke deyimleriyle eşlenen dosyalarda <operation name>.xml bu klasörde yer alır.
  • policies\products\ - Ürün kapsamında tanımlanmış ilkeleriniz varsa, bunlar her ürünün ilke deyimleriyle eşleşen dosyaları içeren <product name>.xml bu klasörde yer alır.

portalStyles klasörü

klasör, portalStyles hizmet örneğinin kullanım dışı bırakılan geliştirici portalını özelleştirmeye yönelik yapılandırma ve stil sayfaları içerir.

  • portalStyles\configuration.json - Geliştirici portalı tarafından kullanılan stil sayfalarının adlarını içerir
  • portalStyles\<style name>.css - Her <style name>.css dosya geliştirici portalı (Preview.css ve Production.css varsayılan olarak) için stiller içerir.

portalTemplates klasörü

klasör, portalTemplates hizmet örneğinin kullanım dışı bırakılan geliştirici portalını özelleştirmeye yönelik şablonlar içerir.

  • portalTemplates\<template name>\configuration.json - Şablonun yapılandırması.
  • portalTemplates\<template name>\<page name>.html - Şablonun özgün ve değiştirilmiş HTML sayfaları.

products klasörü

klasörü products , hizmet örneğinde tanımlanan her ürün için bir klasör içerir.

  • products\<product name>\configuration.json - Ürün için yapılandırma. Bu, Belirli bir ürün al işlemini çağırmanız durumunda döndürülecek bilgilerle aynıdır.
  • products\<product name>\product.description.html- REST API'deki ürün varlığının description özelliğine karşılık gelen ürünün açıklaması.

templates

klasör, templates hizmet örneğinin e-posta şablonlarının yapılandırmasını içerir.

  • <template name>\configuration.json - E-posta şablonu için yapılandırma.
  • <template name>\body.html - E-posta şablonunun gövdesi.

Sonraki adımlar

Hizmet örneğinizi yönetmenin diğer yolları hakkında daha fazla bilgi için bkz: