Создание и развертывание функции Azure при создании контейнера BLOB-объектов в C# коде - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть (. net core C#) API для обработки загрузки, извлечения, удаления и т. Д. c. Изображения загружаются в контейнеры BLOB-объектов, которые динамически создаются из кода, с именем, указанным в запросе POST при загрузке изображения. В Azure также развернута функция запуска BLOB-объектов, позволяющая создавать измененное изображение низкого качества для каждого изображения, загружаемого для данного контейнера BLOB-объектов. Необходимо дублировать это приложение функции изменения размера изображения для каждого нового контейнера, который создается. В случае дублирования мне нужно связать новые имена контейнеров как контейнеры источника и назначения нового экземпляра приложения-функции изменения размера изображения, и развернуть его в той же группе ресурсов, что и первое приложение-функция.

Можно ли как-нибудь добиться всего этого с помощью кода C#? Если не из кода, как я могу это сделать?

1 Ответ

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

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

enter image description here

EventGrid Topi c встроенный с учетной записью хранилища поэтому вам не нужно создавать отдельно.

enter image description here

Вы можете отфильтровать, какое событие вы хотите прослушать.

enter image description here

Затем вы можете направить ваше сообщение к соответствующей конечной точке (Azure Функция или очередь)

enter image description here

Если вы сохраняете изображения с измененным размером в той же учетной записи хранения, вы получите событие для этих изображений. Вы можете поместить некоторые логи c для фильтрации этих изображений из вашей функции.

Вы не столкнетесь ни с какими задержка проблема с EventGrid, в то время как триггер Blob имеет некоторую проблему задержки.

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