У меня есть два API, добавленных в Azure API Management.Это в основном один и тот же API, но для разных сред.В целях мониторинга я хочу создать операцию, которая будет вызывать один и тот же метод в обоих API и объединить их результат в один.В настоящее время я работаю над поддельными API с поддельными данными.
Чтобы добиться этого, я создал пустой API с пустой операцией.Внутри этой операции я объявил следующие входящие политики:
<inbound>
<set-variable name="env1" value="" />
<set-variable name="env2" value="" />
<send-request mode="new" response-variable-name="env1" timeout="20" ignore-error="false">
<set-url>https://env1-api.azure-api.net/api/data</set-url>
<set-method>GET</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
</send-request>
<send-request mode="new" response-variable-name="env2" timeout="20" ignore-error="false">
<set-url>https://env2-api.azure-api.net/api/data</set-url>
<set-method>GET</set-method>
<set-header name="Content-Type" exists-action="override">
<value>application/json</value>
</set-header>
</send-request>
<base />
</inbound>
При тестировании операция под названием throws 500 (что, я полагаю, понятно, поскольку ответ не устанавливается).Когда я смотрю на вкладку Trace, я вижу два сообщения:
GET запрос к 'https://env1 -api.azure-api.net / api / data ' былотправлено, результат сохранен в переменной 'env1'.
GET запрос к 'https://env2 -api.azure-api.net / api / data ' отправлен, результат сохранен в 'Переменная env2 '.
Исходя из этого, я заключаю, что вызовы работают правильно.Вот где я застрял.Я не знаю, как объединить эти две переменные внутри ответа.
API возвращают массив объектов в форме объекта JSON.Чего я хочу добиться - это объединить эти два ответа в один ответ, который будет возвращен операцией.Как мне составить ответ?
Помните, что в Azure я нуб, поэтому мой подход может быть слишком примитивным.Если у вас есть что-то лучше, я бы хотел услышать об этом.