Självstudie: Felsöka dina API:er med hjälp av spårning av begäranden

GÄLLER FÖR: Förbrukning | Utvecklare | Grundläggande | Standard | Premium

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

Skärmbild som visar API-inspektören.

Kommentar

För närvarande stöds inte spårning av API-begäranden på nivåerna Basic v2 och Standard v2.

Förutsättningar

Viktigt!

  • Spårning av API Management-begäranden kan inte längre aktiveras genom att ange Ocp-Apim-Trace-huvudet i en begäran och använda värdet för huvudet Ocp-Apim-Trace-Location i svaret för att hämta spårningen.
  • För att förbättra säkerheten är spårning nu aktiverat 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 senare i den här självstudien.
  • 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

  1. Logga in på Azure-portalen och gå till din API Management-instans.

  2. Välj API:er.

  3. Välj Demo Conference API i din API-lista.

  4. Välj fliken Test.

  5. Välj åtgärden GetSpeakers.

  6. 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.

  7. Välj Spåra.

Granska spårningsinformation

  1. När anropet är klart går du till fliken Spårning i HTTP-svaret.

  2. Välj någon av följande länkar för att gå till detaljerad spårningsinformation: Inkommande, Serverdel, Utgående, På-fel.

    Granska svarsspårning

    • 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

Du kan aktivera spårning för ett API när du gör begäranden till API Management med hjälp av curl, en REST-klient som Visual Studio Code med REST-klienttillägget eller en klientapp.

Aktivera spårning genom att följa stegen nedan med hjälp av anrop till API Management REST API.

Kommentar

Följande steg 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.

  1. Hämta spårningsautentiseringsuppgifter genom att anropa API:et för listfelsökningsautentiseringsuppgifter . Skicka gateway-ID:t i URI:n eller använd "hanterad" för instansens hanterade gateway i molnet. Om du till exempel vill hämta spårningsautentiseringsuppgifter för den hanterade gatewayen använder du ett anrop 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 som tracing. 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.

    {
        "credentialsExpireAfter": PT1H,
        "apiId": "<API resource ID>",
        "purposes: ["tracing"]
    }
    

    Tokenautentiseringsuppgifterna returneras i svaret, ungefär som följande:

    {
          "token": "aid=api-name&p=tracing&ex=......."
    }
    
  2. 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 demokonferens-API:et använder du ett anrop som liknar följande:

    curl -v GET https://apim-hello-world.azure-api.net/conference/speakers HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&p=tracing&ex=......."
    
  3. Beroende på token innehåller svaret olika rubriker:

    • Om token är giltig innehåller svaret en Apim-Trace-Id rubrik vars värde är spårnings-ID:t.
    • 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 fel API innehåller svaret en Apim-Debug-Authorization-WrongAPI rubrik med ett felmeddelande.
  4. Om du vill hämta spårningen skickar du spårnings-ID:t som erhölls i föregående steg till API:et listspårning för gatewayen. Om du till exempel vill hämta spårningen för den hanterade gatewayen använder du ett anrop 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": "<trace ID>"
    }
    

    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
  • Granska bearbetningssteg för begäran
  • Aktivera spårning för ett API

Gå vidare till nästa kurs: