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

У меня есть приложение логики, которое помещает JSON в очередь.

enter image description here

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

    "body": {
        "MessageId": "e705a261-f2c4",
        "InsertionTime": "Tue, 02 Apr 2019 14:22:24 GMT",
        "ExpirationTime": "Tue, 09 Apr 2019 14:22:24 GMT",
        "PopReceipt": "AgAAAAMAAAAAA=",
        "TimeNextVisible": "Tue, 02 Apr 2019 19:03:32 GMT",
        "DequeueCount": "69",
        "MessageText": "{\"etag\":\"\",\"ItemInternalId\":\"ab5c-4859-a755\",\"LastChangeDate\":\"2019-04-02T13:37:32.9638012Z\",\"is_current_employee\":true}"
    }

Это вызывает у меня сильную головную боль, когда я пытаюсь использовать тело, особенно когда я передаю этот rawMessageText на мой жидкий шаблон.Я попытался выражение json(triggerBody()), и это не работает, это не удается из-за первого "/".Я попытался использовать действие Parse JSON, но это не работает, потому что оно просто предназначено для сопоставления JSON со схемой и завершается ошибкой, поскольку MessageText в любом случае является строкой.

  • Есть ли JSON.parse(triggerBody()) эквивалент?В документах не показаны экранированные примеры JSON.
  • Неправильно ли я храню JSON?

Я создал функцию NodeJS, которая буквально возвращает JSON.parse() с заголовком типа содержимого JSON.Это кажется огромной тратой ресурсов.

EDIT: Одно из решений, которое я получил, - вручную кодировать base64 при добавлении в очередь и затем @json(decodeBase64(triggerBody()?['MessageText'])) при извлечении из очереди.Результат работает, но неужели кодирование дважды под капотом?

1 Ответ

1 голос
/ 03 апреля 2019

Я также пытаюсь понять ваш вопрос. Я попытался добавить сообщение в очередь и получить его в логике, но я не увидел такой проблемы. Я что-то пропустил?

enter image description here

Сообщение получено в приложении логики

enter image description here

Я получаю вывод, подобный этому, по электронной почте

{"ItemInternalId":"ab5c-4859-a755","LastChangeDate":"2019-04-02T13:37:32.9638012Z","is_current_employee":true}
...