您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。信息
向 API 代理添加基于政策的功能是两步流程:
- 配置政策类型的实例。
- 将政策实例附加到流。
下图显示了政策与流之间的关系。如您所见,政策作为处理“步骤”附加到流。要为您的 API 配置所需行为,您需要对流有一定了解。(本主题在前面的配置流中有介绍。)
一种常用的政策是 SpikeArrest。SpikeArrest 可防止可能会导致后端服务出现故障的消息流量突然增加。
将政策附加到流
要将政策附加到流,请执行以下操作:
- 选择 API 代理并导航到开发视图。
- 在 API 代理编辑器中,在导航工具窗格中选择要附加政策的流。
例如,系统会为下图中的默认 API 代理端点选择 PreFlow 流: - 在设计视图中,点击与请求或响应流关联的 + 步骤 以附加政策。例如:
系统会打开“添加步骤”对话框,其中会显示已分类的政策列表。
- 滚动并选择要附加到所选流的政策类型。
- 修改以下字段。
-
显示名:政策的唯一显示名。界面将生成一个默认名称,但建议为政策创建描述性名称。这将确保组织中的其他开发者能够轻松了解相应政策的作用。
-
名称:政策的唯一名称。政策名称与显示名匹配,但存在以下例外:
-
将空格替换为短划线。
-
将连续短划线替换为一个短划线。
-
除短划线、下划线和空格(将被替换,如上文所述)之外,将移除非字母数字字符(如井号、百分号、和符号等)。
-
-
- 点击添加。
政策将附加到所选流。
附加政策后,您将在流的设计者视图中看到显示的政策,在本示例中是默认代理端点的 PreFlow,而且在导航窗格的政策列表中也将看到。代码视图(显示新附加政策的 XML)将显示在设计者视图下方。Edge 会生成政策实例,其中包含一组合理的默认值。
添加政策而不将其附加到流
要添加政策而不将其附加到流(有助于处理错误),请点击导航工具视图的政策栏中的 +,以打开添加政策对话框,然后添加政策(如上一部分中的第 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 中。
如需查看本主题中所用配额政策的相关文档,请参阅配额政策。