Как просмотреть параметры публикации неудавшихся запросов в управлении API Azure?

Мы отлаживаем наши системы, чтобы увидеть сбойные лазурные сообщения и хотим узнать, почему они вообще не сработали.

Диагностика AzureMetric и Azure не помогают, когда мы выполняем запрос через OMS.

Где мы видим, какие ценности заставили нас потерпеть неудачу?

Наш запрос OMS

поиск * | где Ресурс == "xxx-API-NONPRODUCTION" | где Type == "AzureDiagnostics"

Ошибка образца из OMS

$ table AzureDiagnostics TenantId yyy-0a7b-4833-8fb6-yyy SourceSystem Azure TimeGenerated [UTC] 2017-12-20T15: 05: 00.845Z Тип AzureDiagnostics Environment_s Конфигурация PROD lastError_source_s LastError_source_s Операция lastError_reason_s Операция NotFound_Signed_Text_Signed_Signed_Signed_Signed_Signed_Signed_Signed_Signed. lastError_section_s backend OperationName Microsoft.ApiManagement / GatewayLogs Категория GatewayLogs CallerIPAddress 51.yyy.34.yyy location_s Западный западный метод method_s GET url_s https://xxx-api-nonproduction.azure-api.net/qa/user/api/zzz/UserAccountExistsByEmailAddressAndIsEnabled/2bdel.qags2012@yopmail.com cache_s нет apiId_s tttt productId_s tttt userId_s 1 apimSubscriptionId_s vvvv ResourceId /SUBSCRIPTIONS/vvvv-2F08-4DED-92B8-vvvv/RESOURCEGROPHRID_PRIDGE_PRIDGE_RUSSWRX_PRID_WRKSWC -NONPRODUCTION SubscriptionId VVV-VVVV-VVV-VVV-VVV ResourceGroup ххх-ОСНОВНОЙ-непроизводственных ResourceProvider MICROSOFT.APIMANAGEMENT ресурсов уууу-API-непроизводственных Тип_ресурса ОБСЛУЖИВАНИЕ CorrelationId VVV-VVV-VVV-VVV-VVVVV isRequestSuccess_b ложные Level_d 4 EventId_d 222 DurationMs 0 responseCode_d 404 responseSize_d 130

1 ответ

По умолчанию служба управления API не регистрирует тело запроса или заголовки, что можно сделать, но с некоторой дополнительной работой. Вам нужно будет использовать политику log-to-eventhub, чтобы отправить тело в eventhub и прочитать его позже для входа. Или вы можете сохранить тело запроса в переменную и вернуть его в качестве ответа на запрос из раздела об ошибках, если запрос не выполнен.

Но из вашего журнала я вижу, что вы получаете OperationNotFound: Невозможно сопоставить входящий запрос с операцией. Это означает, что URL был вызван в сервисе APIM, который не соответствует ни одной операции, определенной в API. Рассматриваемый URL-адрес: https://xxx-api-nonproduction.azure-api.net/qa/user/api/zzz/UserAccountExistsByEmailAddressAndIsEnabled/2bdel.qags2012@yopmail.com

Если мы предполагаем, что "qa/user" является суффиксом API, то "/zzz/UserAccountExistsByEmailAddressAndIsEnabled/2bdel.qags2012@yopmail.com" должен соответствовать шаблону URL одной из операций в таком API, и такая операция должна иметь метод, установленный как GET, так как это то, что называется.

Другие вопросы по тегам