如何在Azure api管理中查看失败的请求发布参数?

问题描述 投票:0回答:1

我们正在调试我们的系统,以查看失败的天蓝色帖子,并希望了解它们为什么首先失败。

当我们通过OMS运行查询时,AzureMetric和Azure诊断程序没有帮助。

我们在哪里看到哪些价值观让我们失败了?

我们的OMS查询

搜索* |其中Resource ==“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_reason_s OperationNotFound lastError_message_s无法将传入请求与操作匹配。 lastError_section_s后端OperationName Microsoft.ApiManagement / GatewayLogs类别GatewayLogs CallerIPAddress 51.yyy.34.yyy location_s UK West method_s GET url_s https://xxx-api-nonproduction.azure-api.net/qa/user/api/zzz/UserAccountExistsByEmailAddressAndIsEnabled/[email protected] cache_s none apiId_s tttt productId_s tttt userId_s 1 apimSubscriptionId_s vvvv ResourceId / SUBSCRIPTIONS / vvvv-2F08-4DED-92B8-vvvv / RESOURCEGROUPS /xxx-CORE-NONPRODUCTION/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/xxx-API-NONPRODUCTION SubscriptionId vvv-vvvv-vvv-vvv-vvv ResourceGroup xxx-CORE-NONPRODUCTION ResourceProvider MICROSOFT.APIMANAGEMENT资源uuuu-API-NONPRODUCTION资源类型服务CorrelationId vvv -vvv-vvv-vvv-vvvvv isRequestSuccess_b false Level_d 4 EventId_d 222 DurationMs 0 responseCode_d 404 responseSize_d 130

azure azure-api-management azure-oms
1个回答
0
投票

默认情况下,API管理服务不会记录请求正文或标题,这可以通过一些额外的工作来完成。您必须使用log-to-eventhub策略将body发送到eventhub并稍后在那里读取以进行记录。或者您可以将请求正文保存到变量中,并在请求失败时将其作为响应从错误的部分返回。

但是从您的日志中我可以看到您获得OperationNotFound:无法将传入的请求与操作相匹配。这意味着在APIM服务上调用的URL与API中定义的任何操作都不匹配。有问题的网址是https://xxx-api-nonproduction.azure-api.net/qa/user/api/zzz/UserAccountExistsByEmailAddressAndIsEnabled/[email protected]

如果我们假设“qa / user”是API后缀,则“/zzz/UserAccountExistsByEmailAddressAndIsEnabled/[email protected]”应匹配此API中某个操作的URL模板,并且此类操作必须将方法设置为GET,因为这就是所谓的。

© www.soinside.com 2019 - 2024. All rights reserved.