在 Azure API 管理中通过 API 限制使用配额

Limiting usage quota by API in Azure API Management

Azure API Management Policies have a nice array of possibilities。如何通过订阅或密钥配置使用配额的示例随处可见。

但是如果我想为同一订阅中的不同API设置不同的配额怎么办?

例如,在特定计划(产品,用 APIM 的说法)中包含 "taste" 或 API,以便用户尝试但不会能够在生产中使用它。而同一计划的其他 API 将具有更高的配额。

我看到有一个 Control Flow,但我想知道如何获得正在调用的 API。

您可以使用 "quota" 策略,因为它允许您为每个 product/API/operation 指定不同的限制。在此处查找样本:https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies#SetUsageQuota。本质上,这些限制是按 API 每个订阅强制执行的。

或者您可以使用密钥配额策略并构建您自己的密钥来识别计数器。 API 通过 context.Api 可用。以下是有关上下文变量的更多详细信息:https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ContextVariables