Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как импортировать (добавить) 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 включают:
- Запустите az apic api register , чтобы зарегистрировать новый API в центре API.
- Запустите az apic api definition import-specification , чтобы импортировать определение 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 выполните следующее:
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Примечание.
Для
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. На высоком уровне шаги конфигурации аналогичны шагам для управляемой идентичности, назначаемой пользователем.
- На портале перейдите в центр API.
- В меню боковой панели в разделе Безопасность выберите Управляемые идентификации.
- Выберите Системное назначение, и установите статус на Вкл.
- Выберите Сохранить.
Назначьте управляемому удостоверению роль Читателя в службе управления API
Чтобы разрешить импорт API, назначьте управляемому удостоверению центра API роль Читатель служб управления API в вашем экземпляре управления API. Вы можете использовать портал или Azure CLI.
- На портале, перейдите к вашему экземпляру службы "Управление API".
- В меню слева выберите Управление доступом (IAM).
- Выберите + Добавить назначение ролей.
-
На странице "Добавление назначения ролей" задайте следующие значения:
- На вкладке Роль выберите Чтение службы управления API.
- На вкладке Члены, в разделе Назначить доступ для - выберите Управляемая идентификация>+ Выбрать участников.
- На странице "Выбор управляемых удостоверений" выберите назначаемое системой управляемое удостоверение центра API, добавленное в предыдущем разделе. Щелкните Выбрать.
- Выберите Проверить + назначить.
Импорт 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 и управлять ими.