Как прикрепить и настроить правила в интерфейсе

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Чтобы добавить в прокси-сервер API возможности на основе правил, выполните следующие действия:

  1. Настройте экземпляр типа правил.
  2. Прикрепите экземпляр правила к потоку.

На диаграмме ниже показана связь между правилами и потоками. Как видите, правило прикреплено к Flow в качестве шага обработки. Чтобы настроить желаемое поведение API, вам нужно немного разобраться в потоках. (Эта тема рассматривалась ранее в разделе Настройка потоков.)

Взаимосвязь между правилами и потоками

Один из часто используемых типов правил – SpikeArrest. Функция SpikeArrest предотвращает внезапные увеличения трафика сообщений, которые могут перегрузить ваши серверные службы.

Как прикрепить правило к потоку

Чтобы прикрепить правило к потоку:

  1. Выберите прокси-сервер API и перейдите в режим Разработка.
  2. В редакторе прокси API выберите поток, к которому хотите прикрепить правило, на панели навигатора.
    Например, на следующем рисунке для конечной точки прокси-сервера API по умолчанию выбран поток PreFlow:
    Выберите поток, к которому хотите применить правило.
  3. В режиме дизайна нажмите +Шаг, связанный с потоком запроса или ответа, чтобы прикрепить правило. Например:
    Нажмите "Добавить шаг".
    Откроется диалоговое окно "Добавить шаг" со списком правил, разбитых по категориям.
    Список правил по категориям
  4. Прокрутите список и выберите тип правил, которые хотите применить к выбранному потоку.
  5. Измените следующие поля.
    • Отображаемое название. Уникальное отображаемое название правила. Интерфейс создаст название по умолчанию, но мы рекомендуем задать описательное название для правила. Это поможет другим разработчикам в вашей организации понять, для чего предназначены правила.

    • Название. Уникальное название правила. Название правила совпадает с отображаемым названием, за исключением следующих случаев:

      • Пробелы заменяются дефисами.

      • Несколько дефисов подряд заменяются одним дефисом.

      • Все символы, кроме букв, цифр, дефисов, символов подчеркивания и пробелов (которые заменяются, как указано выше), удаляются. К таким символам относятся, например, знаки фунта, процента и амперсанда.

  6. Нажмите Добавить.

    Правило будет прикреплено к выбранному потоку.

После того как правило будет прикреплено, оно появится в представлении Конструктор для потока (в этом примере – PreFlow конечной точки прокси по умолчанию) и в списке Правила на панели навигации. Под представлением Designer появится представление Code, в котором будет показан XML-код прикрепленного правила. Edge создает экземпляр правила, содержащий набор разумных значений по умолчанию.

Правила в PreFlow в режиме конструктора и режиме просмотра кода

Добавление правил без привязки к потоку

Чтобы добавить правило, не прикрепляя его к потоку (это полезно для обработки ошибок), нажмите + на панели Правила в представлении Навигатор, чтобы открыть диалоговое окно Добавить правило, и добавьте правило (как описано в шагах 4–6 предыдущего раздела).

Нажмите "+", чтобы добавить правило

Правило, не привязанное ни к одному потоку, отмечается значком "отключено" в списке Правила, как показано рядом с правилом для сообщений с ключом API на предыдущем рисунке.

После создания правила вы можете прикрепить его к потоку, перетащив из списка Правила в нужный поток в режиме Конструктор.

Как открепить правила от потока

Чтобы отсоединить правила от Flow, выберите Flow. Наведите указатель мыши на значок правила в режиме Конструктор. Нажмите на X в круге на значке.

Как удалить экземпляр правила

Чтобы удалить экземпляр правила, наведите указатель мыши на запись правила в представлении Navigator. Нажмите на значок X в круге справа от записи.

Настройка правил в интерфейсе

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

Пример:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SpikeArrest async="false" continueOnError="false" enabled="true" name="spikearrest-1">
  <DisplayName>SpikeArrest-1</DisplayName>
  <FaultRules/>
  <Properties/>
  <Identifier ref="request.header.some-header-name"/>
  <MessageWeight ref="request.header.weight"/>
  <Rate>30ps</Rate>
</SpikeArrest>

Вы можете настроить правило, отредактировав его конфигурацию XML непосредственно в представлении Код. Например, для правила Spike Arrest пиковая скорость передачи сообщений изначально составляет 30 сообщений в секунду. Вы можете изменить максимальную ставку, изменив значение элемента <Rate> в XML-файле правила. Подробнее о настройке правил можно узнать в справочнике по правилам.

Вы также можете вырезать и вставить правила в представление Код. Это отличный способ повторно использовать правила из примеров, доступных на GitHub.

Если вы измените определение правила в представлении Код, эти изменения будут отражены в инспекторе свойств. И наоборот: если вы внесете изменения в инспекторе ресурсов, они появятся в XML в режиме Код.

Документацию по правилам в отношении квот, которые используются в этой статье, можно найти в разделе Правила в отношении квот.