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 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.net
bulunan 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.
- Hizmetinizdeki Git yapılandırmasına erişme
- Hizmet yapılandırma veritabanınızı Git deponuza kaydetme
- Git deposunu yerel makinenize kopyalama
- En son depoyu yerel makinenize çekin ve değişiklikleri işleyip deponuza geri gönderin
- 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
Soldaki menüde, Dağıtım ve altyapı'nın altında Depo'yu seçin.
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.
Depo sayfasında Depoya kaydet'i seçin.
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.
Depo sayfasında, sayfanın üst kısmındaki Erişim kimlik bilgileri'ni seçin.
Access kimlik bilgileri sayfasında sağlanan kullanıcı adını not edin .
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:
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/
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.
Soldaki menüde, Dağıtım ve altyapı'nın altında Depo>API Management'a Dağıt'ı seçin.
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.UserRegistrationTermsConsentRequired
UserRegistrationTermsEnabled
UserRegistrationTerms
RegistrationEnabled
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.DelegationValidationKey
DelegatedSubscriptionEnabled
DelegationUrl
DelegationEnabled
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.
apiReleases\<api release Id>\configuration.json
- Yayın tarihleri hakkında bilgi içeren sürüm yapılandırması. Bu, Belirli bir yayın alma işlemini çağırmanız durumunda döndürülecek bilgilerle aynıdır.
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ındescription
ö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ğinedescription
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.
groups\<group name>\configuration.json
- Grubun yapılandırması. Bu, Belirli bir grup alma işlemini çağırmanız durumunda döndürülecek bilgilerle aynıdır.groups\<group name>\description.html
- Grup varlığının özelliğinedescription
karşılık gelen grubun açıklaması.
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çerirportalStyles\<style name>.css
- Her<style name>.css
dosya geliştirici portalı (Preview.css
veProduction.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ındescription
ö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:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin