2015-06-15 35 views
0

我是新来的APIgee。我只想知道我们是否可以为不同的开发人员应用程序提供不同的限速报价。例如,我有两个显影剂应用, 1.开发应用程序1 2.开发应用2APIgee开发人员App限速

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

+0

既然你是新的在Stackoverflow,请记住发布你的代码,让人们你已经尝试过它将有助于回答你的问题。 – BlackM

回答

0

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

  1. 创建两个API产品 - >转到发布,产品,并创建两个API的产品,并在那里设置适当的Qouta。
  2. 创建两个或更多开发人员。同样在发布 - >开发人员
  3. 也在Publisch上创建两个开发人员应用程序,并确保开发人员A获得API产品A等等。开发人员与API prdocuts(aka Developer App)的结合创建了一个API密钥。这样qouta可以通过提供的apikey来强制执行。
  4. 在API代理上,创建一个Qouta策略,但也要检查API密钥,因为后者的策略提供了Qouta策略的相关信息。一个例子提供如下:

的Qouta政策,然后将检查APIKEy政策开发应用程序,并且验证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> 
0

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

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

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