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:

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.

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:

    Poznámka:

    az apic příkazy vyžadují apic-extension rozšíření Azure CLI. Pokud jste nepoužili az apic příkazy, rozšíření se při spuštění prvního az apic příkazu nainstaluje dynamicky. Přečtěte si další informace o rozšířeních Azure CLI.

    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 s názvem specificationFile.json.

#! /bin/bash
az apim api export --api-id my-api --resource-group myResourceGroup \
    --service-name myAPIManagement --export-format OpenApiJsonFile \
    --file-path "/path/to/folder"
#! PowerShell syntax
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)
# PowerShell syntax
$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 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 myAPICenter \
    --api-id my-api --version-id v1-0-0 \
    --definition-id openapi --format "link" --value '$link' \
    --specification '{"name":"openapi","version":"3.0.2"}'
# PowerShell syntax
az apic api definition import-specification `
    --resource-group myResourceGroup --service 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í kroky slouží k importu rozhraní API z instance služby API Management do centra rozhraní API pomocí příkazu az apic service 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 service import-from-apimprovede 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.

  1. Na portálu přejděte do centra rozhraní API.
  2. V nabídce vlevo v části Zabezpečení vyberte Spravované identity.
  3. Vyberte Přiřazený systém a nastavte stav na Zapnuto.
  4. Zvolte Uložit.

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.

  1. Na portálu přejděte do vaší instance služby API Management.
  2. V nabídce vlevo vyberte Řízení přístupu (IAM).
  3. Vyberte + Přidat přiřazení role.
  4. Na stránce Přidat přiřazení role nastavte hodnoty následujícím způsobem:
    1. Na kartě Role – Vyberte čtečku služby API Management.
    2. Na kartě Členové v části Přiřadit přístup – Vyberte spravované identity> a vyberte členy.
    3. 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.
    4. Vyberte Zkontrolovat + přiřadit.

Import rozhraní API ze služby API Management

Pomocí příkazu az apic service import-from-apim naimportujte jedno nebo více rozhraní API z vaší 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

K určení všech rozhraní API z instance služby API Management použijte zástupný znak (*).

  1. Pomocí příkazu az apim show získejte ID prostředku vaší instance služby API Management.

    #! /bin/bash
    apimID=$(az apim show --name <apim-name> --resource-group <resource-group-name> --query id --output tsv)
    
    # PowerShell syntax
    $apimID=$(az apim show --name <apim-name> --resource-group <resource-group-name> --query id --output tsv)
    
  2. az apic service import-from-apim Pomocí příkazu naimportujte rozhraní API. Nahraďte názvy centra rozhraní API a skupiny prostředků a použijte * k určení všech rozhraní API z instance služby API Management.

    az apic service import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> --source-resource-ids $apimID/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.

  1. Pomocí příkazu az apim show získejte ID prostředku vaší instance služby API Management.

    #! /bin/bash
    apimID=$(az apim show --name <apim-name> --resource-group <resource-group-name> --query id --output tsv)
    
    # PowerShell syntax
    $apimID=$(az apim show --name <apim-name> --resource-group <resource-group-name> --query id --output tsv)
    
  2. az apic service import-from-apim K importu rozhraní API použijte příkaz. Nahraďte názvy centra rozhraní API a skupiny prostředků a zadejte název rozhraní API z instance služby API Management.

    az apic service import-from-apim --service-name <api-center-name> --resource-group <resource-group-name> --source-resource-ids $apimID/apis/<api-name>    
    

    Poznámka:

    Zadejte <api-name> název prostředku rozhraní API v instanci služby API Management, nikoli zobrazovaný název. 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.