Как передать данные в Azure работника - PullRequest
0 голосов
/ 10 апреля 2019

В настоящее время у меня есть следующий поток:

  1. внешнее приложение
    • создает входные данные и записывает их в файл BLOB-объектов Azure,
    • записывает сообщение с метаданными в очередь хранилища Azure,
  2. AppLogic подключается к очереди и инициирует новый экземпляр контейнера с работником,
  3. новый экземпляр контейнера ACI копирует входной файл из файла BLOB-объектов Azure, обрабатывает его (в основном с использованием ImageMagick), сохраняет выходные файлы в файле BLOB-объектов Azure, и затем закрывается.

Работает нормально, но теперь я бы хотел защитить поток от дубликатов.

Моей первой идеей было изменить очередь на служебную шину Azure, которая может проверять уникальность ключа. Тогда я начал думать, стоит ли мне изменить порядок и сначала добавить сообщение в очередь, а затем (если оно не повторяется) написать blob? Но в том случае, когда скрипт скрепляет стартовый контейнер, потому что отслеживание очереди занимает слишком раннее место. Может быть, мне следует использовать триггер создания файла BLOB-объекта Azure (подойдет ли Microsoft.Storage.Blob) Но зачем вообще использовать очередь в таком случае? Наверное, Blob Table Storage будет лучше, я не прав?

Конечный поток:

  1. внешнее приложение
    • записывает сообщение с метаданными в таблицу хранения Azure,
    • создает входные данные и записывает их в файл BLOB-объектов Azure,
  2. AppLogic отслеживает Microsoft.Storage.BlobCreated, считывает метаданные из таблицы хранения Azure и запускает новый экземпляр контейнера с работником,
  3. без изменений.

Подойдет ли это? Или какое решение лучше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...