Azure APIM — несколько вызовов API в одном запросе (отправить запрос или альтернативный подход)

В настоящее время я работаю над APIM, где я установил два API.

  • Создать PDF API (служба приложений 1)
  • Электронная почта PDF API (служба приложений 2)

в пользовательском интерфейсе пользователь нажимает Generate & Email API. На этом этапе мне нужно вызвать сгенерированный pdf API и отправить pdf API по электронной почте. Также я не хочу открывать API электронной почты для пользовательского интерфейса.

То, что я пробовал в APIM, сначала называется GeneratePDF API, а внутри него я вызывал Email PDF API, используя .

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

мне нужно знать

  • Подходит ли мой подход для моей функциональности?
  • Как выполнить API отправки по электронной почте из Generate API?

person Jegan Nathan    schedule 28.08.2020    source источник
comment
Я не нашел ничего подобного, я рекомендую вам создать простую лазурную функцию, такую ​​​​как промежуточное программное обеспечение, и сделать для этой функции два вызова. Предоставьте функцию через APIM. Это то, что я думаю, это лучший способ сделать то, что вы хотите.   -  person Nacho Martínez-Aedo    schedule 28.08.2020
comment
Привет, @NachoMartínez-Aedo, раскрывающий функцию через часть APIM, которую я не получаю, это что-то вроде открытого вызова API — › APIM — › Функции Azure (API1, API2)?   -  person Jegan Nathan    schedule 29.08.2020
comment
Привет!! Да, ваша функция будет похожа на API только с одной конечной точкой. Ваш пользовательский интерфейс будет вызывать вашу лазурную функцию через APIM (поэтому вам нужно зарегистрировать лазурную функцию в вашем PDF API), и функция выполнит два вызова: один для создания PDF API, а второй для отправки PDF API.   -  person Nacho Martínez-Aedo    schedule 30.08.2020


Ответы (1)


вполне возможно сделать это на уровне APIM с помощью политики отправки запроса: https://docs.microsoft.com/en-us/azure/api-management/api-management-sample-send-запрос. Обязательно используйте тестовую консоль API на портале Azure, пока вы экспериментируете с ней, так как она имеет встроенную функцию трассировки, которая очень помогает понять, почему вызов может завершиться ошибкой.

person Vitaliy Kurokhtin    schedule 02.09.2020