Aracılığıyla paylaş


API'leri Azure API Management'tan API merkezinize aktarma

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:

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.

Önkoşullar

  • Azure aboneliğinizde bir API merkezi. Henüz oluşturmadıysanız bkz . Hızlı Başlangıç: API merkezinizi oluşturma.

  • Azure API Management'ın aynı veya farklı bir abonelikteki bir veya daha fazla ö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. Henüz oluşturmadıysanız bkz . Azure API Management ö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'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ı gerekir apic-extension . Komutları kullanmadıysanız az apic , ilk az 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-extensioninceleyin.

    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"
#! PowerShell syntax
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 5 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)
# PowerShell syntax
$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 kaydetme

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 bkz . API merkezinize API ekleme.

#! /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"}'
# PowerShell syntax
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, ancak 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ığı) API Management'tan korur.
  • API'nin Yaşam Döngüsü aşaması Tasarım olarak ayarlanır.
  • Azure API Management ortam olarak eklenir.

API merkezinize yönetilen kimlik ekleme

Bu senaryoda API merkeziniz, API Management örneğinizdeki API'lere 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 kimlik yapılandırın.

Aşağıdaki örneklerde, Azure portalını veya Azure CLI'yi kullanarak sistem tarafından atanan yönetilen kimliği yapılandırma adımları gösterilmektedir. Yüksek düzeyde yapılandırma adımları, kullanıcı tarafından atanan yönetilen kimlik için benzerdir.

  1. Portalda API merkezinize gidin.
  2. Soldaki menüde, Güvenlik'in altında Yönetilen kimlikler'i seçin.
  3. Sistem tarafından atanan'ı seçin ve durumu Açık olarak ayarlayın.
  4. Kaydet'i seçin.

Yönetilen kimliği API Management Hizmet Okuyucusu rolüne atama

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.

  1. Portalda API Management örneğine gidin.
  2. Sol menüde Erişim denetimi (IAM) öğesini seçin.
  3. + Rol ataması ekle'yi seçin.
  4. Rol ataması ekle sayfasında, değerleri aşağıdaki gibi ayarlayın:
    1. Rol sekmesinde - API Management Hizmet Okuyucusu'na tıklayın.
    2. Üyeler sekmesindeki Erişim ata - Yönetilen kimlik>+ Üye seç'i seçin.
    3. 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.
    4. 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 '*'  
# PowerShell syntax
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 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. parametresini kullanma gibi petstore-api bir API adı geçirin --apim-apis .

#! /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'        
# PowerShell syntax
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ünen adı değil, API Management örneğindeki 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.