Как заставить приложение логики Azure анализировать различные сообщения JSON

#azure-logic-apps

#azure-логика-приложения

Вопрос:

У меня есть несколько приложений логики Azure, которые все имеют одинаковую структуру: запуск на триггере HTTP gt; вызов хранимой процедуры gt;gt; анализ данных JSON gt;gt;gt; вызов REST API для каждой записи из sp.

Единственное различие между приложениями-это имя хранимой процедуры и поля в наборе результатов.

Я хотел бы создать одно приложение логики (переменная param в HTTP-вызове, чтобы определить, какой sp выполнять), но я застрял на шаге разбора JSON, так как для этого нужна фиксированная схема.

Есть ли способ добиться этого?

Комментарии:

1. Пожалуйста, опубликуйте то, что вы пробовали, например схему JSON, которую вы пробовали на данный момент.

2. В этом случае я действительно не пробовал что-то, потому что это значимо, так как я не знаю, с чего начать. AFAIK для шага разбора JSON требуется схема. И именно эта схема является переменной, поскольку набор результатов меняется.

Ответ №1:

Весь смысл Parse_JSON состоит в том, чтобы извлечь переменную внутри JSON. Если схема JSON будет отличаться, вы можете либо создать комбинированную схему JSON, которая удовлетворяет всем условиям потока, либо вы можете создавать параллельные ветви и иметь свои собственные схемы.

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

Один из лучших способов написать схему-это взять JSON предыдущего шага и добавить его в Use Sample Payload to Generate Schema так, чтобы он автоматически создавал схему для потока.

Вот мое приложение для логики

введите описание изображения здесь

имея схему, Parse JSON я использую Insert Row JSON и использую ее в Parse JSON .

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Комментарии:

1. Создал одну общую схему JSON, которая охватывала все возможные атрибуты. Для тех, кто тоже использует этот подход: при создании схемы на основе полезной нагрузки удалите элементы в требуемом разделе сгенерированной схемы.