Kurz: Ladění rozhraní API pomocí trasování požadavků

PLATÍ PRO: Consumption | Vývojář | Základní | Standardní | Premium

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

Snímek obrazovky znázorňující inspektor rozhraní API

Poznámka:

Trasování požadavků rozhraní API se v současné době nepodporuje na úrovních Basic v2 a Standard v2.

Požadavky

Důležité

  • Trasování požadavků služby API Management už nejde povolit nastavením hlavičky Ocp-Apim-Trace v požadavku a použitím hodnoty hlavičky Ocp-Apim-Trace-Location v odpovědi na načtení trasování.
  • Pokud chcete zlepšit zabezpečení, trasování je teď povolené 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 dále v tomto kurzu.
  • 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

  1. Přihlaste se k webu Azure Portal a přejděte k vaší instanci služby API Management.

  2. Vyberte Rozhraní API.

  3. Ze seznamu rozhraní API vyberte ukázkové rozhraní API konference.

  4. Vyberte kartu Test.

  5. Vyberte operaci GetSpeakers.

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

  7. Vyberte Trasování.

Kontrola informací o trasování

  1. Po dokončení volání přejděte v odpovědi HTTP na kartu Trasování.

  2. 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ě.

    Kontrola trasování odpovědí

    • 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

Trasování pro rozhraní API můžete povolit při provádění požadavků do služby API Management pomocí curlklienta REST, klienta REST, jako je Visual Studio Code s rozšířením REST Client nebo klientská aplikace.

Povolte trasování pomocí následujících kroků pomocí volání rozhraní REST API služby API Management.

Poznámka:

Následující 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šší.

  1. Získání přihlašovacích údajů trasování voláním rozhraní API pro ladění seznamu. Předejte ID brány v identifikátoru URI nebo použijte spravovanou bránu instance v cloudu. Pokud například chcete získat přihlašovací údaje trasování pro spravovanou bránu, použijte volání podobné tomuto:

    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 jako tracing. 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.

    {
        "credentialsExpireAfter": PT1H,
        "apiId": "<API resource ID>",
        "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=tracing&ex=......."
    }
    
  2. Pokud chcete povolit trasování požadavku na bránu služby API Management, odešlete hodnotu tokenu Apim-Debug-Authorization v hlavičce. Pokud například chcete trasovat volání do ukázkového rozhraní API konference, použijte volání podobné tomuto:

    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. V závislosti na tokenu obsahuje odpověď různé hlavičky:

    • Pokud je token platný, odpověď obsahuje hlavičku Apim-Trace-Id , jejíž hodnotou je ID trasování.
    • 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 nesprávné rozhraní API, odpověď obsahuje hlavičku Apim-Debug-Authorization-WrongAPI s chybovou zprávou.
  4. Pokud chcete trasování načíst, předejte ID trasování získané v předchozím kroku do rozhraní API trasování seznamu pro bránu. Pokud například chcete načíst trasování pro spravovanou bránu, použijte volání podobné tomuto:

    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": "<trace ID>"
    }
    

    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í
  • Kontrola kroků zpracování požadavků
  • Povolení trasování pro rozhraní API

Přejděte k dalšímu kurzu: