Tutorial: Men-debug API Anda menggunakan pelacakan permintaan
BERLAKU UNTUK: Semua tingkatAN API Management
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
Prasyarat
- Mempelajari terminologi Azure API Management.
- Menyelesaikan mulai cepat berikut: Membuat instans Azure API Management.
- Selesaikan tutorial berikut: Mengimpor dan menerbitkan API pertama Anda.
Penting
- API Management tidak lagi mendukung langganan untuk pelacakan atau header Ocp-Apim-Trace .
- Untuk meningkatkan keamanan API, pelacakan sekarang dapat 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 Mengaktifkan pelacakan API.
- 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
Ikuti langkah-langkah ini untuk melacak permintaan API di konsol pengujian di portal. Contoh ini mengasumsikan bahwa Anda mengimpor API sampel dalam tutorial sebelumnya. Anda dapat mengikuti langkah-langkah serupa dengan API lain yang Anda impor.
Masuk ke portal Microsoft Azure, dan buka instans API Management Anda.
Pilih API API>.
Pilih Petstore API dari daftar API Anda.
Pilih tab Uji.
Pilih operasi Temukan hewan peliharaan menurut ID.
Di parameter kueri petId, masukkan 1.
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.
Pilih Lacak.
Meninjau informasi jejak
Setelah panggilan selesai, buka tab Lacak di tanggapan HTTP.
Pilih salah satu tautan berikut untuk melompat ke info jejak terperinci: Masuk, Backend, Keluar, Pada kesalahan.
Masuk - Menampilkan API Management permintaan asli yang diterima dari pemanggil dan kebijakan yang diterapkan pada permintaan. Misalnya, jika Anda menambahkan kebijakan di Tutorial: Mengubah dan melindungi 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
Langkah-langkah tingkat tinggi berikut diperlukan untuk mengaktifkan pelacakan permintaan ke API Management saat menggunakan curl
, klien REST seperti Visual Studio Code dengan ekstensi Klien REST, atau aplikasi klien. Saat ini langkah-langkah ini harus diikuti menggunakan API Management REST API:
- Dapatkan kredensial token untuk pelacakan.
- Tambahkan nilai token di
Apim-Debug-Authorization
header permintaan ke gateway API Management. - Dapatkan ID pelacakan di
Apim-Trace-Id
header respons. - Ambil jejak yang sesuai dengan ID pelacakan.
Langkah-langkah terperinci mengikuti.
Catatan
- Langkah-langkah ini 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.
- Untuk informasi tentang mengautentikasi ke REST API, lihat Referensi Azure REST API.
Dapatkan kredensial token - Panggil API info masuk Daftar debug gateway API Management. Di URI, masukkan "terkelola" untuk gateway terkelola instans di cloud, atau ID gateway untuk gateway yang dihost sendiri. Misalnya, untuk mendapatkan kredensial pelacakan untuk gateway terkelola instans, gunakan permintaan 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
sebagaitracing
. Secara default kredensial token yang dikembalikan dalam respons kedaluwarsa setelah 1 jam, tetapi Anda dapat menentukan nilai yang berbeda dalam payload. Contohnya:{ "credentialsExpireAfter": PT1H, "apiId": ""/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiName}", "purposes": ["tracing"] }
Kredensial token dikembalikan dalam respons, mirip dengan yang berikut ini:
{ "token": "aid=api-name&......." }
Tambahkan nilai token di header permintaan - Untuk mengaktifkan pelacakan permintaan ke gateway API Management, kirim nilai token di
Apim-Debug-Authorization
header. Misalnya, untuk melacak panggilan ke PETstore API yang Anda impor dalam tutorial sebelumnya, Anda mungkin menggunakan permintaan yang mirip dengan yang berikut ini:curl -v https://apim-hello-world.azure-api.net/pet/1 HTTP/1.1 -H "Ocp-Apim-Subscription-Key: <subscription-key>" -H "Apim-Debug-Authorization: aid=api-name&......."
Bergantung pada token, respons berisi salah satu header berikut:
Jika token valid, respons menyertakan
Apim-Trace-Id
header yang nilainya adalah ID pelacakan, mirip dengan yang berikut ini:Apim-Trace-Id: 0123456789abcdef....
Jika token kedaluwarsa, respons menyertakan
Apim-Debug-Authorization-Expired
header dengan informasi tentang tanggal kedaluwarsa.Jika token diperoleh untuk API yang berbeda, respons menyertakan
Apim-Debug-Authorization-WrongAPI
header dengan pesan kesalahan.
Ambil jejak - Teruskan ID pelacakan yang diperoleh pada langkah sebelumnya ke API Pelacakan Daftar gateway. Misalnya, untuk mengambil jejak gateway terkelola, gunakan permintaan 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": "0123456789abcdef...." }
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 di konosle pengujian
- Meninjau langkah-langkah pemrosesan permintaan
- Mengaktifkan pelacakan untuk API
Melanjutkan ke tutorial berikutnya: