Поделиться через


Импорт API в центр API из Azure Управление API

В этой статье показано, как импортировать (добавить) API из экземпляра Azure Управление API в центр API с помощью Azure CLI. Добавление API из Управление API в инвентаризацию API помогает сделать их доступными для разработчиков, руководителей программ API и других заинтересованных лиц в вашей организации.

В этой статье показаны два варианта использования Azure CLI для добавления API в центр API из Управление API:

  • Вариант 1. Экспорт определения API из экземпляра Управление API с помощью команды az apim api export. Затем импортируйте определение в центр API.

    Возможные способы импорта определения API, экспортированного из Управление API включают:

  • Вариант 2. Импорт API непосредственно из Управление API в центр API с помощью команды az apic import-from-apim.

После импорта определений API или API из Управление API вы можете добавить метаданные и документацию в центр API, чтобы помочь заинтересованным лицам обнаруживать, понимать и использовать API.

Совет

Вы также можете настроить автоматическую синхронизацию APIS из Управление API в центр API. Дополнительные сведения см. в статье "Связывание экземпляра Управление API" для синхронизации API с центром API.

Необходимые компоненты

  • Центр API в подписке Azure. Если вы не создали его, см . краткое руководство. Создание центра API.

  • Один или несколько экземпляров Azure Управление API в той же или другой подписке. При импорте API непосредственно из Управление API экземпляр Управление API и центр API должен находиться в одном каталоге. Если вы еще не создали его, см. статью "Создание экземпляра Azure Управление API".

  • Один или несколько API, управляемых в вашем Управление API экземпляре, который вы хотите добавить в центр API.

  • При использовании Azure CLI выполните следующее:

    • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

    • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

      • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

      • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

      • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

    Примечание.

    az apic для команд требуется apic-extension расширение Azure CLI. Если вы не использовали az apic команды, расширение можно установить динамически при выполнении первой az apic команды или установить расширение вручную. Дополнительные сведения о расширениях Azure CLI.

    Дополнительные сведения о последних изменениях и обновлениях см. в заметках о выпускеapic-extension.

    Примечание.

    Примеры команд Azure CLI в этой статье могут выполняться в PowerShell или оболочке bash. Если это необходимо из-за разного синтаксиса переменной, для двух оболочк предоставляются отдельные примеры команд.

Вариант 1. Экспорт определения API из Управление API и импорт его в центр API

Сначала экспортируйте API из экземпляра Управление API в определение API с помощью команды az apim api export. В зависимости от сценария можно экспортировать определение API в локальный файл или URL-адрес.

Экспорт API в файл определения локального API

В следующем примере команда экспортирует API с идентификатором my-api в экземпляре API myAPIManagement . API экспортируется в формате OpenApiJson в локальный файл определения OpenAPI по указанному пути.

#! /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 в URL-адрес

В следующем примере az apim export экспортирует API с идентификатором my-api в формате OpenApiJson в URL-адрес в службе хранилища Azure. URL-адрес доступен примерно на 5 минут. Здесь значение URL-адреса хранится в переменной $link .

#! /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)

Регистрация API в центре API из экспортированного определения API

Вы можете зарегистрировать новый API в центре API из экспортированного определения с помощью команды az apic api register .

Следующий пример регистрирует API в центре API myAPICenter из локального файла определения OpenAPI с именем definitionFile.json.

az apic api register --resource-group myResourceGroup --service-name myAPICenter --api-location "/path/to/definitionFile.json"

Импорт определения API в существующий API в центре API

В следующем примере используется команда az apic api definition import-specification для импорта определения API в существующий API в центре API myAPICenter . Здесь определение API импортируется из URL-адреса, хранящегося в переменной $link .

В этом примере предполагается, что у вас есть API с именем my-api и связанная версия API версии 1-0-0 и сущность определения openapi в центре API. Если вы этого не сделали, см. статью "Добавление API в центр API".

#! /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. Импорт API непосредственно из экземпляра Управление API

