Отличный вопрос! Я всегда думал, что триггеры будут запускаться автоматически:).
Я считаю, что триггеры не запускаются автоматически при вставке документа. Что вам нужно сделать, это указать триггер, который вы хотите запустить при создании документа.
Вам нужно зарегистрировать триггер, передав имя триггера в качестве опции запроса при отправке create запрос документа.
Например, см. код здесь: https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-use-stored-procedures-triggers-udfs#pre -triggers (также скопировано ниже). Обратите внимание на использование PreTriggerInclude
в RequestOptions
:
dynamic newItem = new
{
category = "Personal",
name = "Groceries",
description = "Pick up strawberries",
isComplete = false
};
Uri containerUri = UriFactory.CreateDocumentCollectionUri("myDatabase", "myContainer");
RequestOptions requestOptions = new RequestOptions { PreTriggerInclude = new List<string> { "trgPreValidateToDoItemTimestamp" } };
await client.CreateDocumentAsync(containerUri, newItem, requestOptions);