Как получить все результаты действий, связанных с запуском или выполнением приложения логики Azure за один раз? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть приложение Azure Logic, разработанное на моем конце с несколькими коннекторами, циклами и условиями, такими как отправка электронной почты, обновление SQL и другие наборы вещей.

Поток выполняется должным образом в соответствии с моими требованиями и обеспечиваетмне конечный результат.

Теперь я хочу, чтобы все шаги или действия, выполняемые в конкретном запуске логического приложения, были извлечены за один раз вместе со статусом. Позвольте мне объяснить мой запрос на небольшом примере приложения логики:

Предположим, что приложение логики состоит из 5 шагов с именем в качестве TestLogicAPP и содержит следующие действия или шаги:

STEP1: поток запускается при получении электронной почты: соединитель, используемый в OFfice365 ШАГ 2: после запуска потока первое действие помечает его как прочитанное: снова используется соединитель Office365 ШАГ 3: отправка ответа отправителю: снова используется соединительOffice365 ШАГ 4. Предположим, что вложение приходит в электронном письме, и Сохранение имени вложения в переменной путем объявления переменной. Использование встроенного замедления переменной
ШАГ 5. Сохранение этого вложения, полученного по электронной почте, в хранилище файлов или общий файловый ресурс: Использовано azure. коннектор хранилища файлов

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

Что я хочу, это перечислить все эти действия / шаги за один раз с его статусомкак

Имя STEP1: Успешное имя STEP2: Successful имя STEP3: Ошибка вместе с ошибочной причиной или сообщением (при условии, что 3-й не удалось из приведенного выше примера)

Или

Имя STEP1: Успешное имя STEP2: Успешное имя STEP3: Успешное имя STEP4: УспешноSTEP5 name: Successful

Для этого При поиске в Интернете у меня есть API отдыха, предоставленный Microsoft, который предоставляет следующие данные:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions?api-version=2016-06-01

Над API, взятым снизуссылка: https://docs.microsoft.com/en-us/rest/api/logic/workflowrunactions/list#code-try-0

Но при выполнении она не перечисляет все действия в данном запуске логического приложения. В частности, ниже не перечислены действия, связанные с соединителем:

  1. Триггерное действие приложения логики (соединитель office 365)
  2. Отправка электронной почты (соединитель office 365)
  3. Загрузка файла вложения по электронной почте в общую папку Azure или в хранилище файлов

Обратите внимание, почему? Является ли это ошибкой в ​​Microsoft Logic APP REST API или она предназначена для целенаправленного отображения или пропуска шагов или действий такого типа?

Или есть другой способ получить желаемый результат, описанный выше?

Пожалуйста, помогите мне относительно этой проблемы или запроса.

Поиск в Интернете и обнаружение API-интерфейса, связанного с приложением логики, по ссылке ниже, как описано выше.

Ожидаемый результат: Получитьвсе действия или результаты шагов запуска логического приложения, включая действие триггера

Фактический результат: Получение только нескольких результатов действий / шагов, немногие из них исключаются из результата остальных API.

1 Ответ

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

Могу я узнать, как ты назвал остальные API? Я тестирую его и получаю ожидаемые результаты, публикуя шаги, указанные ниже, для справки:

  1. Я создал приложение логики на своем портале Azure (показано на снимке экрана ниже) enter image description here

  2. Отправить электронное письмо на адрес электронной почты для запуска этого логического приложения.

  3. В истории выполнения моего логического приложения,это показано на скриншоте ниже. Действие «Пометить как прочитанное или непрочитанное» не выполнено, и последнее действие было пропущено. enter image description here

  4. Затем я перешел на страницу оставшихся API остальных: https://docs.microsoft.com/en-us/rest/api/logic/workflowrunactions/list и нажал «Попробуйте». Введите все необходимые параметры, такие как «resourceGroupName», «workflowName» и «runName». enter image description here

  5. После нажатия «Выполнить», результат отобразится следующим образом:

{
  "value": [
    {
      "properties": {
        "inputsLink": {
          "uri": "xxxxxxxxx",
          "contentVersion": "xxxxxxx",
          "contentSize": 377,
          "contentHash": {
            "algorithm": "md5",
            "value": "xxxxxx"
          }
        },
        "outputsLink": {
          "uri": "xxxxxxxx",
          "contentVersion": "xxxxxxx",
          "contentSize": 766,
          "contentHash": {
            "algorithm": "md5",
            "value": "xxxxxxx"
          }
        },
        "startTime": "2019-10-28T06:17:56.8609023Z",
        "endTime": "2019-10-28T06:17:56.9044006Z",
        "correlation": {
          "actionTrackingId": "xxxxxxx",
          "clientTrackingId": "xxxxxxx"
        },
        "status": "Failed",
        "code": "BadRequest"
      },
      "id": "/subscriptions/xxxxxxx/resourceGroups/huryTest/providers/Microsoft.Logic/workflows/hurylogicsteps/runs/xxxxxx/actions/Mark_as_read_or_unread_(V2)",
      "name": "Mark_as_read_or_unread_(V2)",
      "type": "Microsoft.Logic/workflows/runs/actions"
    },
    {
      "properties": {
        "startTime": "2019-10-28T06:17:56.9859119Z",
        "endTime": "2019-10-28T06:17:56.9977121Z",
        "correlation": {
          "actionTrackingId": "xxxxxx",
          "clientTrackingId": "xxxxxx"
        },
        "status": "Skipped",
        "code": "ActionSkipped",
        "error": {
          "code": "ActionConditionFailed",
          "message": "The execution of template action 'Send_an_email_(V2)' is skipped: the 'runAfter' condition for action 'Mark_as_read_or_unread_(V2)' is not satisfied. Expected status values 'Succeeded' and actual value 'Failed'."
        }
      },
      "id": "/subscriptions/xxxxxx/resourceGroups/huryTest/providers/Microsoft.Logic/workflows/hurylogicsteps/runs/xxxxxx/actions/Send_an_email_(V2)",
      "name": "Send_an_email_(V2)",
      "type": "Microsoft.Logic/workflows/runs/actions"
    }
  ]
}

Мы можемвидите, есть два действия в разделе «значения» в теле ответа в типе json. Состояние «Mark_as_read_or_unread_ (V2)» - «Неудачный», а состояние «Send_an_email_ (V2)» - «Пропущено». Несмотря на то, что они потерпели неудачу или пропустили, но оба они показаны в результате этого API остальных (в вашем вопросе вы сказали, что «Отправка электронной почты» не отображается в результате)

Кстати: до сих поркак я знаю, этот API просто показывает действия, но триггер не является действием. Таким образом, триггер не будет отображаться в результате этого API.

Кроме этого, если мы не используем остальные API, мы также можем увидеть все состояние действия в портале Azure по "Runs"history "->" Run Details "

Надеюсь, это поможет вашей проблеме ~

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