Import rozhraní API do centra rozhraní API ze služby Azure API Management
Tento článek ukazuje, jak importovat (přidat) rozhraní API z instance služby Azure API Management do centra rozhraní API pomocí Azure CLI. Přidávání rozhraní API ze služby API Management do inventáře rozhraní API pomáhá zajistit, aby byla zjistitelná a přístupná vývojářům, správcům programů API a dalším zúčastněným stranám ve vaší organizaci.
Tento článek ukazuje dvě možnosti použití Azure CLI k přidání rozhraní API do centra rozhraní API ze služby API Management:
Možnost 1 – Export definice rozhraní API z instance služby API Management pomocí příkazu az apim api export . Pak naimportujte definici do centra rozhraní API.
Mezi možné způsoby importu definice rozhraní API exportovaného ze služby API Management patří:
- Spuštěním příkazu az apic api register zaregistrujte nové rozhraní API v centru rozhraní API.
- Spuštěním příkazu az apic api definition import-specification import-specification naimportujte definici rozhraní API do existujícího rozhraní API.
Možnost 2 – Import rozhraní API přímo ze služby API Management do centra rozhraní API pomocí příkazu az apic import-from-apim .
Po importu definic rozhraní API nebo rozhraní API ze služby API Management můžete do centra rozhraní API přidat metadata a dokumentaci, které zúčastněným stranám pomůžou zjišťovat, pochopit a využívat rozhraní API.
Tip
Můžete také nastavit automatickou synchronizaci rozhraní APIS ze služby API Management do centra rozhraní API. Další informace najdete v tématu Propojení instance služby API Management pro synchronizaci rozhraní API s centrem rozhraní API.
Požadavky
Centrum rozhraní API ve vašem předplatném Azure. Pokud jste ho ještě nevytvořili, přečtěte si článek Rychlý start: Vytvoření centra rozhraní API.
Jedna nebo více instancí služby Azure API Management ve stejném nebo jiném předplatném. Při importu rozhraní API přímo ze služby API Management musí být instance služby API Management a centrum rozhraní API ve stejném adresáři. Pokud jste ho nevytvořili, přečtěte si téma Vytvoření instance služby Azure API Management.
Jedno nebo více rozhraní API spravovaných v instanci služby API Management, která chcete přidat do centra rozhraní API.
Pro Azure CLI:
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Poznámka:
az apic
příkazy vyžadujíapic-extension
rozšíření Azure CLI. Pokud jste nepoužiliaz apic
příkazy, můžete rozšíření nainstalovat dynamicky při spuštění prvníhoaz apic
příkazu nebo rozšíření nainstalovat ručně. Přečtěte si další informace o rozšířeních Azure CLI.Podívejte se na poznámky k verzi nejnovějších změn a aktualizací v nástroji
apic-extension
.Poznámka:
Příklady příkazů Azure CLI v tomto článku se dají spustit v PowerShellu nebo prostředí Bash. Pokud je to potřeba kvůli jiné syntaxi proměnných, jsou pro tyto dvě prostředí k dispozici samostatné příklady příkazů.
Možnost 1: Export definice rozhraní API ze služby API Management a jeho import do centra API
Nejprve pomocí příkazu az apim api export vyexportujte rozhraní API z vaší instance služby API Management do definice rozhraní API. V závislosti na vašem scénáři můžete definici rozhraní API exportovat do místního souboru nebo adresy URL.
Export rozhraní API do místního definičního souboru rozhraní API
Následující příklad příkazu exportuje rozhraní API s identifikátorem my-api v instanci myAPIManagement rozhraní API. Rozhraní API se exportuje ve formátu OpenApiJson do místního definičního souboru OpenAPI v zadané cestě.
#! /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'
Export rozhraní API do adresy URL
V následujícím příkladu az apim export exportuje rozhraní API s identifikátorem my-api ve formátu OpenApiJson na adresu URL v úložišti Azure. Adresa URL je dostupná přibližně 5 minut. Tady je hodnota adresy URL uložená v proměnné $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)
Registrace rozhraní API v centru rozhraní API z exportované definice rozhraní API
Nové rozhraní API můžete zaregistrovat ve svém centru rozhraní API z exportované definice pomocí příkazu az apic api register .
Následující příklad zaregistruje rozhraní API v centru rozhraní API myAPICenter z místního definičního souboru OpenAPI s názvem definitionFile.json.
az apic api register --resource-group myResourceGroup --service-name myAPICenter --api-location "/path/to/definitionFile.json"
Import definice rozhraní API do existujícího rozhraní API v centru rozhraní API
Následující příklad používá příkaz az apic api definition import-specification k importu definice rozhraní API do existujícího rozhraní API v centru rozhraní API myAPICenter . Tady se definice rozhraní API naimportuje z adresy URL uložené v proměnné $link .
Tento příklad předpokládá, že máte rozhraní API s názvem my-api a přidruženou verzi rozhraní API v1-0-0 a openapi definice entity ve vašem centru rozhraní API. Pokud ne, přečtěte si téma Přidání rozhraní API do centra rozhraní 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"}'
Možnost 2: Import rozhraní API přímo z instance služby API Management
Následující postup slouží k importu rozhraní API z instance služby API Management do centra rozhraní API pomocí příkazu az apic import-from-apim . Tento příkaz je užitečný, když chcete importovat více rozhraní API ze služby API Management do centra rozhraní API, ale můžete ho také použít k importu jednoho rozhraní API.
Když do centra rozhraní API přidáte rozhraní API z instance služby API Management, az apic import-from-apim
provede se toto:
- Verze, definice a informace o nasazení jednotlivých rozhraní API se zkopírují do centra rozhraní API.
- Rozhraní API obdrží v centru rozhraní API název rozhraní API vygenerovaný systémem. Ve službě API Management si zachová zobrazovaný název (název).
- Fáze životního cyklu rozhraní API je nastavená na Návrh.
- Azure API Management se přidá jako prostředí.
Přidání spravované identity do centra rozhraní API
V tomto scénáři centrum rozhraní API používá spravovanou identitu pro přístup k rozhraním API ve vaší instanci služby API Management. V závislosti na vašich potřebách nakonfigurujte spravované identity přiřazené systémem nebo jednu nebo více spravovaných identit přiřazených uživatelem.
Následující příklady ukazují, jak nakonfigurovat spravovanou identitu přiřazenou systémem pomocí webu Azure Portal nebo Azure CLI. Na vysoké úrovni jsou kroky konfigurace podobné spravované identitě přiřazené uživatelem.
Přiřazení spravované identity roli čtenáře služby API Management
Pokud chcete povolit import rozhraní API, přiřaďte spravované identitě centra ROZHRANÍ API roli Čtenář služby API Management ve vaší instanci služby API Management. Můžete použít portál nebo Azure CLI.
- Na portálu přejděte do vaší instance služby API Management.
- V nabídce vlevo vyberte Řízení přístupu (IAM).
- Vyberte + Přidat přiřazení role.
- Na stránce Přidat přiřazení role nastavte hodnoty následujícím způsobem:
- Na kartě Role – Vyberte čtečku služby API Management.
- Na kartě Členové v části Přiřadit přístup – Vyberte spravované identity> a vyberte členy.
- Na stránce Vybrat spravované identity – Vyberte spravovanou identitu přiřazenou systémem centra rozhraní API, kterou jste přidali v předchozí části. Klepněte na tlačítko Vybrat.
- Vyberte Zkontrolovat + přiřadit.
Import rozhraní API ze služby API Management
Pomocí příkazu az apic import-from-apim naimportujte jedno nebo více rozhraní API z instance služby API Management do centra rozhraní API.
Poznámka:
Tento příkaz závisí na spravované identitě nakonfigurované v centru rozhraní API, která má oprávnění ke čtení instance služby API Management. Pokud jste spravovanou identitu nepřidali nebo nenakonfigurovali, přečtěte si část Přidání spravované identity do centra rozhraní API výše v tomto článku.
Pokud má vaše centrum rozhraní API více spravovaných identit, příkaz nejprve vyhledá identitu přiřazenou systémem. Pokud se žádná nenajde, vybere první identitu přiřazenou uživatelem v seznamu.
Import všech rozhraní API z instance služby API Management
V následujícím příkazu nahraďte názvy centra rozhraní API, skupinu prostředků centra API, instanci služby API Management a skupinu prostředků vaší instance. Slouží *
k určení všech rozhraní API z instance služby API Management.
#! /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 '*'
Poznámka:
Pokud má vaše instance SLUŽBY API Management velký počet rozhraní API, může import do centra rozhraní API nějakou dobu trvat.
Import konkrétního rozhraní API z instance služby API Management
Zadejte rozhraní API, které se má importovat pomocí názvu z instance služby API Management.
V následujícím příkazu nahraďte názvy centra rozhraní API, skupinu prostředků centra API, instanci služby API Management a skupinu prostředků vaší instance. Předejte název rozhraní API, například petstore-api
pomocí parametru --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'
Poznámka:
Zadejte název rozhraní API pomocí názvu prostředku rozhraní API v instanci služby API Management, nikoli zobrazovaného názvu. Příklad: petstore-api
místo Petstore API
.
Po importu rozhraní API ze služby API Management můžete na webu API Center zobrazit a spravovat importovaná rozhraní API.