2016-03-01 118 views
2

我正在使用1.10.0新的Rest API创建API。以下是我发送的一些参数:未经身份验证的API的无限配额

body.setTransport(createList("http", "https")); 
    body.setApiDefinition("{\"paths\":{\"/*\":{\"post\":{\"x-auth-type\":\"None\",\"responses\":{\"201\":{\"description\":\"Created\"}},\"x-throttling-tier\":\"Unlimited\"},\"get\":{\"x-auth-type\":\"None\",\"responses\":{\"200\":{\"description\":\"OK\"}},\"x-throttling-tier\":\"Unlimited\"},\"delete\":{\"x-auth-type\":\"None\",\"responses\":{\"200\":{\"description\":\"OK\"}},\"x-throttling-tier\":\"Unlimited\"},\"put\":{\"x-auth-type\":\"None\",\"responses\":{\"200\":{\"description\":\"OK\"}},\"x-throttling-tier\":\"Unlimited\"}}},\"swagger\":\"2.0\",\"info\":{\"title\":\"" + providerApi.getName() + "\",\"version\":\"1.0.0\"}}"); 
    body.setTiers(createList("Unlimited")); 
    body.setVisibility(VisibilityEnum.PUBLIC); 
    body.setVisibleRoles(createList()); 

所以API被创建为Unlimited/PUBLIC。

我改变了所有三个层次的默认配置文件:

./opt/wso2am-1.10.0/repository/resources/default-tiers/default-res-tiers.xml 
./opt/wso2am-1.10.0/repository/resources/default-tiers/default-app-tiers.xml 
./opt/wso2am-1.10.0/repository/resources/default-tiers/default-tiers.xml 

要允许每分钟10000个请求对未验证的作用。

 <throttle:ID throttle:type="ROLE">Unauthenticated</throttle:ID> 
     <wsp:Policy> 
      <throttle:Control> 
       <wsp:Policy> 
        <throttle:MaximumCount>10000</throttle:MaximumCount> 
        <throttle:UnitTime>60000</throttle:UnitTime> 
       </wsp:Policy> 
      </throttle:Control> 
     </wsp:Policy> 
    </wsp:Policy> 

然而,发送60个请求,每分钟后 - 该API回应状态码429和错误日志表明,超过配额,...

每一个变化之后,我重新开始的APIM网关和重新以防万一。

任何想法为什么10000的限制不被网关尊重?

回答

0

API管理器将在服务器的第一个服务器上读取这些文件,并将内容复制到注册表,之后API Manager将不检查这些文件是否有任何更新。

您必须在注册表中更新您的策略。

通过管理控制台使用注册表浏览器并导航到以下位置/_system/governance/apimgt/applicationdata。您可以看到层xml文件。

  1. 登录APIM管理控制台(https://开头:9443 /碳)和下资源

    enter image description here

  2. 选择浏览Nagigate到/ _SYSTEM /管理/ apimgt /应用 -
  3. 您将看到app-tiers.xml,res-tiers.xml和tiers.xml。
+1

谢谢,它的工作。注册表存储在哪里?任何方式来访问它不是从控制台用户界面? –

+0

您可以通过WSO2管理服务SOAP API访问注册表 –

+0

我在响应中声明连接**#0到软管本地主机完好无损**之间有错误。你可以帮我吗 ? – Vivek