Spike Arrest 政策部署错误问题排查

您正在查看 ApigeeApigee Hybrid 文档。
查看 Apigee Edge 文档。

InvalidAllowedRate

错误消息

通过 Apigee 界面或 API 部署 API 代理失败并显示以下错误消息:

Error Saving Revision [revision_number]
Invalid spike arrest rate [invalid_rate].

错误消息示例

Error Saving Revision 1
Invalid spike arrest rate 30s.

Error Saving Revision 1
Invalid spike arrest rate 30.1ps.

示例屏幕截图

spike arrest 速率 30s 错误消息无效。

spike arrest 速率 30.1ps 错误消息无效。

原因

如果 Spike Arrest 政策的 <Rate> 元素中指定的 spike arrest 速率不是整数,或者该速率不提供 pspm 作为后缀,则 API 代理的部署将失败。

有效值为 [int]ps[int]pm

例如,如果指定的 spike arrest 速率是Spike Arrest 政策的 <Rate> 元素中的 30.1ps,则 API 代理的部署将失败。这是因为 30.1 不是整数。

诊断

  1. 标识 Spike Arrest 政策中指定的无效 spike arrest 速率。您可以从错误消息中找到此信息。例如,在以下错误中,无效 spike arrest 为 30.1

    Error Saving Revision 1
    Invalid spike arrest rate 30.1ps.
    
  2. 检查发生故障的特定 API 代理中的所有 Spike Arrest 政策。如果存在 <Rate> 元素中指定的 spike arrest 与上述第 1 步中指定的无效 spike arrest 速率相匹配的 Spike Arrest 政策,则会导致错误。

    例如,以下政策将 <Rate> 的值指定为 30.1ps,该值与错误消息中的内容相匹配:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SpikeArrest async="false" continueOnError="false" enabled="true" name="CheckRate">
        <DisplayName>CheckRate</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30.1ps</Rate>
    </SpikeArrest>
    

    由于在 <Rate> 元素中指定的 spike arrest 速率不是整数,因此 API 代理的部署将失败,并显示以下错误:

    Invalid spike arrest rate 30.1ps.
    

解决方法

确保 Spike Arrest 政策的 <Rate> 元素中指定的 spike arrest 速率的值为整数,并且提供 pspm 作为后缀。例如:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SpikeArrest async="false" continueOnError="false" enabled="true" name="CheckRate">
    <DisplayName>CheckRate</DisplayName>
    <Properties/>
    <Identifier ref="request.header.some-header-name"/>
    <MessageWeight ref="request.header.weight"/>
    <Rate>30ps</Rate>
</SpikeArrest>