使用 Azure APIMS,我想忽略某些错误并阻止它们将这些错误记录到 Application Insights 中。
我知道这可以通过制定政策来实现。但是,我尝试的所有示例都不起作用,错误仍然记录到 Application Insights 中。
对我不起作用的示例:
<policies>
<inbound>
<!-- Inbound policies go here -->
</inbound>
<backend>
<!-- Backend policies go here -->
</backend>
<outbound>
<!-- Outbound policies go here -->
</outbound>
<on-error>
<choose>
<when condition="@(context.LastError?.Reason == "OperationNotFound")">
<!-- Suppress logging for OperationNotFound -->
<set-variable name="logError" value="false" />
<!-- Return a custom response -->
<return-response>
<set-status code="404" reason="Not Found" />
<set-body>Operation not found.</set-body>
</return-response>
</when>
<otherwise>
<!-- Default error handling -->
<return-response>
<set-status code="500" reason="Internal Server Error" />
<set-body>Internal server error occurred.</set-body>
</return-response>
</otherwise>
</choose>
</on-error>
</policies>
我也有同样的问题。有什么解决办法吗? 问题是我们公司的安全扫描器会扫描 APIM 所有可能的 URL。即使是那些不存在的。我们还启用了警报,因此每当安全扫描完成时,我们都会收到有关 smth 已关闭的警报。