Рабочий процесс:
- Служба приложений помещает сообщение в хранилище очереди.
- Функция Azure, инициируемая очередью, получает сообщение и обрабатывает его
- Функция должна записатьего результаты в Космос БД (это может быть создание / замена / удаление документа)
В основном, есть 2 способа сделать это:
- Привязать
DocumentClient
к функциии выполнять задание CosmosDB непосредственно из функции - иметь функцию вызова предопределенной конечной точки http в App Service, которая фактически выполняет задание Cosmos DB.
- иметь конечную точку обратного вызова, интегрированную в сообщение очереди (ее отклонение 2)
Я предпочитаю варианты 2/3, где Function является чистым блоком проводки / посредничества между очередью и AppService в основном из-за того, что у службы приложений есть полностью хранилище для обработки части CosmosDB.
Вопрос заключается в следующем:
Есть ли веская причина иметь какие-либо особенности CosmosDB внутри Function?