Självstudie: Felsöka dina API:er med hjälp av spårning av begäranden
GÄLLER FÖR: Alla API Management-nivåer
I den här självstudien beskrivs hur du inspekterar (spårning) bearbetning av begäranden i Azure API Management. Spårning hjälper dig att felsöka ditt API.
I den här självstudien lär du dig att:
- Spåra ett exempelanrop i testkonsolen
- Granska bearbetningssteg för begäran
- Aktivera spårning för ett API
Förutsättningar
- Lär dig Azure API Management-terminologin.
- Slutför följande snabbstart: Skapa en Azure API Management-instans.
- Slutför följande självstudie: Importera och publicera ditt första API.
Viktigt!
- API Management stöder inte längre prenumerationer för spårning eller Ocp-Apim-Trace-huvudet .
- För att förbättra API-säkerheten kan spårning nu aktiveras på nivån för ett enskilt API genom att hämta en tidsbegränsad token med API Management REST API och skicka token i en begäran till gatewayen. Mer information finns i Aktivera spårning av ett API.
- Var försiktig när du aktiverar spårning, eftersom den kan exponera känslig information i spårningsdata. Se till att du har lämpliga säkerhetsåtgärder för att skydda spårningsdata.
Spåra ett anrop i portalen
Följ de här stegen för att spåra en API-begäran i testkonsolen i portalen. Det här exemplet förutsätter att du importerade ett exempel-API i en tidigare självstudie. Du kan följa liknande steg med ett annat API som du har importerat.
Logga in på Azure Portal och gå till din API Management-instans.
Välj API:er>.
Välj Api för djurarkiv i din API-lista.
Välj fliken Test.
Välj åtgärden Hitta husdjur efter ID.
I parametern petId Query anger du 1.
Du kan också kontrollera värdet för rubriken Ocp-Apim-Subscription-Key som används i begäran genom att välja ikonen "eye".
Dricks
Du kan åsidosätta värdet ocp-apim-subscription-key genom att hämta en nyckel för en annan prenumeration i portalen. Välj Prenumerationer och öppna snabbmenyn (...) för en annan prenumeration. Välj Visa/dölj nycklar och kopiera en av nycklarna. Du kan också återskapa nycklar om det behövs. I testkonsolen väljer du sedan + Lägg till rubrik för att lägga till ett Ocp-Apim-Subscription-Key-huvud med det nya nyckelvärdet.
Välj Spåra.
Granska spårningsinformation
När anropet är klart går du till fliken Spårning i HTTP-svaret.
Välj någon av följande länkar för att gå till detaljerad spårningsinformation: Inkommande, Serverdel, Utgående, På-fel.
Inkommande – visar den ursprungliga begäran som API Management tog emot från anroparen och de principer som tillämpas på begäran. Om du till exempel har lagt till principer i Självstudie: Transformera och skydda ditt API visas de här.
Serverdelen – Visar begäranden som API Management skickade till API-serverdelen och det svar som den tog emot.
Utgående – Visar de principer som tillämpas på svaret innan du skickar tillbaka till anroparen.
Vid fel – Visar de fel som inträffade under bearbetningen av begäran och de principer som tillämpas på felen.
Dricks
Alla steg visar också hur lång tid det tog efter att begäran togs emot av API Management.
Aktivera spårning för ett API
Följande steg på hög nivå krävs för att aktivera spårning för en begäran till API Management när du använder curl
, en REST-klient, till exempel Visual Studio Code med REST-klienttillägget eller en klientapp. För närvarande måste dessa steg följas med API Management REST API:
- Hämta en tokenautentiseringsuppgift för spårning.
- Lägg till tokenvärdet i ett begärandehuvud
Apim-Debug-Authorization
till API Management-gatewayen. - Hämta ett spårnings-ID i svarshuvudet
Apim-Trace-Id
. - Hämta spårningen som motsvarar spårnings-ID:t.
Detaljerade steg följer.
Kommentar
- De här stegen kräver API Management REST API version 2023-05-01-preview eller senare. Du måste tilldelas rollen Deltagare eller högre på API Management-instansen för att anropa REST-API:et.
- Information om hur du autentiserar till REST API finns i Azure REST API-referens.
Hämta en tokenautentiseringsuppgift – Anropa API Management-gatewayens API för listfelsökningsautentiseringsuppgifter . I URI anger du "hanterad" för instansens hanterade gateway i molnet eller gateway-ID:t för en gateway med egen värd. Om du till exempel vill hämta spårningsautentiseringsuppgifter för instansens hanterade gateway använder du en begäran som liknar följande:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
I begärandetexten skickar du det fullständiga resurs-ID:t för det API som du vill spåra och anger
purposes
somtracing
. Som standard upphör tokenautentiseringsuppgifterna som returneras i svaret att gälla efter 1 timme, men du kan ange ett annat värde i nyttolasten. Till exempel:{ "credentialsExpireAfter": PT1H, "apiId": ""/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiName}", "purposes": ["tracing"] }
Tokenautentiseringsuppgifterna returneras i svaret, ungefär som följande:
{ "token": "aid=api-name&......." }
Lägg till tokenvärdet i ett begärandehuvud – Om du vill aktivera spårning för en begäran till API Management-gatewayen skickar du tokenvärdet i ett
Apim-Debug-Authorization
huvud. Om du till exempel vill spåra ett anrop till det Petstore-API som du importerade i en tidigare självstudiekurs kan du använda en begäran som liknar följande: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&......."
Beroende på token innehåller svaret en av följande rubriker:
Om token är giltig innehåller svaret en
Apim-Trace-Id
rubrik vars värde är spårnings-ID:Apim-Trace-Id: 0123456789abcdef....
Om token har upphört att gälla innehåller svaret en
Apim-Debug-Authorization-Expired
rubrik med information om förfallodatum.Om token hämtades för ett annat API innehåller svaret en
Apim-Debug-Authorization-WrongAPI
rubrik med ett felmeddelande.
Hämta spårningen – Skicka spårnings-ID:t som erhölls i föregående steg till gatewayens API för listspårning . Om du till exempel vill hämta spårningen för den hanterade gatewayen använder du en begäran som liknar följande:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
I begärandetexten skickar du spårnings-ID:t som erhölls i föregående steg.
{ "traceId": "0123456789abcdef...." }
Svarstexten innehåller spårningsdata för den tidigare API-begäran till gatewayen. Spårningen liknar den spårning som du kan se genom att spåra ett anrop i portalens testkonsol.
Information om hur du anpassar spårningsinformation finns i spårningsprincipen .
Nästa steg
I den här självstudiekursen lärde du dig att:
- Spåra ett exempelanrop i testkonsolen
- Granska bearbetningssteg för begäran
- Aktivera spårning för ett API
Gå vidare till nästa kurs: