Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure CLI kullanarak bir Azure API Management örneğinden API merkezinize API'leri içeri aktarma (ekleme) gösterilmektedir. API Management'tan API envanterinize API eklemek, bunların geliştiriciler, API program yöneticileri ve kuruluşunuzdaki diğer paydaşlar tarafından bulunabilir ve erişilebilir olmasını sağlar.
Bu makalede, API Management'tan API merkezinize API eklemek için Azure CLI'yi kullanmaya yönelik iki seçenek gösterilmektedir:
1. Seçenek: az apim api export komutunu kullanarak API Management örneğinden bir API tanımını dışarı aktarın ve ardından tanımı API merkezinize aktarın.
API Management'tan dışarı aktarılan bir API tanımını içeri aktarmanın olası yolları şunlardır:
- API merkezinize yeni bir API kaydetmek için az apic api register komutunu çalıştırın.
- API tanımını mevcut bir API'ye aktarmak için az apic api definition import-specification komutunu çalıştırın.
2. Seçenek: az apic import-from-apim komutunu kullanarak API'leri doğrudan API Management'tan API merkezinize aktarın.
API tanımlarını veya API'leri API Management'tan içeri aktardıktan sonra, proje katılımcılarının API'yi bulmasına, anlamasına ve kullanmasına yardımcı olmak için API merkezinize meta veriler ve belgeler ekleyebilirsiniz.
İpucu
API Management'tan API merkezinize API'lerin otomatik olarak eşitlenmesini de ayarlayabilirsiniz. Daha fazla bilgi için API'leri API merkezinize eşitlemek üzere bir API Management örneğini bağlama konusuna bakın.
Önkoşullar
Azure aboneliğinizde bir API merkezi. Api'niz yoksa bkz . Hızlı Başlangıç: API merkezinizi oluşturma.
Aynı veya farklı bir abonelikte bir veya daha fazla Azure API Management örneği. API'leri doğrudan API Management'tan içeri aktardığınızda, API Management örneği ve API merkezi aynı dizinde olmalıdır. Bir tane yoksa, bkz. Azure API Yönetimi örneği oluşturma.
API Management örneğinizde yönetilen ve API merkezinize eklemek istediğiniz bir veya daha fazla API.
Azure CLI için:
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
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 kullanarak Azure'da kimlik doğrulaması.
İ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 ve yönetme.
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 apickomutları,apic-extensionAzure CLI uzantısı gerektirir. uzantı, ilkaz apickomutunuzu çalıştırdığınızda dinamik olarak yüklenebilir veya uzantıyı el ile yükleyebilirsiniz. Daha fazla bilgi için bkz . Azure CLI Uzantılarını Yönetme: Yükleme, Güncelleştirme ve Kaldırma.içindeki
apic-extensionen son değişiklikler ve güncelleştirmeler için sürüm notlarını inceleyin. Bazı özellikler için bir önizleme veya uzantının belirli bir sürümü gerekebilir.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.
1. Seçenek: API tanımını API Management'tan dışarı aktarma ve API merkezinize aktarma
İlk olarak, az apim api export komutunu kullanarak API Management örneğinizdeki bir API'yi bir API tanımına aktarın . Senaryonuza bağlı olarak, API tanımını yerel bir dosyaya veya URL'ye aktarabilirsiniz.
API'yi yerel API tanım dosyasına aktarma
Aşağıdaki örnek komut, API'nin myAPIManagement örneğinde my-api tanımlayıcısı ile API'yi dışarı aktarır. API, OpenApiJson biçiminde, belirttiğiniz yolda yerel bir OpenAPI tanım dosyasına aktarılır.
#! /bin/bash
az apim api export --api-id my-api --resource-group myResourceGroup \
--service-name myAPIManagement --export-format OpenApiJsonFile \
--file-path "/path/to/folder"
# Formatted for PowerShell
az apim api export --api-id my-api --resource-group myResourceGroup `
--service-name myAPIManagement --export-format OpenApiJsonFile `
--file-path '/path/to/folder'
API'yi URL'ye aktarma
Aşağıdaki örnekte az apim api export, OpenApiJson biçiminde my-api tanımlayıcısı olan API'yi Azure depolamadaki bir URL'ye aktarır. URL yaklaşık beş dakika boyunca kullanılabilir. Burada URL'nin değeri $link değişkeninde depolanır.
#! /bin/bash
link=$(az apim api export --api-id my-api --resource-group myResourceGroup \
--service-name myAPIManagement --export-format OpenApiJsonUrl --query properties.value.link \
--output tsv)
# Formatted for PowerShell
$link=$(az apim api export --api-id my-api --resource-group myResourceGroup `
--service-name myAPIManagement --export-format OpenApiJsonUrl --query properties.value.link `
--output tsv)
Dışarı aktarılan API tanımından API'nizi API merkezinize kaydedin.
az apic api register komutunu kullanarak dışarı aktarılan tanımdan API merkezinize yeni bir API kaydedebilirsiniz .
Aşağıdaki örnek, definitionFile.json adlı yerel bir OpenAPI tanım dosyasından myAPICenter API merkezine bir API kaydeder.
az apic api register --resource-group myResourceGroup --service-name myAPICenter --api-location "/path/to/definitionFile.json"
API tanımını API merkezinizdeki mevcut bir API'ye aktarma
Aşağıdaki örnekte az apic api definition import-specification komutu kullanılarak myAPICenter API merkezindeki mevcut bir API'ye bir API tanımı içeri aktarılır. Burada API tanımı, $link değişkeninde depolanan bir URL'den içeri aktarılır.
Bu örnekte, API merkezinizde my-api adlı bir API'niz ve ilişkili bir API sürümü v1-0-0 ve tanım varlığı openapi'niz olduğu varsayılır. Aksi takdirde, API merkezinize API ekleme sayfasına bakın.
#! /bin/bash
az apic api definition import-specification \
--resource-group myResourceGroup --service-name myAPICenter \
--api-id my-api --version-id v1-0-0 \
--definition-id openapi --format "link" --value '$link' \
--specification '{"name":"openapi","version":"3.0.2"}'
# Formatted for PowerShell
az apic api definition import-specification `
--resource-group myResourceGroup --service-name myAPICenter `
--api-id my-api --version-id v1-0-0 `
--definition-id openapi --format "link" --value '$link' `
--specification '{"name":"openapi","version":"3.0.2"}'
2. Seçenek: API'leri doğrudan API Management örneğinizden içeri aktarma
Aşağıda, az apic import-from-apim komutunu kullanarak API Management örneğinizdeki API'leri API merkezinize aktarma adımları verilmiştir. Bu komut, API Management'tan API merkezinize birden çok API'yi içeri aktarmak istediğinizde kullanışlıdır. Tek bir API'yi içeri aktarmak için de kullanabilirsiniz.
kullanarak az apic import-from-apimAPI Management örneğinden API'leri API merkezinize eklediğinizde, aşağıdakiler otomatik olarak gerçekleşir:
- Her API'nin sürümleri, tanımları ve dağıtım bilgileri API merkezinize kopyalanır.
- API, API merkezinizde sistem tarafından oluşturulan bir API adı alır. Görünen adını (başlığını) API Yönetimi’nde korur.
- API'nin Yaşam Döngüsü aşaması Tasarım olarak ayarlanır.
- Azure API Management ortam olarak eklendi.
API merkezinize yönetilen kimlik ekleme
Bu senaryoda, API merkeziniz Azure kaynaklarına erişmek için yönetilen kimlik kullanır. Gereksinimlerinize bağlı olarak, sistem tarafından atanan veya kullanıcı tarafından atanan bir veya daha fazla yönetilen kimliği etkinleştirin.
Aşağıdaki örneklerde, Azure portalını veya Azure CLI'yı kullanarak sistem tarafından atanan yönetilen kimliğin nasıl etkinleştirileceği gösterilmektedir. Yüksek düzeyde yapılandırma adımları, kullanıcı tarafından atanan yönetilen kimlik için benzerdir.
- Portalda API merkezinize gidin.
- Kenar çubuğu menüsünde, Güvenlik'in altında Yönetilen kimlikler'i seçin.
- Sistem tarafından atanan'ı seçin ve durumu Açık olarak ayarlayın.
- Kaydet'i seçin.
Yönetilen kimliğe API Yönetimi Hizmeti Okuyucu rolünü atayın
API'lerin içeri aktarılmasına izin vermek için API Center'ınızın yönetilen kimliğini API Management örneğinizdeki API Management Hizmet Okuyucusu rolünü atayın. Portalı veya Azure CLI'yi kullanabilirsiniz.
- Portala API Yönetim örneğinize gidin.
- Sol menüde Erişim denetimi (IAM) öğesini seçin.
- + Rol ataması ekle'yi seçin.
- Rol ataması ekle sayfasında, değerleri aşağıdaki gibi ayarlayın:
- Rol sekmesinde API Management Hizmet Okuyucusu'na tıklayın.
- Üyeler sekmesinde, Erişim atayacak seçeneğinin altında - Yönetilen kimlik seçin >.
- Yönetilen kimlikleri seçin sayfasında, önceki bölümde eklediğiniz API merkezinizin sistem tarafından atanan yönetilen kimliğini seçin. Seç'e tıklayın.
- Gözden geçir + ata'yı seçin.
API Management'tan API'leri içeri aktarma
API Management örneğinizdeki bir veya daha fazla API'yi API merkezinize aktarmak için az apic import-from-apim komutunu kullanın.
Not
Bu komut, API Management örneğinde okuma izinlerine sahip API merkezinizde yapılandırılmış bir yönetilen kimliğe bağlıdır. Yönetilen kimlik eklemediyseniz veya yapılandırmadıysanız, bu makalenin önceki bölümlerinde yer alan API merkezinize yönetilen kimlik ekleme bölümüne bakın.
API merkezinizde birden çok yönetilen kimlik varsa, komut önce sistem tarafından atanan kimliği arar. Hiçbir kimlik bulunmazsa, listedeki ilk kullanıcı tarafından atanan kimliği seçer.
API Management örneğinden tüm API'leri içeri aktarma
Aşağıdaki komutta API merkezinizin, API merkezinizin kaynak grubunun, API Management örneğinizin ve örneğinizin kaynak grubunun adlarını yazın. API Management örneğindeki tüm API'leri belirtmek için kullanın * .
#! /bin/bash
az apic import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> \
--apim-name <api-management-name> --apim-resource-group <api-management-resource-group-name> \
--apim-apis '*'
# Formatted for PowerShell
az apic import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> `
--apim-name <api-management-name> --apim-resource-group <api-management-resource-group-name> `
--apim-apis '*'
Not
API Management örneğinizde çok sayıda API varsa API merkezinize içeri aktarma işlemi biraz zaman alabilir.
API Management örneğinden belirli bir API'yi içeri aktarma
API Management örneğinden API'nin adını kullanarak içeri aktarılacak bir API belirtin.
Aşağıdaki komutta API merkezinizin, API merkezinizin kaynak grubunun, API Management örneğinizin ve örneğinizin kaynak grubunun adlarını yazın.
petstore-api gibi bir API adını --apim-apis parametresini kullanarak geçirin.
#! /bin/bash
az apic import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> \
--apim-name <api-management-name> --apim-resource-group <api-management-resource-group-name> \
--apim-apis 'petstore-api'
# Formatted for PowerShell
az apic import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> `
--apim-name <api-management-name> --apim-resource-group <api-management-resource-group-name> `
--apim-apis 'petstore-api'
Not
Görünür adı değil, API Yönetimi örneği içinde API kaynak adını kullanarak bir API adı belirtin. Örnek: petstore-api yerine Petstore API.
API Management'tan API'leri içeri aktardıktan sonra, içeri aktarılan API'leri API merkezinizde görüntüleyebilir ve yönetebilirsiniz.