Tutorial: Men-debug API Anda menggunakan pelacakan permintaan

BERLAKU UNTUK: Konsumsi | Pengembang | Dasar | Standar | Premium

Tutorial ini menjelaskan cara memeriksa (melacak) pemrosesan permintaan di Azure API Management. Pelacakan membantu Anda men-debug dan memecahkan masalah API Anda.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Melacak contoh panggilan di konsol pengujian
  • Meninjau langkah-langkah pemrosesan permintaan
  • Mengaktifkan pelacakan untuk API

Cuplikan layar memperlihatkan pemeriksa API.

Catatan

Saat ini, pelacakan permintaan API tidak didukung di tingkat Dasar v2 dan Standard v2.

Prasyarat

Penting

  • Pelacakan permintaan API Management tidak dapat lagi diaktifkan dengan mengatur header Ocp-Apim-Trace dalam permintaan dan menggunakan nilai header Ocp-Apim-Trace-Location dalam respons untuk mengambil jejak.
  • Untuk meningkatkan keamanan, pelacakan sekarang diaktifkan pada tingkat API individual dengan mendapatkan token terbatas waktu menggunakan API Management REST API, dan meneruskan token dalam permintaan ke gateway. Untuk detailnya, lihat nanti dalam tutorial ini.
  • Berhati-hatilah saat mengaktifkan pelacakan, karena dapat mengekspos informasi sensitif dalam data pelacakan. Pastikan Anda memiliki langkah-langkah keamanan yang sesuai untuk melindungi data pelacakan.

Melacak panggilan di portal

  1. Masuk ke portal Microsoft Azure, dan buka instans API Management Anda.

  2. Pilih API.

  3. Pilih Demo Conference API dari daftar API Anda.

  4. Pilih tab Uji.

  5. Pilih operasi GetSpeakers.

  6. Secara opsional periksa nilai untuk header Ocp-Apim-Subscription-Key yang digunakan dalam permintaan dengan memilih ikon "mata".

    Tip

    Anda dapat mengganti nilai Ocp-Apim-Subscription-Key dengan mengambil kunci untuk langganan lain di portal. Pilih Langganan dan buka menu konteks (...) untuk langganan lain. Pilih Tampilkan/sembunyikan kunci dan salin salah satu kunci. Anda juga dapat menghasilkan ulang kunci jika diperlukan. Kemudian, di konsol pengujian, pilih + Tambahkan header untuk menambahkan header Ocp-Apim-Subscription-Key dengan nilai kunci yang baru.

  7. Pilih Lacak.

Meninjau informasi jejak

  1. Setelah panggilan selesai, buka tab Lacak di tanggapan HTTP.

  2. Pilih salah satu tautan berikut untuk melompat ke info jejak terperinci: Masuk, Backend, Keluar, Pada kesalahan.

    Meninjau jejak respons

    • Masuk - Menampilkan API Management permintaan asli yang diterima dari pemanggil dan kebijakan yang diterapkan pada permintaan. Misalnya, jika Anda menambahkan kebijakan di Tutorial: Ubah dan lindungi API Anda, kebijakan tersebut akan muncul di sini.

    • Backend - Menampilkan permintaan API Management yang dikirim ke backend API dan respons yang diterimanya.

    • Keluar - Menampilkan kebijakan yang diterapkan pada respons sebelum mengirim kembali ke pemanggil.

    • Pada kesalahan - Menunjukkan kesalahan yang terjadi selama pemrosesan permintaan dan kebijakan yang diterapkan pada kesalahan.

    Tip

    Setiap langkah juga menunjukkan waktu yang berlalu sejak permintaan diterima oleh API Management.

Mengaktifkan pelacakan untuk API

Anda dapat mengaktifkan pelacakan untuk API saat membuat permintaan ke API Management menggunakan curl, klien REST seperti Visual Studio Code dengan ekstensi Klien REST, atau aplikasi klien.

Aktifkan pelacakan dengan langkah-langkah berikut menggunakan panggilan ke API Management REST API.

Catatan

Langkah-langkah berikut memerlukan API Management REST API versi 2023-05-01-preview atau yang lebih baru. Anda harus diberi peran Kontributor atau yang lebih tinggi pada instans API Management untuk memanggil REST API.

  1. Dapatkan kredensial pelacakan dengan memanggil DAFTAR API info masuk debug. Teruskan ID gateway di URI, atau gunakan "terkelola" untuk gateway terkelola instans di cloud. Misalnya, untuk mendapatkan kredensial pelacakan untuk gateway terkelola, gunakan panggilan yang mirip dengan yang berikut ini:

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

    Di isi permintaan, berikan ID sumber daya lengkap API yang ingin Anda lacak, dan tentukan purposes sebagai tracing. Secara default kredensial token yang dikembalikan dalam respons kedaluwarsa setelah 1 jam, tetapi Anda dapat menentukan nilai yang berbeda dalam payload.

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

    Kredensial token dikembalikan dalam respons, mirip dengan yang berikut ini:

    {
          "token": "aid=api-name&p=tracing&ex=......."
    }
    
  2. Untuk mengaktifkan pelacakan permintaan ke gateway API Management, kirim nilai token di Apim-Debug-Authorization header. Misalnya, untuk melacak panggilan ke API konferensi demo, gunakan panggilan yang mirip dengan yang berikut ini:

    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. Bergantung pada token, respons berisi header yang berbeda:

    • Jika token valid, respons menyertakan Apim-Trace-Id header yang nilainya adalah ID pelacakan.
    • Jika token kedaluwarsa, respons menyertakan Apim-Debug-Authorization-Expired header dengan informasi tentang tanggal kedaluwarsa.
    • Jika token diperoleh untuk API yang Apim-Debug-Authorization-WrongAPI salah, respons menyertakan header dengan pesan kesalahan.
  4. Untuk mengambil jejak, teruskan ID pelacakan yang diperoleh pada langkah sebelumnya ke DAFTAR API pelacakan untuk gateway. Misalnya, untuk mengambil jejak gateway terkelola, gunakan panggilan yang mirip dengan yang berikut ini:

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

    Di isi permintaan, berikan ID pelacakan yang diperoleh pada langkah sebelumnya.

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

    Isi respons berisi data pelacakan untuk permintaan API sebelumnya ke gateway. Jejaknya mirip dengan jejak yang dapat Anda lihat dengan melacak panggilan di konsol pengujian portal.

Untuk informasi tentang menyesuaikan informasi pelacakan, lihat kebijakan pelacakan .

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara:

  • Melacak contoh panggilan
  • Meninjau langkah-langkah pemrosesan permintaan
  • Mengaktifkan pelacakan untuk API

Melanjutkan ke tutorial berikutnya: