Політики перетворення служби управління api azure, microsoft docs

Розділи політики: inbound, outbound, backend, on-error.

Області політики: global, product, API, operation.

Політика redirect-content-urls перезаписує (маскує) посилання в тексті відповіді так, щоб кожна з них вказувала на еквівалентну посилання через шлюз. Використовуйте в розділі outbound, щоб перезаписати посилання тексту відповіді так, щоб вони вказували на шлюз. Використовуйте в розділі inbound для зворотного ефекту.

Ця політика не зраджує значення заголовка, наприклад заголовка Location. Щоб змінити значення заголовка, використовуйте політику set-header.

правило політики

Розділи політики: inbound, outbound.

Області політики: global, product, API, operation.

Завдання внутрішньої служби

правило політики

У цьому прикладі політика завдання внутрішньої служби надсилає запити на основі значення версії, переданого в рядку запиту у внутрішню службу, відмінну від зазначеної в API.

Якщо потрібні додаткові перетворення запиту, можна скористатися іншими політиками перетворення. Наприклад, щоб видалити параметр запиту версії після направлення запиту в конкретну серверну частину версії, для видалення атрибута надлишкової версії можна використовувати політику Налаштування параметра рядка запиту.

У цьому прикладі політика направляє запит до внутрішньої служби Service Fabric, використовуючи рядок запиту userId як ключ секції і використовуючи первинну репліку секції.

Розділи політики: inbound, backend.

Області політики: global, product, API, operation.

завдання тексту

Використовуйте політику set-body. щоб задати текст повідомлення для вхідних і вихідних запитів. Для доступу до тексту повідомлення можна використовувати властивість context.Request.Body або context.Response.Body в залежності від того, де знаходиться політика: в розділі inbound або outbound.

Зверніть увагу, що за замовчуванням при доступі до тексту повідомлення за допомогою context.Request.Body або context.Response.Body вихідний текст повідомлення втрачається і його необхідно поставити, повернувши текст назад в вираз. Щоб зберегти вміст тексту, при доступі до повідомлення надайте параметру preserveContent значення true. Якщо для параметра preserveContent задано значення true і в виразі повертається інший текст, використовується повертається текст.

Врахуйте наступні рекомендації при використанні політики set-body.

  • Якщо для повернення нового або оновленого тексту використовується політика set-body. для параметра preserveContent не потрібно задавати значення true. так як ви явно вказуєте нове вміст тексту.
    • Зберігати вміст відповіді у вхідному конвеєрі не має сенсу, так як відповіді ще немає.
    • Зберігати вміст запиту в вихідному конвеєрі не має сенсу, так як на цьому етапі запит вже був відправлений в серверну частину.
    • Якщо ця політика використовується при відсутності тексту повідомлення, наприклад у вхідному параметрі GET, виникає виключення.

Додаткові відомості див. У розділах context.Request.Body. context.Response.Body і IMessage в таблиці Мінлива контексту.

правило політики

Приклад літерального тексту

Приклад доступу до тексту як до рядка Зверніть увагу, що ми зберігаємо вихідний текст запиту, щоб пізніше можна було звернутися до нього в конвеєрі.

Приклад доступу до тексту як до об'єкта JObject Зверніть увагу, що ми не резервували вихідний текст запиту, тому спроба отримати до нього доступ пізніше в конвеєрі призведе до виникнення виключення.

Фільтрація відповіді в залежності від продукту

Використання шаблонів Liquid з політикою set-body

У політиці set-body можна налаштувати використання мови шаблонів Liquid для перетворення тексту запиту або відповіді. Це може бути дуже ефективним, коли потрібно повністю змінити формат повідомлення.

Реалізація шаблонів Liquid, використовувана в політиці set-body. налаштовується в режимі C #. Це особливо важливо при виконанні дій, таких як фільтрація. Наприклад, якщо застосовується фільтр по даті, то необхідно використовувати стиль Pascal і форматування дати C #, як в наступному прикладі:

Щоб за допомогою шаблону Liquid правильно виконати прив'язку до тексту XML, використовуйте політику set-header. Задайте для Content-Type значення application / xml або text / xml (або будь-який інший тип, який закінчується на + xml). Для тексту JSON значення має бути application / json або text / json (або будь-який інший тип, який закінчується на + json).

Перетворення JSON в SOAP за допомогою шаблону Liquid

Перетворення JSON за допомогою шаблону Liquid

Схожі статті