Чтение сообщения в очереди хранения Azure несколько раз - PullRequest
0 голосов
/ 09 октября 2018

Контекст: у меня есть очередь хранилища Azure, которая используется в качестве входной очереди для функции запуска очереди.Таким образом, всякий раз, когда сообщение добавляется в очередь, запускается какая-то функция X и запускается.Я хочу проверить, что сообщение было успешно помещено в очередь и использовано.Как я могу сделать это только из очереди (при условии, что у меня нет видимости в моей функции X, и я не могу изменить настройки для функции триггера очереди)?Чтобы дополнительно разбить этот вопрос:

  • После того, как функция триггера очереди выведет сообщение из очереди, будет ли сообщение по-прежнему доступно для чтения из него при тестировании?Если да, как я могу получить к нему доступ?
  • Поскольку здесь есть условие гонки, если я удалю сообщение из очереди при тестировании до того, как это сделает функция триггера очереди, как это помешает работе триггера очереди?Можно ли исключить сообщение из очереди при тестировании, но в то же время, иметь ли оно доступное для Queue Trigger, чтобы удалить его из очереди и запустить мою функцию X без помех вообще?
  • Суть в том, что в очереди хранения Azure есть очередь, которую я хочу прочитать дважды из двух разных источников, без помех между этими двумя операциями.Это возможно и поддерживается?Если да, как я могу это сделать?

Спасибо!

1 Ответ

0 голосов
/ 10 октября 2018

Я не думаю, что то, как вы пытаетесь это сделать, сработает.Вы можете пройти часть пути, используя Peek Messages , чтобы читать сообщения очереди, не удаляя их из очереди, но если функция до вас доберется до сообщения, вы никогда не увидите его в первую очередь.

Однако вы можете получить необходимую информацию, используя Журнал аналитики хранилища для отслеживания активности в очереди или используя темы служебной шины вместо очереди, чтобы ваши сообщения могли иметь несколько подписчиков.

...