Kurz: Ladění rozhraní API pomocí trasování požadavků
PLATÍ PRO: Všechny úrovně služby API Management
Tento kurz popisuje, jak ve službě Azure API Management kontrolovat (trasování) zpracování požadavků. Trasování pomáhá ladit a řešit potíže s rozhraním API.
V tomto kurzu se naučíte:
- Trasování ukázkového volání v testovací konzole
- Kontrola kroků zpracování požadavků
- Povolení trasování pro rozhraní API
Požadavky
- Seznamte se s terminologií služby Azure API Management.
- Projděte si následující rychlý start: Vytvoření instance Azure API Managementu.
- Dokončete následující kurz: Import a publikování prvního rozhraní API.
Důležité
- Api Management už nepodporuje předplatná pro trasování nebo hlavičku Ocp-Apim-Trace .
- Pokud chcete zlepšit zabezpečení rozhraní API, můžete teď trasování povolit na úrovni jednotlivých rozhraní API získáním časově omezeného tokenu pomocí rozhraní REST API služby API Management a předáním tokenu v požadavku na bránu. Podrobnosti najdete v tématu Povolení trasování rozhraní API.
- Při povolování trasování je potřeba dbát na to, jak může v datech trasování vystavit citlivé informace. Ujistěte se, že máte k ochraně dat trasování zavedená vhodná bezpečnostní opatření.
Trasování volání na portálu
Pomocí těchto kroků trasujte požadavek rozhraní API v testovací konzole na portálu. Tento příklad předpokládá, že jste naimportovali ukázkové rozhraní API v předchozím kurzu. Podobným postupem můžete použít jiné rozhraní API, které jste naimportovali.
Přihlaste se k webu Azure Portal a přejděte k vaší instanci služby API Management.
Vyberte rozhraní API>.
Ze seznamu rozhraní API vyberte rozhraní API Petstore.
Vyberte kartu Test.
Vyberte operaci Najít domácího mazlíčka podle ID.
Do parametru dotazu petId zadejte 1.
Volitelně můžete zkontrolovat hodnotu hlavičky Ocp-Apim-Subscription-Key použité v požadavku výběrem ikony oka.
Tip
Hodnotu Ocp-Apim-Subscription-Key můžete přepsat načtením klíče pro jiné předplatné na portálu. Vyberte Předplatná a otevřete místní nabídku (...) pro jiné předplatné. Vyberte Zobrazit nebo skrýt klíče a zkopírujte jeden z těchto klíčů. V případě potřeby můžete klíče znovu vygenerovat. Potom v testovací konzole vyberte + Přidat hlavičku a přidejte hlavičku Ocp-Apim-Subscription-Key s novou hodnotou klíče.
Vyberte Trasování.
Kontrola informací o trasování
Po dokončení volání přejděte v odpovědi HTTP na kartu Trasování.
Pokud chcete přejít na podrobné informace o trasování, vyberte některý z následujících odkazů: Příchozí, Back-end, Odchozí, Při chybě.
Příchozí – zobrazuje původní požadavek služby API Management přijatý od volajícího a zásady použité na požadavek. Pokud jste například přidali zásady v kurzu: Transformace a ochrana rozhraní API, zobrazí se tady.
Back-end – zobrazuje požadavky služby API Management odeslané do back-endu rozhraní API a přijatou odpověď.
Odchozí – zobrazuje zásady použité na odpověď před odesláním zpět volajícímu.
Při chybě – zobrazuje chyby, ke kterým došlo při zpracování požadavku, a zásady použité na chyby.
Tip
Každý krok také ukazuje uplynulý čas od přijetí požadavku službou API Management.
Povolení trasování pro rozhraní API
Následující základní kroky jsou nutné k povolení trasování pro požadavek služby API Management při použití curl
, klienta REST, jako je Visual Studio Code s rozšířením REST Client nebo klientská aplikace. V současné době je potřeba postupovat podle těchto kroků pomocí rozhraní REST API služby API Management:
- Získejte přihlašovací údaje tokenu pro trasování.
- Přidejte hodnotu tokenu do
Apim-Debug-Authorization
hlavičky požadavku do brány služby API Management. - Získejte ID trasování v
Apim-Trace-Id
hlavičce odpovědi. - Načtěte trasování odpovídající ID trasování.
Postupujte podle podrobných kroků.
Poznámka:
- Tyto kroky vyžadují rozhraní REST API služby API management verze 2023-05-01-preview nebo novější. Abyste mohli volat rozhraní REST API, musíte mít v instanci služby API Management přiřazenou roli Přispěvatel nebo vyšší.
- Informace o ověřování v rozhraní REST API najdete v referenčních informacích k rozhraní Azure REST API.
Získání přihlašovacích údajů tokenu – Volání rozhraní API Pro výpis přihlašovacích údajů brány API pro ladění Do identifikátoru URI zadejte "managed" pro spravovanou bránu instance v cloudu nebo ID brány pro bránu v místním prostředí. Pokud například chcete získat přihlašovací údaje trasování pro spravovanou bránu instance, použijte požadavek podobný následujícímu:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
V textu požadavku předejte úplné ID prostředku rozhraní API, které chcete trasovat, a zadejte
purposes
jakotracing
. Ve výchozím nastavení vyprší platnost přihlašovacích údajů tokenu vrácených v odpovědi po 1 hodině, ale v datové části můžete zadat jinou hodnotu. Příklad:{ "credentialsExpireAfter": PT1H, "apiId": ""/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiName}", "purposes": ["tracing"] }
Přihlašovací údaje tokenu se vrátí v odpovědi, podobně jako v následujícím příkladu:
{ "token": "aid=api-name&......." }
Přidejte hodnotu tokenu do hlavičky požadavku – pokud chcete povolit trasování požadavku do brány služby API Management, odešlete hodnotu tokenu
Apim-Debug-Authorization
v hlavičce. Pokud například chcete trasovat volání rozhraní API petstore, které jste naimportovali v předchozím kurzu, můžete použít požadavek podobný tomuto:curl -v https://apim-hello-world.azure-api.net/pet/1 HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&......."
V závislosti na tokenu obsahuje odpověď jednu z následujících hlaviček:
Pokud je token platný, odpověď obsahuje hlavičku
Apim-Trace-Id
, jejíž hodnotou je ID trasování, podobně jako v následujícím příkladu:Apim-Trace-Id: 0123456789abcdef....
Pokud platnost tokenu vypršela, odpověď obsahuje hlavičku
Apim-Debug-Authorization-Expired
s informacemi o datu vypršení platnosti.Pokud se token získal pro jiné rozhraní API, odpověď obsahuje hlavičku
Apim-Debug-Authorization-WrongAPI
s chybovou zprávou.
Načtení trasování – Předejte ID trasování získané v předchozím kroku do rozhraní API trasování seznamu brány. Pokud chcete například načíst trasování pro spravovanou bránu, použijte požadavek podobný následujícímu:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
V textu požadavku předejte ID trasování získané v předchozím kroku.
{ "traceId": "0123456789abcdef...." }
Tělo odpovědi obsahuje data trasování pro předchozí požadavek rozhraní API na bránu. Trasování je podobné trasování, které můžete zobrazit trasováním volání v testovací konzole portálu.
Informace o přizpůsobení informací o trasování najdete v zásadách trasování .
Další kroky
V tomto kurzu jste se naučili, jak:
- Trasování ukázkového volání v testovací konzole
- Kontrola kroků zpracování požadavků
- Povolení trasování pro rozhraní API
Přejděte k dalšímu kurzu: