Azure cosmosdb 触发器在Cosmos DB Emulator中如何工作

Azure cosmosdb 触发器在Cosmos DB Emulator中如何工作,azure-cosmosdb,Azure Cosmosdb,我无法理解触发器在Cosmos DB Emulator中是如何工作的。请给我解释一下它是如何使用的。首先,你需要知道在cosmos db和。它不能自动执行。调用sdk方法时需要具体定义,请参考官方文档上的示例 创建触发器: string triggerId = "trgPreValidateToDoItemTimestamp"; Trigger trigger = new Trigger { Id = triggerId, Body = File.ReadAllText($@"

我无法理解触发器在Cosmos DB Emulator中是如何工作的。请给我解释一下它是如何使用的。

首先,你需要知道在cosmos db和。它不能自动执行。调用sdk方法时需要具体定义,请参考官方文档上的示例

创建触发器:

string triggerId = "trgPreValidateToDoItemTimestamp";
Trigger trigger = new Trigger
{
    Id =  triggerId,
    Body = File.ReadAllText($@"..\js\{triggerId}.js"),
    TriggerOperation = TriggerOperation.Create,
    TriggerType = TriggerType.Pre
};
Uri containerUri = UriFactory.CreateDocumentCollectionUri("myDatabase", "myContainer");
await client.CreateTriggerAsync(containerUri, trigger);
当然,您可以通过cosmos db portal或emulator UI创建触发器:

然后,您需要定义在使用相应的sdk方法时创建的触发器的名称。例如,您将预触发和触发操作创建为
Create
,然后可以使用以下代码将其激活:

Uri containerUri = UriFactory.CreateDocumentCollectionUri("myDatabase", "myContainer");
RequestOptions requestOptions = new RequestOptions { PreTriggerInclude = new List<string> { "<your trigger name>" } };
await client.CreateDocumentAsync(containerUri, newItem, requestOptions);
uricontaineruri=UriFactory.CreateDocumentCollectionUri(“myDatabase”、“myContainer”); RequestOptions RequestOptions=new RequestOptions{PreTriggerInclude=new List{”“}; wait client.createDocumentSync(containerUri、newItem、requestOptions);
您能更具体地说明您所做的和不理解的事情吗?您能指定触发器的含义吗?你是指还是?我想了解Cosmos DB Emulator中的前/后数据库触发器。我查阅了一些源代码,但不了解触发器是如何创建的。先生,直到创建触发器的部分我才理解。我可以知道我应该在哪里保存和运行上述代码(用于激活触发器的代码)吗?谢谢您的帮助。@VarunKumar这是cosmso db c#sdk代码,您有过这方面的经验吗?关于开发方面的经验吗?我没有这方面的经验。我是这个领域的新手。如果能给我提供一些学习的资料,那将非常有帮助。@VarunKumar理解。因此,如果您想了解更多有关cosmos db的信息,首先,您可以查看microsoft官方快速入门,如如何使用此服务:@VarunKumar我在回答中提到的方法是使用.net sdk使用cosmos db服务,无论是模拟器还是真实服务。关于它们之间的区别,您可以参考以下链接: