Постановка проблемы в моем случае: вызвать API, который возвращал документ CSV, чтобы его можно было сохранить в хранилище BLOB-объектов Azure.
Я создал приложение логики и настроил HTTP-запрос, передавая URL-адрес и все параметры, необходимые для использования API, как показано ниже:
Как видите, очень простая конфигурация с использованием коннектора HTTP. Но затем при выполнении я получил следующий код состояния HTTP 302, который Logic Apps считал ошибкой:
Глядя на документацию о 302 (https://en.wikipedia.org/wiki/HTTP_302),, я понял, что приложение логики должно получать обратно заголовок Location, указывающий, где был нужный мне ресурс, и, как вы можете видеть на рисунке выше, эта информация возвращалась .
Но поскольку приложение логики понимало ответ HTTP 302 как ошибку, мне пришлось настроить запуск после обработки как для успешных ответов, так и для ответов об ошибках.
После этого я мог бы сделать второй вызов, используя на этот раз заголовок Location, возвращенный после первого вызова.
На этот раз с помощью перенаправления URL приложение логики смогло извлечь нужный ему CSV-файл, а затем я мог завершить оставшуюся логику интеграции и отправить этот файл в хранилище BLOB-объектов.
Решение для преодоления обработки HTTP 302 как ошибки приложением логики. Возможно, улучшением для приложений логики стало бы лучшее понимание того, что не все коды состояния HTTP являются ошибками, поэтому мы могли бы иметь лучшую конфигурацию запуска после, вместо того, чтобы перехватывать эти другие ответы HTTP как ошибки.
Надеюсь, это поможет.