本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
通过将政策附加到与获利 API 产品关联的 API 代理,强制执行获利限制,如以下部分所述。
添加身份验证政策
Apigee Monetization 使用 VerifyAPIKey 或 VerifyAccessToken 政策来确定传入请求是否可获利,方法是检查有效的已发布费率方案。
通过以下方式之一将 VerifyAPIKey 政策或 VerifyAccessToken 政策关联到 API 代理:
-
使用“创建代理”向导创建 API 代理时,请在常用政策页面上的安全性授权部分中选择 API 密钥或 OAuth 2.0。例如:
-
开发 API 代理时,请将 VerifyAPIKey 政策或 VerifyAccessToken 政策关联到 API 代理 PreFlow 中的第一个政策。例如:
有关详情,请参阅:
- 将政策附加到流
- 验证访问令牌
- 使用调试工具监控和调试身份验证政策
强制执行 API 产品开发者订阅
将 MonetizationLimitsCheck 政策附加到 API 代理,以强制执行 API 产品开发者订阅。具体而言,如果访问 API 的应用开发者尚未购买关联 API 产品的订阅,则会触发此政策。在这种情况下,MonetizationLimitsCheck 政策会引发故障并阻止 API 调用。
如果在代理调用执行期间提取的 API 产品不存在获利费率方案,则该产品会被视为非获利产品,MonetizationLimitsCheck 政策不会提取任何其他数据,并且该政策不会产生任何影响。
将 MonetizationLimitsCheck 政策附加到 API 代理后,将填充 mint.limitscheck.*
和mint.subscription_*
流变量,如调试 MonetizationLimitsCheck 政策和 mint 流变量参考中所述。
通过以下任一方式将 MonetizationLimitsCheck 政策附加到 API 代理:
-
使用“创建代理”向导创建 API 代理时,请在常用政策页面中选择强制执行获利限制,如下图所示。
-
开发 API 代理时,将 MonetizationLimitsCheckPolicy 附加到 API 代理 PreFlow 中的请求流,位于 VerifyAPIKey 或 VerifyAccessToken 政策之后,如下图所示。
有关详情,请参阅:
在 API 代理中强制执行获利配额
配额将定义指定时间段内某个 API 产品允许的请求数。如需强制执行获利配额,建议您在创建 API 产品时设置配额值。
为 API 产品定义配额值不会自动对可通过 API 产品进行的调用数量强制执行限制。您还必须向 API 产品引用的 API 代理添加配额政策,以确保强制执行在 API 产品级别定义的配额值。
通过以下任一方式将配额政策附加到 API 代理:
-
使用“创建代理”向导创建 API 代理时,请在常用政策页面的配额部分中选择为每个应用强加配额,如下图所示。
- 开发 API 代理时,将配额政策关联到 API 代理 PreFlow 中的请求流,位于 VerifyAPIKey 或 VerifyAccessToken 政策之后,如下图所示。
修改配额政策以允许 <UseQuotaConfigInAPIProduct> 元素使用在 API 产品级定义的配额配置。
例如:
<Quota continueOnError="false" enabled="true" name="impose-quota"> <DisplayName>Impose Quota</DisplayName> <UseQuotaConfigInAPIProduct stepName="verify-api-key"> <DefaultConfig> <Allow>10000</Allow> <Interval>1</Interval> <TimeUnit>week</TimeUnit> </DefaultConfig> </UseQuotaConfigInAPIProduct> <Distributed>true</Distributed> <Synchronous>true</Synchronous> <StartTime>2021-01-01 12:00:00</StartTime> </Quota>
将配额政策附加到 API 代理时,将填充 ratelimit.*
流变量,如调试配额政策和配额政策流变量参考中所述。