Приложение Azure Logic: HTTP POST в цикле For Each показывает несанкционированную ошибку - PullRequest
0 голосов
/ 17 марта 2019

У нас есть проблема с нашим приложением логики, если мы обрабатываем несколько файлов в цикле For Each и пытаемся выполнить HTTP POST для третьей стороны.Каждый файл может иметь разные URL / имена пользователей / пароли для шага HTTP POST.Вот почему задайте переменные username / password / url в нашем For Each.

Тесты:

  • Если мы тестируем все эти URL с логинами с почтальоном, это работает.

  • Если в нашем приложении логики мы тестируем разные файлы с разными переменными имени пользователя / пароля / URL-адреса (но только по одному за раз), это работает.

  • Если мы тестируем файлы с одинаковыми именем пользователя / паролем / URL-адресом для переменных HTTP POST, это работает.

  • Если мы обрабатываем несколько файлов одновременно с разными именами / паролями/ url для шага HTTP POST, он завершается ошибкой с некоторыми сообщениями http в каждом для отображения UNAUTHORIZED, но если мы проверяем все переменные, установленные для каждого файла в для каждого шага, он устанавливает правильное имя пользователя / пароль / url, это правильно.

Наш вывод:

Если пост http получает динамические переменные (имя пользователя / пароль / url) в a для каждого шага, некоторые только некоторые посты http работают.Но для файлов с другими данными входа это не удается.Похоже, HTTP-коннектор не может обрабатывать динамические множественные вызовы http с разными переменными.

Наш шаг http post: enter image description here

Наше условие if true внутри a для каждого шага(неавторизованная ошибка, когда все переменные логина и URL-адреса верны):

enter image description here

Мы что-то не так делаем?Пожалуйста, помогите, поскольку мы пытаемся перенести это в производство.

1 Ответ

1 голос
/ 18 марта 2019

Для каждого цикла в приложениях логики по умолчанию выполняются его итерации параллельно - поэтому, если вы спроектировали свой рабочий процесс таким образом, чтобы правильная пара имени пользователя и пароля для их соответствующего HTTP POST определялась во время выполнения в каждой итерации, на основе оригинальнойВ порядке сбора начался цикл - вероятно, он произведет поведение, которое вы наблюдаете.Предполагая, что это так, вы пытались запустить цикл с включенной опцией Sequential?

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-control-flow-loops#sequential-foreach-loop

...