APIgee开发者App限速

时间:2015-06-15 14:15:01

标签: apigee

我是APIgee的新手。我只是想知道我们可以为不同的开发者应用程序提供不同的速率限制报价。例如,我有两个开发者应用程序, 1.开发应用程序1 2. Dev App 2

我想允许“Dev App 1”每分钟10个请求,“Dev App 2”每分钟15个请求。我怎样才能做到这一点?我已经探索了配额政策,但它对所有应用程序应用相同的报价。

2 个答案:

答案 0 :(得分:0)

请考虑以下步骤,为不同的开发者应用程序实现不同的qouta。

  1. 创建两个API产品 - >转到发布,产品,并创建两个API的产品,并在那里设置适当的Qouta。
  2. 创建两个或更多开发人员。同样在Publish - >开发者
  3. 也可以在Publisch创建两个DEveloper应用程序,并确保开发人员A获得API产品A,依此类推。 Developer与API prdocuts(又名Developer App)的组合创建了一个API密钥。这样,qouta可以通过提供的apikey强制执行。
  4. 在API代理上,创建Qouta策略,同时检查API密钥,因为后一个策略提供了Qouta策略的信息。下面提供了一个示例:
  5. Qouta策略然后检查APIKEy策略Developer App,并验证qouta:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <VerifyAPIKey async="false" continueOnError="false" enabled="true" name="verify-api-key">
    <DisplayName>Verify API Key</DisplayName>
    <APIKey ref="request.header.apikey"/>
    </VerifyAPIKey>
    
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Quota async="false" continueOnError="false" enabled="true" name="impose-quota">
        <DisplayName>Impose Quota</DisplayName>
        <Allow countRef="verifyapikey.verify-api-key.apiproduct.developer.quota.limit" count="2000"/>
        <Interval ref="verifyapikey.verify-api-key.apiproduct.developer.quota.interval">1</Interval>
        <Distributed>true</Distributed>
        <Synchronous>true</Synchronous>
        <TimeUnit ref="verifyapikey.verify-api-key.apiproduct.developer.quota.timeunit">month</TimeUnit>
        </Quota>
    

答案 1 :(得分:0)

您可以在Apigee中的Developer或Developer Application对象上使用自定义属性来存储每个应用程序或每个开发人员的配额和速率限制。当您在Apigee代理中验证API密钥或访问令牌时,这些属性将被复制到当前请求上下文中,以便可以从Quota或SpikeArrest策略中引用它们。

您还可以使用API​​产品上的配额或自定义属性,但这些属性将适用于分配该产品的任何开发人员应用程序,而不仅仅适用于特定的开发人员应用程序。

有关使用Apigee管理API创建开发者应用的详细信息,请参阅http://apigee.com/docs/management/apis/post/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email_or_id%7D/apps