Öğretici: İstek izlemeyi kullanarak API'lerinizde hata ayıklama
UYGULANANLAR: Tüm API Management katmanları
Bu öğreticide, Azure API Management'ta istek işlemenin nasıl denetlendiği (izlenir) açıklanır. İzleme, API'nizde hata ayıklamanıza ve sorun gidermenize yardımcı olur.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Test konsolunda örnek bir çağrıyı izleme
- İstek işleme adımlarını gözden geçirme
- API için izlemeyi etkinleştirme
Önkoşullar
- Azure API Management terminolojisini öğrenin.
- Şu hızlı başlangıcı tamamlayın: Azure API Management örneği oluşturma.
- Aşağıdaki öğreticiyi tamamlayın: İlk API'nizi içeri aktarın ve yayımlayın.
Önemli
- API Management artık izleme için abonelikleri veya Ocp-Apim-Trace üst bilgisini desteklemez .
- API güvenliğini geliştirmek için artık API Management REST API'sini kullanarak zaman sınırlı bir belirteç elde ederek ve belirteci ağ geçidine bir istekte geçirerek izleme tek bir API düzeyinde etkinleştirilebilir. Ayrıntılar için bkz . API izlemeyi etkinleştirme.
- İzleme verilerindeki hassas bilgileri açığa çıkaraabildiği için izlemeyi etkinleştirirken dikkatli olun. İzleme verilerini korumak için uygun güvenlik önlemlerine sahip olduğunuzdan emin olun.
Portalda aramayı izleme
Portaldaki test konsolunda bir API isteğini izlemek için bu adımları izleyin. Bu örnekte, önceki bir öğreticide örnek BIR API içeri aktardığınız varsayılır. İçeri aktardığınız farklı bir API ile benzer adımları izleyebilirsiniz.
Azure portalında oturum açın ve API Management örneğine gidin.
API'ler API'lerini> seçin.
API listenizden Petstore API'sini seçin.
Test sekmesini seçin.
Evcil hayvan kimliğine göre bul işlemini seçin.
petId Sorgusu parametresine 1 girin.
İsteğe bağlı olarak, "eye" simgesini seçerek istekte kullanılan Ocp-Apim-Subscription-Key üst bilgisinin değerini denetleyin.
İpucu
Portalda başka bir abonelik için bir anahtar alarak Ocp-Apim-Subscription-Key değerini geçersiz kılabilirsiniz. Abonelikler'i seçin ve başka bir abonelik için bağlam menüsünü (...) açın. Anahtarları göster/gizle'yi seçin ve anahtarlardan birini kopyalayın. Gerekirse anahtarları da yeniden oluşturabilirsiniz. Ardından test konsolunda + Üst bilgi ekle'yi seçerek yeni anahtar değeriyle bir Ocp-Apim-Subscription-Key üst bilgisi ekleyin.
İzle'yi seçin.
İzleme bilgilerini gözden geçirme
Arama tamamlandıktan sonra HTTP yanıtında İzleme sekmesine gidin.
Ayrıntılı izleme bilgilerine atlamak için aşağıdaki bağlantılardan herhangi birini seçin: Gelen, Arka uç, Giden, Hatada.
Gelen - Arayandan alınan özgün istek API Management'ı ve isteğe uygulanan ilkeleri gösterir. Örneğin, Öğretici: API'nizi dönüştürme ve koruma altına ilkeler eklediyseniz, bunlar burada görünür.
Arka uç - API arka ucuna gönderilen istekler API Management'ı ve aldığı yanıtı gösterir.
Giden - Arayana geri göndermeden önce yanıta uygulanan ilkeleri gösterir.
Hata durumunda - İsteğin işlenmesi sırasında oluşan hataları ve hatalara uygulanan ilkeleri gösterir.
İpucu
Her bir adım, isteğin API Yönetimi tarafından alınmasından bu yana geçen süreyi de gösterir.
API için izlemeyi etkinleştirme
kullanırken API Management'a curl
yönelik bir istek için izlemeyi etkinleştirmek için aşağıdaki üst düzey adımlar gereklidir. REST İstemci uzantısına sahip Visual Studio Code gibi bir REST istemcisi veya bir istemci uygulaması. Şu anda BU adımlar API Management REST API kullanılarak izlenmelidir:
- İzleme için bir belirteç kimlik bilgisi alın.
- İstek üst bilgisindeki
Apim-Debug-Authorization
belirteç değerini API Management ağ geçidine ekleyin. - Yanıt üst bilgisinde
Apim-Trace-Id
bir izleme kimliği alın. - İzleme kimliğine karşılık gelen izlemeyi alın.
Ayrıntılı adımlar izlenmiştir.
Not
- Bu adımlar API Management REST API sürüm 2023-05-01-preview veya üzerini gerektirir. REST API'yi çağırmak için API Management örneğinde Katkıda Bulunan veya daha yüksek bir role sahip olmanız gerekir.
- REST API'de kimlik doğrulaması hakkında bilgi için bkz . Azure REST API başvurusu.
Belirteç kimlik bilgisi alma - API Management ağ geçidinin Liste hata ayıklama kimlik bilgileri API'sini çağırın. URI'ye buluttaki örneğin yönetilen ağ geçidi için "yönetilen" veya şirket içinde barındırılan bir ağ geçidinin ağ geçidi kimliğini girin. Örneğin, örneğin yönetilen ağ geçidinin izleme kimlik bilgilerini almak için aşağıdakine benzer bir istek kullanın:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
İstek gövdesinde, izlemek istediğiniz API'nin tam kaynak kimliğini geçirin ve olarak
tracing
belirtinpurposes
. Varsayılan olarak yanıtta döndürülen belirteç kimlik bilgilerinin süresi 1 saat sonra dolar, ancak yükte farklı bir değer belirtebilirsiniz. Örneğin:{ "credentialsExpireAfter": PT1H, "apiId": ""/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiName}", "purposes": ["tracing"] }
Belirteç kimlik bilgileri, aşağıdakine benzer şekilde yanıtta döndürülür:
{ "token": "aid=api-name&......." }
İstek üst bilgisine belirteç değerini ekleme - API Management ağ geçidine bir istek için izlemeyi etkinleştirmek için, belirteç değerini bir
Apim-Debug-Authorization
üst bilgide gönderin. Örneğin, önceki bir öğreticide içeri aktardığınız Petstore API'sine yapılan çağrıyı izlemek için aşağıdakine benzer bir istek kullanabilirsiniz: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&......."
Belirteçe bağlı olarak, yanıt aşağıdaki üst bilgilerden birini içerir:
Belirteç geçerliyse, yanıt aşağıdakine benzer şekilde, değeri izleme kimliği olan bir
Apim-Trace-Id
üst bilgi içerir:Apim-Trace-Id: 0123456789abcdef....
Belirtecin süresi dolduysa yanıt, son kullanma tarihi hakkında bilgi içeren bir
Apim-Debug-Authorization-Expired
üst bilgi içerir.Belirteç farklı bir API için alındıysa, yanıt hata iletisi içeren bir
Apim-Debug-Authorization-WrongAPI
üst bilgi içerir.
İzlemeyi alma - Önceki adımda alınan izleme kimliğini ağ geçidinin Liste izleme API'sine geçirin. Örneğin, yönetilen ağ geçidinin izlemesini almak için aşağıdakine benzer bir istek kullanın:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/managed/listTrace?api-version=2023-05-01-preview
İstek gövdesinde, önceki adımda alınan izleme kimliğini geçirin.
{ "traceId": "0123456789abcdef...." }
Yanıt gövdesi, ağ geçidine yönelik önceki API isteğinin izleme verilerini içerir. İzleme, portalın test konsolunda bir çağrıyı izleyerek görebileceğiniz izlemeye benzer.
İzleme bilgilerini özelleştirme hakkında bilgi için izleme ilkesine bakın.
Sonraki adımlar
Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:
- Test konsolunda örnek bir çağrıyı izleme
- İstek işleme adımlarını gözden geçirme
- API için izlemeyi etkinleştirme
Sonraki öğreticiye ilerleyin: