在界面中关联和配置政策

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

向 API 代理添加基于政策的功能是两步流程:

  1. 配置政策类型的实例。
  2. 将政策实例附加到流。

下图显示了政策与流之间的关系。如您所见,政策作为处理“步骤”附加到流。要为您的 API 配置所需行为,您需要对流有一定了解。(本主题在前面的配置流中有介绍。)

政策与流之间的关系

一种常用的政策是 SpikeArrest。SpikeArrest 可防止可能会导致后端服务出现故障的消息流量突然增加。

将政策附加到流

要将政策附加到流,请执行以下操作:

  1. 选择 API 代理并导航到开发视图。
  2. 在 API 代理编辑器中,在导航工具窗格中选择要附加政策的流。
    例如,系统会为下图中的默认 API 代理端点选择 PreFlow 流:
    选择要附加政策的流
  3. 在设计视图中,点击与请求或响应流关联的 + 步骤 以附加政策。例如:
    点击 + 步骤
    系统会打开“添加步骤”对话框,其中会显示已分类的政策列表。
    类别中的政策列表
  4. 滚动并选择要附加到所选流的政策类型。
  5. 修改以下字段。
    • 显示名:政策的唯一显示名。界面将生成一个默认名称,但建议为政策创建描述性名称。这将确保组织中的其他开发者能够轻松了解相应政策的作用。

    • 名称:政策的唯一名称。政策名称与显示名匹配,但存在以下例外:

      • 将空格替换为短划线。

      • 将连续短划线替换为一个短划线。

      • 除短划线、下划线和空格(将被替换,如上文所述)之外,将移除非字母数字字符(如井号、百分号、和符号等)。

  6. 点击添加

    政策将附加到所选流。

附加政策后,您将在流的设计者视图中看到显示的政策,在本示例中是默认代理端点的 PreFlow,而且在导航窗格的政策列表中也将看到。代码视图(显示新附加政策的 XML)将显示在设计者视图下方。Edge 会生成政策实例,其中包含一组合理的默认值。

“设计师和代码”视图中的 PreFlow 政策

添加政策而不将其附加到流

要添加政策而不将其附加到流(有助于处理错误),请点击导航工具视图的政策栏中的 +,以打开添加政策对话框,然后添加政策(如上一部分中的第 4 步到第 6 步中所述)。

点击 + 以添加政策

未附加到任何流的政策在政策列表中都标有“已分离”图标,如上图所示的 API 密钥消息政策旁所示。

创建政策后,您可以将其附加到一个流中,方法是将其从政策列表拖放到设计师视图中的所需流。

从流中分离政策

要从流中分离政策,请选择流。将鼠标悬停在流的设计师视图中的政策图标上。点击图标中显示的圆圈中的 X

删除政策实例

要删除政策实例,请将鼠标悬停在导航工具 视图中政策对应的条目。点击条目右侧显示的圆圈中的 X

在界面中配置政策

当界面生成政策实例时,它会应用常用设置的合理默认值。您可能需要修改这些设置才能满足自己的要求。

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

您可以通过在代码视图中直接编辑 XML 配置来配置政策。例如,Splik Arrest 政策的峰值消息速率最初设置为每秒 30 条消息。您可以通过更改政策的 XML 中的 <Rate> 元素值来更改峰值速率。如需详细了解如何配置政策,请参阅政策参考

您还可以将政策剪切并粘贴到代码视图中。这是重复使用 GitHub 中提供的示例的好方法。

当您在代码视图中更改政策定义时,更改会反映在属性检查器中。反过来也是如此:在属性检查器 中进行更改,更改会显示在代码视图的 XML 中。

如需查看本主题中所用配额政策的相关文档,请参阅配额政策