我正在使用1.10.0新的Rest 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网关并重新创建了API,以防万一。
任何想法为什么网关不尊重10000限制?
答案 0 :(得分:0)
API Manager将首先在服务器上读取这些文件并将内容复制到注册表中,之后,API Manager无法检查这些文件是否有任何更新。
您必须在注册表中更新您的政策。
通过管理控制台使用注册表浏览器并导航到以下位置/_system/governance/apimgt/applicationdata
。您可以看到层xml文件。