Я хочу прочитать сообщение json из очереди служебной шины, а затем вызвать REST API с этим сообщением json. Тот же формат, нет необходимости в сопоставлении.
На данный момент я создал приложение логики Azure с триггером служебной шины.
Я вызываю API с телом сообщения.
Я получаю ответ HTTP 400 Bad Request со списком отсутствующих полей.
Запрос от приложения Logic отправляет json-документ base64, закодированный в поле ContentData, «ContentTransferEncoding»: «Base64».
Тип контента в заголовке — application/json.
Если я декодирую строку и публикую этот json с помощью Postman, все работает нормально.
Есть идеи?
Чтобы решить эту проблему, используйте функцию base64ToString для декодирования ContentData
в кодировке Base64.
Например. вместо
@items('For_each')?['ContentData']
отправлять
@base64ToString(items('For_each')?['ContentData'])
в теле вашего HTTP-запроса.
Адаптируйте это решение на основе кода вашего приложения логики.
Я использовал base64ToString(body('Parse_JSON')?['ContentData']), но ваш пост поставил меня на правильный путь. Спасибо.