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


Импортируйте API в центр API из Azure API Management

В этой статье показано, как импортировать (добавить) API из экземпляра Azure API Management в ваш 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.

Совет

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

Предварительные условия

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

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

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

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

    Примечание.

    Для az apic команд требуется apic-extension расширение Azure CLI. Расширение можно установить динамически при выполнении первой 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 api export экспортирует API с идентификатором my-api в формате OpenApiJson на URL-адрес в службе хранилища Azure. URL-адрес доступен примерно на пять минут. Здесь значение 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 v1-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 имеет значение Design.
  • Azure API Management добавлено как среда.

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

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

В следующих примерах показано, как включить управляемое удостоверение, системно назначаемое с помощью портала 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 и управлять ими.