Oktatóanyag: API-k hibakeresése kérések nyomon követésével

A következőkre vonatkozik: Felhasználás | Fejlesztő | Alapszintű | Standard | Prémium

Ez az oktatóanyag bemutatja, hogyan vizsgálhatja meg (nyomon) a kérelmek feldolgozását az Azure API Managementben. A nyomkövetés segít az API hibakeresésében és hibaelhárításában.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Példahívás nyomon követése a tesztkonzolon
  • Kérelemfeldolgozási lépések áttekintése
  • Api nyomkövetésének engedélyezése

Képernyőkép az API-felügyelőről.

Feljegyzés

Az API-kérések nyomkövetése jelenleg nem támogatott az Alapszintű v2 és a Standard v2 szinteken.

Előfeltételek

Fontos

  • Az API Management-kérések nyomkövetése nem engedélyezhető úgy, hogy beállítja az Ocp-Apim-Trace fejlécet egy kérelemben, és a válaszban az Ocp-Apim-Trace-Location fejléc értékét használja a nyomkövetés lekéréséhez.
  • A biztonság javítása érdekében a nyomkövetés mostantól engedélyezve van az egyes API-k szintjén azáltal, hogy az API Management REST API-val egy időkorlátos jogkivonatot szerez be, és átadja a jogkivonatot egy kérésben az átjárónak. További részletekért lásd az oktatóanyag későbbi szakaszát.
  • Ügyeljen a nyomkövetés engedélyezésére, mivel bizalmas információkat tehet közzé a nyomkövetési adatokban. Győződjön meg arról, hogy rendelkezik a nyomkövetési adatok védelméhez szükséges biztonsági intézkedésekkel.

Hívás nyomon követése a portálon

  1. Jelentkezzen be az Azure Portalra, és keresse meg az API Management-példányt.

  2. Válassza az API-k lehetőséget.

  3. Válassza a Demo Conference API-t az API-listából.

  4. Kattintson a Teszt fülre.

  5. Válassza a GetSpeakers műveletet.

  6. Ha szeretné, ellenőrizze a kérelemben használt Ocp-Apim-Subscription-Key fejléc értékét a "szem" ikon kiválasztásával.

    Tipp.

    Az Ocp-Apim-Subscription-Key értékét felülbírálhatja egy másik előfizetés kulcsának beolvasásával a portálon. Válassza az Előfizetések lehetőséget, és nyissa meg a helyi menüt (...) egy másik előfizetéshez. Válassza a Kulcsok megjelenítése/elrejtése lehetőséget, és másolja az egyik kulcsot. Szükség esetén újragenerálhatja a kulcsokat. Ezután a tesztkonzolon válassza a + Fejléc hozzáadása lehetőséget egy Ocp-Apim-Subscription-Key fejléc hozzáadásához az új kulcsértékkel.

  7. Válassza a Nyomkövetés lehetőséget.

Nyomkövetési információk áttekintése

  1. A hívás befejezése után lépjen a HTTP-válasz Nyomkövetés lapjára.

  2. Válassza ki az alábbi hivatkozások bármelyikét a részletes nyomkövetési adatokra való ugráshoz: Bejövő, Háttérrendszeri, Kimenő, Be hiba.

    Válaszkövetés áttekintése

    • Bejövő – Megjeleníti a hívótól kapott eredeti KÉRÉS API Managementet és a kérelemre alkalmazott szabályzatokat. Ha például a következő oktatóanyagban hozzáadott szabályzatokat: Az API átalakítása és védelme, itt jelennek meg.

    • Háttérrendszer – Megjeleníti az API-háttérrendszernek küldött API Management-kérelmeket és a kapott választ.

    • Kimenő – Megjeleníti a válaszra alkalmazott szabályzatokat, mielőtt visszaküldené a hívónak.

    • Hiba esetén – A kérés feldolgozása során előforduló hibákat és a hibákra alkalmazott szabályzatokat jeleníti meg.

    Tipp.

    Az egyes lépések a hívás az API Management által való fogadása óta eltelt időt is mutatják.

Api nyomkövetésének engedélyezése

Engedélyezheti az API-k nyomkövetését az API Management curlfelé irányuló kérések során REST-ügyféllel, például a Visual Studio Code REST-ügyfélbővítménnyel vagy ügyfélalkalmazással.

Engedélyezze a nyomkövetést a következő lépésekkel az API Management REST API hívásával.

Feljegyzés

Az alábbi lépésekhez az API Management REST API 2023-05-01-preview vagy újabb verziójára van szükség. A REST API meghívásához hozzá kell rendelnie a közreműködői vagy magasabb szerepkört az API Management-példányhoz.

  1. A Nyomkövetési hitelesítő adatok lekérése a Lista hibakeresési hitelesítő adatok API meghívásával. Adja meg az átjáró azonosítóját az URI-ban, vagy használja a "felügyelt" lehetőséget a példány felügyelt átjárója számára a felhőben. A felügyelt átjáró nyomkövetési hitelesítő adatainak lekéréséhez például használjon az alábbihoz hasonló hívást:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
    

    A kérelem törzsében adja meg a nyomon követni kívánt API teljes erőforrás-azonosítóját, és adja meg purposes a következőt tracing: . A válaszban visszaadott jogkivonat hitelesítő adatai alapértelmezés szerint 1 óra elteltével lejárnak, de a hasznos adatban megadhat egy másik értéket.

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

    A jogkivonat hitelesítő adatait a rendszer a következőhöz hasonlóan adja vissza a válaszban:

    {
          "token": "aid=api-name&p=tracing&ex=......."
    }
    
  2. Ha engedélyezni szeretné egy kérés nyomkövetését az API Management-átjárónak, küldje el a jogkivonat értékét egy Apim-Debug-Authorization fejlécben. Ha például a demó konferencia API-jának hívását szeretné nyomon követni, használjon az alábbihoz hasonló hívást:

    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. A jogkivonattól függően a válasz különböző fejléceket tartalmaz:

    • Ha a jogkivonat érvényes, a válasz tartalmaz egy Apim-Trace-Id fejlécet, amelynek értéke a nyomkövetési azonosító.
    • Ha a jogkivonat lejárt, a válasz tartalmaz egy Apim-Debug-Authorization-Expired fejlécet, amely tartalmazza a lejárati dátummal kapcsolatos információkat.
    • Ha a jogkivonat nem megfelelő API-hoz lett beszerezve, a válasz tartalmaz egy Apim-Debug-Authorization-WrongAPI hibaüzenetet tartalmazó fejlécet.
  4. A nyomkövetés lekéréséhez adja át az előző lépésben beszerzett nyomkövetési azonosítót az átjáróhoz tartozó List trace API-nak. A felügyelt átjáró nyomkövetésének lekéréséhez például használjon az alábbihoz hasonló hívást:

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
    

    A kérelem törzsében adja át az előző lépésben beszerzett nyomkövetési azonosítót.

    {
        "traceId": "<trace ID>"
    }
    

    A válasz törzse tartalmazza az átjáróra irányuló előző API-kérés nyomkövetési adatait. A nyomkövetés hasonló ahhoz a nyomkövetéshez, amelyet egy hívás nyomon követésével láthat a portál tesztkonzolján.

A nyomkövetési információk testreszabásával kapcsolatos információkért tekintse meg a nyomkövetési szabályzatot.

Következő lépések

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:

  • Példahívás nyomon követése
  • Kérelemfeldolgozási lépések áttekintése
  • Api nyomkövetésének engedélyezése

Folytassa a következő oktatóanyaggal: