Я осмотрелся и обыскал, и не могу найти ничего, что решает эту проблему, поэтому, если мой Google Fu не помог мне, просто укажите мне правильное направление.
Мы используем очереди хранения Azure для запускавыполнение функций Azure (V2).(Я не верю, что это использование уместно, но я включил его на всякий случай.) В ходе разработки функции «форма» входных данных изменилась (я использую объекты C # POCO и сериализациюих в JSON для создания содержимого сообщения очереди.)
Я обнаружил, что после отправки изменения кода в Azure очередь хранения продолжает отправлять сообщение JSON в функцию в старомобъект JSON в формате - хотя JSON, предоставленный для очереди хранения, был в новом формате.
Исправление было достаточно простым - удалите очередь и дайте программному коду заново ее создать.Однако здесь есть большая путаница:
- Очереди хранения Azure принимают сообщения в качестве строковых значений, так почему же вообще присоединяется «схема»?Я понимаю, что сообщение в конечном итоге предоставляется в
CloudQueueMessage
объекте, поэтому, вероятно, за кулисами происходит нечто вроде JSON.Но ... - Если он есть (и он наверняка есть), почему Очередь хранения принимает и успешно обрабатывает сообщение, не соответствующее этому формату?Во всяком случае, я ожидал, что сообщение попадет в очередь ядов, а не попытка «перевести» входящее сообщение в схему.
- Есть ли способ справиться с этим «в коде»(кроме написания связки моего собственного кода для «проверки схемы»)?
- Что бы произошло, если бы я предоставил простое строковое значение?(Это действительно больше любопытства для меня, чем что-либо еще ...)
Любые ответы, которые кто-либо может дать / указать мне, будут с благодарностью.