2016-03-01 4 views
2

Я создаю API, используя новый API Restation 1.10.0. Ниже приведены некоторые из параметров, которые я отправляю:Неограниченная квота для неаутентифицированного 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 запросов в минуту - на интерфейс приложения ответил с кодом состояния 429 и журнал ошибок указывает, что квота превышена ...

После каждого изменения я вновь начал шлюз APIM и повторно созданный API, на всякий случай.

Любая идея, почему предел 10000 не удостоен шлюзом?

ответ

0

API-менеджер API будет считывать эти файлы на самом первом сервере и копировать содержимое в реестр, после чего API-менеджер не будет проверять эти файлы на наличие каких-либо обновлений.

Вы должны обновить свои политики в реестре.

Используйте браузер реестра через Консоль управления и перейдите к следующему местоположению /_system/governance/apimgt/applicationdata. Вы можете увидеть XML-файл уровня.

  1. Вход в консоль управления APIM (https: //: 9443/углерод) и выберите Обзор в ресурсах

    enter image description here

  2. Nagigate к/_System/управление/apimgt/ApplicationData
  3. Вы увидите app-tiers.xml, res-tiers.xml, tiers.xml.
+1

Спасибо, это сработало. Где хранится реестр? Любой доступ к нему не из консольного интерфейса? –

+0

Вы можете получить доступ к реестру через службы поддержки WSO2. API SOAP. –

+0

. У меня есть ошибка между ответом, указывающим соединение ** # 0, на шланг localhost left intact **. Не могли бы вы мне помочь ? – Vivek

Смежные вопросы