在 API 代理中强制执行创收限制

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

本页面介绍了如何通过将政策附加到创收 API 产品中的 API 代理来强制执行创收限制。

添加身份验证政策

Apigee Monetization 使用 VerifyAPIKey 政策OAuth2 政策的 VerifyAccessToken 操作来确定传入请求是否可创收,方法是检查活跃的已发布费率方案。

使用 Apigee 界面或 API 将政策附加到 API 代理。如需了解如何修改代理,请参阅修改 API 代理

另请参阅:

强制执行 API 产品开发者订阅

MonetizationLimitsCheck 政策附加到 API 代理,以强制执行 API 产品开发者订阅:

  • 如果在代理调用执行期间提取的 API 产品不存在创收费率方案,则该产品会被视为非创收产品,MonetizationLimitsCheck 政策不会提取任何其他数据,并且该政策不会产生任何影响。
  • 如果找到了费率方案,但未找到 API 开发者的订阅,则 MonetizationLimitsCheck 政策会引发故障并阻止 API 调用。

将 MonetizationLimitsCheck 政策附加到 API 代理后,将填充 mint.limitscheck.*mint.subscription_* 流变量,如调试 MonetizationLimitsCheck 政策mint 流变量参考中所述。

有关详情,请参阅:

在 API 代理中强制执行创收配额

配额将定义指定时间段内某个 API 产品允许的请求数。如需强制执行创收配额,建议您在创建 API 产品时设置配额值。

为 API 产品定义配额值不会自动对可通过 API 产品进行的调用数量强制执行限制。您还必须向 API 产品引用的 API 代理添加配额政策,以确保强制执行在 API 产品级别定义的配额值。

修改配额政策以允许 <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.* 流变量,如调试配额政策和配额政策流变量参考中所述。

有关详情,请参阅: