Как условно запрашивать таблицы на основе запроса oData в приложении Azure Logi c - PullRequest
0 голосов
/ 17 марта 2020

Я всего лишь новичок ie, когда дело доходит до oData и Logi c Apps.

Мой сценарий таков:

  1. У меня Azure SQL база данных с двумя таблицами (daily_stats, weekly_stats) для пользователей
  2. У меня есть приложение Logi c, которое мне удалось успешно протестировать, но оно нацелено на одну таблицу, вызванную запросом HTTP и инициализируется переменная, использующая следующее выражение для получения запроса

    if (equals (coalesce (trigger () ['output']? ['запросы']? ['filter'], ''), '') , '1 eq 1', trigger () ['output']? ['Query']? ['Filter'])

  3. Проблема заключается в том, как запросить другую таблицу основываясь на том, что пользователь передает как запрос ODATA GET

Я полагаю, мне нужно условие, и псевдокод этого будет выглядеть примерно так:

  1. Для Ежедневная статистика URL запроса ODATA будет

    https://myproject.logic.azure.com/workflows/some-guid-here/triggers/manual/paths/invoke/<b>daily_stats</b>/api-version=2016-10-01/&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=my-key-here&filter=userid eq 'richard'
Для еженедельной статистики URL запроса ODATA будет

    https://myproject.logic.azure.com/workflows/some-guid-here/triggers/manual/paths/invoke/<b>weekly_stats</b>/api-version=2016-10-01/&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=my-sig-here&filter=<b>userid eq 'richard'</b>

Если это daily_stats, он запрашивает хранимую процедуру / таблицу daily_stats для пользователя = richard

Если это weekly_stats, он запрашивает хранимую процедуру / таблицу weekly_stats для пользователь = richard

Редактировать: добавлена ​​схема ASCII

                   +----------------------+
                   | HTTP ODATA GET       |
                   | Reguest              |
                   |                      |
                   +----------+-----------+
                              |
                              |
                              |
                              |
                              v
                      +-------+---------+
                      |                 |
                      |                 |
                      |                 |
                      |   filter has    |
                      |   daily_stats   |
                      |                 |
                      +-------+---------+
                              |
                              |
                              |
                              |
+-------------+               |                 +--------------+
|             |               |                 |              |
|             |     YES       |        NO       |              |
|   query     +<--------------+-----------------+  query       |
|   daily     |                                 |  monthly     |
|   stats     |                                 |  stats       |
|   table     |                                 |  table       |
|             |                                 |              |
+-------------+                                 +--------------+

1 Ответ

0 голосов
/ 19 марта 2020

Существует действие переключения, дополнительную информацию можно найти здесь: Создание операторов переключения, которые запускают действия рабочего процесса на основе указанных значений c в Azure Logi c Приложения .

Ниже приведен мой пример, операторы switch поддерживают только операторы равенства. Если вам нужны другие реляционные операторы, такие как «больше чем», используйте условный оператор .

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...