Ниже приведены шаги по импорту API из экземпляра Управление API в центр API с помощью команды az apic import-from-apim. Эта команда полезна, если вы хотите импортировать несколько API из Управление API в центр API, но вы также можете использовать его для импорта одного API.

При добавлении API из экземпляра Управление API в центр API используется az apic import-from-apimследующее:

  • В центр API копируются версии, определения и сведения о развертывании каждого API.
  • API получает имя API, созданное системой, в центре API. Он сохраняет отображаемое имя (название) из Управление API.
  • Этап жизненного цикла API имеет значение Design.
  • Azure Управление API добавляется в качестве среды.

Добавление управляемого удостоверения в центр API

В этом сценарии центр API использует управляемое удостоверение для доступа к API в экземпляре Управление API. В зависимости от ваших потребностей настройте управляемые удостоверения, назначаемые системой, или один или несколько управляемых удостоверений, назначенных пользователем.

В следующих примерах показано, как настроить управляемое удостоверение, назначаемое системой, с помощью портал Azure или Azure CLI. На высоком уровне действия конфигурации аналогичны управляемому удостоверению, назначаемого пользователем.

  1. На портале перейдите в центр API.
  2. В левом меню в разделе Безопасность выберите Управляемые удостоверения.
  3. Выберите "Назначенная система" и задайте для параметра " Вкл.
  4. Выберите Сохранить.

Назначение управляемого удостоверения роли чтения служб Управление API

Чтобы разрешить импорт API, назначьте управляемое удостоверение центра API роль читателя служб Управление API в экземпляре Управление API. Вы можете использовать портал или Azure CLI.

  1. На портале, перейдите к вашему экземпляру службы "Управление API".
  2. В меню слева выберите Управление доступом (IAM).
  3. Выберите + Добавить назначение ролей.
  4. На странице "Добавление назначения ролей" задайте следующие значения:
    1. На вкладке "Роль" выберите средство чтения служб Управление API.
    2. На вкладке "Члены" на вкладке "Назначить доступ" — "Выбрать управляемое удостоверение>" и "Выбрать участников".
    3. На странице "Выбор управляемых удостоверений" выберите управляемое удостоверение, назначаемое системой, в центре API, которое вы добавили в предыдущем разделе. Щелкните Выбрать.
    4. Выберите Проверить + назначить.

Импорт API из Управление API

Используйте команду az apic import-from-apim, чтобы импортировать один или несколько API из экземпляра Управление API в центр API.

Примечание.

  • Эта команда зависит от управляемого удостоверения, настроенного в центре API с разрешениями на чтение экземпляра Управление API. Если вы не добавили или не настроили управляемое удостоверение, см. статью "Добавление управляемого удостоверения в центре API" ранее в этой статье.

  • Если центр API имеет несколько управляемых удостоверений, команда сначала выполняет поиск удостоверения, назначаемого системой. Если ни один из них не найден, он выбирает первое назначаемое пользователем удостоверение в списке.

Импорт всех API из экземпляра Управление API

В следующей команде замените имена центра API, группу ресурсов центра API, экземпляр Управление API и группу ресурсов вашего экземпляра. Используется * для указания всех API из экземпляра Управление API.

#! /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 '*'  

Примечание.

Если Управление API экземпляр имеет большое количество API, импорт в центр API может занять некоторое время.

Импорт конкретного API из экземпляра Управление API

Укажите API для импорта с помощью его имени из экземпляра Управление API.

В следующей команде замените имена центра API, группу ресурсов центра API, экземпляр Управление API и группу ресурсов вашего экземпляра. Передайте имя API, petstore-api например использование --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'        
# 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'    

Примечание.

Укажите имя API, используя имя ресурса API в экземпляре Управление API, а не отображаемое имя. Пример: petstore-api вместо Petstore API.

После импорта API из Управление API вы можете просматривать импортированные API-интерфейсы в центре API и управлять ими.