Importowanie interfejsów API do centrum interfejsu API z usługi Azure API Management
W tym artykule przedstawiono sposób importowania (dodawania) interfejsów API z wystąpienia usługi Azure API Management do centrum interfejsu API przy użyciu interfejsu wiersza polecenia platformy Azure. Dodawanie interfejsów API z usługi API Management do spisu interfejsów API ułatwia ich odnajdywanie i dostęp do deweloperów, menedżerów programów interfejsów API i innych uczestników projektu w organizacji.
W tym artykule przedstawiono dwie opcje używania interfejsu wiersza polecenia platformy Azure do dodawania interfejsów API do centrum interfejsu API z usługi API Management:
Opcja 1 — eksportowanie definicji interfejsu API z wystąpienia usługi API Management przy użyciu polecenia az apim api export . Następnie zaimportuj definicję do centrum interfejsu API.
Możliwe sposoby importowania definicji interfejsu API wyeksportowanej z usługi API Management obejmują:
- Uruchom polecenie az apic api register , aby zarejestrować nowy interfejs API w centrum interfejsu API.
- Uruchom polecenie az apic api definition import-specification , aby zaimportować definicję interfejsu API do istniejącego interfejsu API.
Opcja 2 — importowanie interfejsów API bezpośrednio z usługi API Management do centrum interfejsu API przy użyciu polecenia az apic import-from-apim .
Po zaimportowaniu definicji interfejsu API lub interfejsów API z usługi API Management możesz dodać metadane i dokumentację w centrum interfejsu API, aby ułatwić uczestnikom projektu odnajdywanie, zrozumienie i korzystanie z interfejsu API.
Napiwek
Możesz również skonfigurować automatyczną synchronizację interfejsów API z usługi API Management do centrum interfejsu API. Aby uzyskać więcej informacji, zobacz Łączenie wystąpienia usługi API Management w celu synchronizowania interfejsów API z centrum interfejsu API.
Wymagania wstępne
Centrum interfejsu API w ramach subskrypcji platformy Azure. Jeśli go nie utworzono, zobacz Szybki start: tworzenie centrum interfejsu API.
Co najmniej jedno wystąpienie usługi Azure API Management w tej samej lub innej subskrypcji. Podczas importowania interfejsów API bezpośrednio z usługi API Management wystąpienie usługi API Management i centrum interfejsu API muszą znajdować się w tym samym katalogu. Jeśli jeszcze go nie utworzono, zobacz Tworzenie wystąpienia usługi Azure API Management.
Co najmniej jeden interfejs API zarządzany w wystąpieniu usługi API Management, który chcesz dodać do centrum interfejsu API.
W przypadku interfejsu wiersza polecenia platformy Azure:
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Uwaga
az apic
Polecenia wymagają rozszerzenia interfejsu wiersza polecenia platformyapic-extension
Azure. Jeśli nie użytoaz apic
poleceń, rozszerzenie można zainstalować dynamicznie po uruchomieniu pierwszegoaz apic
polecenia lub zainstalować rozszerzenie ręcznie. Dowiedz się więcej o rozszerzeniach interfejsu wiersza polecenia platformy Azure.Zapoznaj się z informacjami o wersji, aby uzyskać najnowsze zmiany i aktualizacje w pliku
apic-extension
.Uwaga
Przykłady poleceń interfejsu wiersza polecenia platformy Azure w tym artykule mogą być uruchamiane w programie PowerShell lub powłoce bash. W razie potrzeby ze względu na różne składnie zmiennych podano oddzielne przykłady poleceń dla dwóch powłok.
Opcja 1. Eksportowanie definicji interfejsu API z usługi API Management i importowanie jej do centrum interfejsu API
Najpierw wyeksportuj interfejs API z wystąpienia usługi API Management do definicji interfejsu API przy użyciu polecenia az apim api export . W zależności od scenariusza można wyeksportować definicję interfejsu API do pliku lokalnego lub adresu URL.
Eksportowanie interfejsu API do lokalnego pliku definicji interfejsu API
Poniższe przykładowe polecenie eksportuje interfejs API z identyfikatorem my-api w wystąpieniu interfejsu API myAPIManagement . Interfejs API jest eksportowany w formacie OpenApiJson do lokalnego pliku definicji interfejsu OpenAPI w określonej ścieżce.
#! /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'
Eksportowanie interfejsu API do adresu URL
W poniższym przykładzie polecenie az apim api export eksportuje interfejs API z identyfikatorem my-api w formacie OpenApiJson do adresu URL w usłudze Azure Storage. Adres URL jest dostępny przez około 5 minut. W tym miejscu wartość adresu URL jest przechowywana w zmiennej $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)
Rejestrowanie interfejsu API w centrum interfejsu API z wyeksportowanej definicji interfejsu API
Nowy interfejs API można zarejestrować w centrum interfejsu API z wyeksportowanej definicji przy użyciu polecenia az apic api register .
Poniższy przykład rejestruje interfejs API w centrum interfejsu API myAPICenter z lokalnego pliku definicji interfejsu OpenAPI o nazwie definitionFile.json.
az apic api register --resource-group myResourceGroup --service-name myAPICenter --api-location "/path/to/definitionFile.json"
Importowanie definicji interfejsu API do istniejącego interfejsu API w centrum interfejsu API
W poniższym przykładzie użyto polecenia az apic api definition import-specification , aby zaimportować definicję interfejsu API do istniejącego interfejsu API w centrum interfejsu API myAPICenter . Tutaj definicja interfejsu API jest importowana z adresu URL przechowywanego w zmiennej $link .
W tym przykładzie założono, że masz interfejs API o nazwie my-api i skojarzonej wersji interfejsu API w wersji 1-0-0 i interfejsu API openapi jednostki definicji w centrum interfejsu API. Jeśli tego nie zrobisz, zobacz Dodawanie interfejsów API do centrum interfejsu 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"}'
Opcja 2. Importowanie interfejsów API bezpośrednio z wystąpienia usługi API Management
Poniżej przedstawiono kroki importowania interfejsów API z wystąpienia usługi API Management do centrum interfejsu API przy użyciu polecenia az apic import-from-apim . To polecenie jest przydatne, gdy chcesz zaimportować wiele interfejsów API z usługi API Management do centrum interfejsu API, ale można go również użyć do zaimportowania pojedynczego interfejsu API.
Po dodaniu interfejsów API z wystąpienia usługi API Management do centrum interfejsu API przy użyciu polecenia az apic import-from-apim
następuje automatyczne wykonanie następujących czynności:
- Wersje, definicje i informacje o wdrożeniu poszczególnych interfejsów API są kopiowane do centrum interfejsu API.
- Interfejs API otrzymuje nazwę interfejsu API wygenerowaną przez system w centrum interfejsu API. Zachowuje swoją nazwę wyświetlaną (tytuł) z usługi API Management.
- Etap cyklu życia interfejsu API jest ustawiony na Projekt.
- Usługa Azure API Management jest dodawana jako środowisko.
Dodawanie tożsamości zarządzanej w centrum interfejsu API
W tym scenariuszu centrum interfejsów API używa tożsamości zarządzanej do uzyskiwania dostępu do interfejsów API w wystąpieniu usługi API Management. W zależności od potrzeb skonfiguruj przypisane przez system lub co najmniej jedną tożsamość zarządzaną przypisaną przez użytkownika.
W poniższych przykładach pokazano, jak skonfigurować tożsamość zarządzaną przypisaną przez system przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Na wysokim poziomie kroki konfiguracji są podobne dla tożsamości zarządzanej przypisanej przez użytkownika.
- W portalu przejdź do centrum interfejsu API.
- W menu po lewej stronie w obszarze Zabezpieczenia wybierz pozycję Tożsamości zarządzane.
- Wybierz pozycję Przypisany system i ustaw stan na Wł.
- Wybierz pozycję Zapisz.
Przypisywanie tożsamości zarządzanej roli czytelnika usługi API Management
Aby zezwolić na importowanie interfejsów API, przypisz tożsamość zarządzaną centrum interfejsu API rolę Czytelnik usługi API Management w wystąpieniu usługi API Management. Możesz użyć portalu lub interfejsu wiersza polecenia platformy Azure.
- W portalu przejdź do wystąpienia usługi API Management.
- W menu po lewej stronie wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami)..
- Wybierz pozycję + Dodaj przypisanie roli.
- Na stronie Dodawanie przypisania roli ustaw następujące wartości:
- Na karcie Rola — wybierz pozycję Czytelnik usługi API Management.
- Na karcie Członkowie w obszarze Przypisz dostęp do — wybierz pozycję Tożsamość> zarządzana+ Wybierz członków.
- Na stronie Wybieranie tożsamości zarządzanych — wybierz tożsamość zarządzaną przypisaną przez system centrum interfejsu API, która została dodana w poprzedniej sekcji. Kliknij opcję Wybierz.
- Wybierz Przejrzyj + przypisz.
Importowanie interfejsów API z usługi API Management
Użyj polecenia az apic import-from-apim, aby zaimportować co najmniej jeden interfejs API z wystąpienia usługi API Management do centrum interfejsu API.
Uwaga
To polecenie zależy od tożsamości zarządzanej skonfigurowanej w centrum interfejsu API, która ma uprawnienia do odczytu do wystąpienia usługi API Management. Jeśli tożsamość zarządzana nie została dodana lub skonfigurowana, zobacz Dodawanie tożsamości zarządzanej w centrum interfejsu API wcześniej w tym artykule.
Jeśli centrum interfejsu API ma wiele tożsamości zarządzanych, polecenie wyszukuje najpierw tożsamość przypisaną przez system. Jeśli żadna z nich nie zostanie znaleziona, wybierze pierwszą tożsamość przypisaną przez użytkownika na liście.
Importowanie wszystkich interfejsów API z wystąpienia usługi API Management
W poniższym poleceniu zastąp nazwy centrum interfejsu API, grupą zasobów centrum interfejsu API, wystąpieniem usługi API Management i grupą zasobów wystąpienia. Użyj *
polecenia , aby określić wszystkie interfejsy API z wystąpienia usługi 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 '*'
Uwaga
Jeśli wystąpienie usługi API Management ma dużą liczbę interfejsów API, importowanie do centrum interfejsu API może zająć trochę czasu.
Importowanie określonego interfejsu API z wystąpienia usługi API Management
Określ interfejs API do zaimportowania przy użyciu jego nazwy z wystąpienia usługi API Management.
W poniższym poleceniu zastąp nazwy centrum interfejsu API, grupą zasobów centrum interfejsu API, wystąpieniem usługi API Management i grupą zasobów wystąpienia. Przekaż nazwę interfejsu API, na przykład petstore-api
przy użyciu 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'
Uwaga
Określ nazwę interfejsu API przy użyciu nazwy zasobu interfejsu API w wystąpieniu usługi API Management, a nie nazwę wyświetlaną. Przykład: petstore-api
zamiast Petstore API
.
Po zaimportowaniu interfejsów API z usługi API Management można wyświetlać zaimportowane interfejsy API i zarządzać nimi w centrum interfejsów API.
Powiązana zawartość
- Dokumentacja interfejsu wiersza polecenia platformy Azure dla Centrum interfejsu API platformy Azure
- Dokumentacja interfejsu wiersza polecenia platformy Azure dla usługi API Management
- Zarządzanie spisem interfejsu API za pomocą poleceń interfejsu wiersza polecenia platformy Azure
- Przypisywanie ról platformy Azure do tożsamości zarządzanej
- Dokumentacja usługi Azure API Management