Как получить все результаты действий, связанных с запуском или выполнением приложения Azure logic, за один раз?

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

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

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

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

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

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

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

Имя ШАГА1: Успешное имя ШАГА2: Успешное имя ШАГА3: Сбой вместе с причиной сбоя или сообщением (при условии, что третий сбой из приведенного выше примера)

Or

Имя ШАГА1: Успешное имя ШАГА2: Успешное имя ШАГА3: Успешное имя ШАГА4: Успешное имя ШАГА5: Успешно

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

ПОЛУЧИТЕ https://management.azure.com/subscriptions/ {subscriptionId} / resourceGroups / {resourceGroupName } /providers/Microsoft.Logic/workflows/ {workflowName} / run / {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 отдыха, связанный с приложением Logic, по ссылке ниже, как описано выше.

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

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


person Chaitanya N G    schedule 25.10.2019    source источник


Ответы (1)


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

  1. Я создал приложение логики на своем лазурном портале (как показано на скриншоте ниже)  введите описание изображения здесь

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

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

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

  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)» - «Failed», а статус «Send_an_email_ (V2)» - «Skipped». Хотя они не удались или были пропущены, но оба они показаны в результате этого rest api. (В вашем вопросе вы сказали, что «Отправка электронной почты» не отображается в результате)

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

Кроме того, если мы не будем использовать остальные api, мы также сможем увидеть весь статус действия на лазурном портале, выбрав «История запусков» -> «Сведения о запуске».

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

person Hury Shen    schedule 28.10.2019
comment
Я протестировал REST API точно так, как вы объяснили, используя ту же опцию Try It и предоставив имя WorkFlow, группу ресурсов и RUN id портала, но для меня не отображаются некоторые действия, перечисленные выше. Однако в моем исходном приложении логики есть более 55 шагов, которые выполняются в успешном потоке, но, как я уже сказал, некоторые вещи не отображаются, хотя история отображается как успешная с галочкой в ​​правом верхнем углу этого действия. Я не уверен, почему именно поэтому я разместил этот запрос. В любом случае спасибо за всю помощь и время, которое вы сделали до сих пор. - person Chaitanya N G; 28.10.2019
comment
Привет, @ChaitanyaNG, так как на моей стороне остальной api работает нормально, я предлагаю вам поднять заявку в службу поддержки на портале Azure, следуя этому ссылка. Группа поддержки может просматривать фоновые данные вашего приложения логики и помогать вам в этом. - person Hury Shen; 29.10.2019
comment
Спасибо за помощь до сих пор. я должен поднять билет. - person Chaitanya N G; 29.10.2019