Повторно используйте конфигурации политик в определениях политик управления API.

ПРИМЕНЯЕТСЯ КО ВСЕМ уровням управления API

В этой статье показано, как создавать и использовать фрагменты политик в определениях политик Azure API Management. Фрагменты политики централизованно управляются повторно используемыми фрагментами XML, содержащими одну или несколько конфигураций политики управления API.

Фрагменты политик помогают согласованно настраивать политики и обслуживать определения политик без необходимости повторного использования или ввода XML-кода.

Фрагмент политики:

  • Должен быть допустимым XML-файл, содержащий одну или несколько конфигураций политики.
  • Может включать выражения политики, если указанная политика поддерживает их.
  • Вставлено as-is в определение политики с помощью политики включения фрагментов.

Ограничения:

  • Фрагмент политики не может содержать идентификатор раздела политики, например <inbound> или <outbound>, или элемент <base/>.
  • В настоящее время фрагмент политики не может содержать другой фрагмент политики.
  • Максимальный размер фрагмента политики составляет 512 КБ.

Предпосылки

Если у вас еще нет экземпляра управления API и API бэкенда, обратитесь к:

Хотя это не обязательно, может потребоваться настроить одно или несколько определений политики. Элементы политики можно скопировать из этих определений при создании фрагментов политики.

Перейдите к вашему экземпляру службы управления API.

  1. На портале Azure найдите и выберите службы управления API Management:

    снимок экрана, на котором показаны службы управления API в результатах поиска.

  2. На странице управления API выберите ваш экземпляр службы управления API:

    снимок экрана, на котором показан экземпляр службы управления API на странице служб управления API.

Создание фрагмента политики

  1. В левой области экземпляра службы управления API в разделе API выберите фрагменты политики. В области фрагментов политики нажмите кнопку +Создать.

  2. В окне создания фрагмента политики введите имя и, при необходимости, описание фрагмента политики. Имя должно быть уникальным в экземпляре управления API.

    Пример имени: ForwardContext

  3. В редакторе фрагментов политики XML введите или вставьте один или несколько XML-элементов политики между <fragment> тегами:</fragment>

    Снимок экрана: окно

    Например, следующий фрагмент содержит set-header конфигурацию политики для пересылки сведений о контексте в серверную службу. Этот фрагмент будет включен в раздел политики входящего трафика. Выражения политики в этом примере обращаются к встроенной context переменной.

    <fragment>
        <set-header name="x-request-context-data" exists-action="override">
          <value>@(context.User.Id)</value>
          <value>@(context.Deployment.Region)</value>
        </set-header>
    </fragment>
    
  4. Нажмите кнопку "Создать". Фрагмент добавляется в список фрагментов политики.

Включение фрагмента в определение политики

Используйте политику include-fragment для вставки фрагмента политики в определение политики. Дополнительные сведения об определениях политик см. в разделе "Установка или изменение политик".

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

Например, вставьте фрагмент политики с именем ForwardContext в раздел политики входящего трафика:

<policies>
    <inbound>
        <include-fragment fragment-id="ForwardContext" />
        <base />
    </inbound>
[...]

Подсказка

Чтобы просмотреть содержимое включенного фрагмента, отображаемого в определении политики, выберите "Вычислить эффективную политику " в редакторе политик.

Управление фрагментами политики

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

Чтобы просмотреть свойства фрагмента политики, выполните следующие действия.

  1. В левой области экземпляра службы управления API в разделе API выберите фрагменты политики. Выберите имя фрагмента.
  2. На странице обзора просмотрите ссылки на документ политики , чтобы просмотреть определения политики, содержащие фрагмент.
  3. На странице "Свойства" в разделе "Параметры" просмотрите имя и описание фрагмента политики. Имя не может быть изменено.

Чтобы изменить фрагмент политики, выполните следующие действия.

  1. В левой области экземпляра службы управления API в разделе API выберите фрагменты политики. Выберите имя фрагмента.
  2. В разделе "Параметры" выберите редактор политик.
  3. Обновите инструкции в фрагменте и нажмите кнопку "Применить".

Замечание

Обновления влияют на все определения политик, в которых включен фрагмент.

Чтобы удалить фрагмент политики, выполните следующие действия.

  1. В левой области экземпляра службы управления API в разделе API выберите фрагменты политики. Выберите имя фрагмента.
  2. Ознакомьтесь со ссылками на документ политики для определений политик, включающих фрагмент. Перед удалением фрагмента необходимо удалить ссылки на фрагменты из всех определений политики.
  3. После удаления всех ссылок нажмите кнопку "Удалить".

Создание расширенных конвейеров с помощью фрагментов политики

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

  • Модульность — проектирование каждого фрагмента с одной четко определенной ответственностью, ориентированной на одну конкретную озабоченность.
  • Общий доступ к данным . Используйте контекстные переменные и кэширование центральных метаданных для совместного использования данных между фрагментами.
  • Поведение выполнения фрагментов — определите, как происходит выполнение, последовательно вставляя фрагменты в определения политик продукта и API в зависимости от области применения.
  • Оптимизация производительности . Следуйте рекомендациям по повышению производительности.

Дополнительные рекомендации по конвейеру

Полные рекомендации по созданию расширенных проектов фрагментов политики см. в следующих статьях:

Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.