2015-06-15 36 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