Политика управления API Azure - выбор динамического именованного значения - PullRequest
0 голосов
/ 25 октября 2019

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

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

Разве это невозможно сделать простымманера?

<policies>
  <inbound>
    <set-header name="x-request-context-data" exists-action="override">
      <value>{{@(context.User.Id)}}</value>
    </set-header>
  </inbound>
</policies>

Вывод:

x-request-context-data: {{@(context.User.Id)}}

1 Ответ

1 голос
/ 28 октября 2019

Отвечено на MSDN .

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

В качестве обходного пути можно указать

  • Сохранение именованных значений в виде строки JSON или строки CSV с парами ключ = значение. Затем используйте выражения политики для анализа и извлечения необходимого значения.
  • Используйте политики потока управления для принятия решений во время выполнения.
  • В сложных случаях выгрузите приложение-функцию, но используйте значение политики кэширования для повышения задержки, если это возможно
...