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
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
- Az Azure API Management terminológiájának ismerete.
- Tekintse át a következő rövid útmutatót: Azure API Management-példány létrehozása.
- Végezze el az alábbi oktatóanyagot: Importálja és tegye közzé az első API-t.
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
Jelentkezzen be az Azure Portalra, és keresse meg az API Management-példányt.
Válassza az API-k lehetőséget.
Válassza a Demo Conference API-t az API-listából.
Kattintson a Teszt fülre.
Válassza a GetSpeakers műveletet.
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.
Válassza a Nyomkövetés lehetőséget.
Nyomkövetési információk áttekintése
A hívás befejezése után lépjen a HTTP-válasz Nyomkövetés lapjára.
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.
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 curl
felé 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.
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őttracing
: . 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=......." }
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=......."
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.
- Ha a jogkivonat érvényes, a válasz tartalmaz egy
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: