Импорт 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 включают:
- Запустите 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.
Совет
Вы также можете настроить автоматическую синхронизацию 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. На высоком уровне действия конфигурации аналогичны управляемому удостоверению, назначаемого пользователем.
- На портале перейдите в центр 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 и управлять ими.