【问题标题】:Azure function and Azure Cosmos DB conflict feed IntegrationAzure 函数和 Azure Cosmos DB 冲突源集成
【发布时间】:2021-06-17 13:39:43
【问题描述】:

Azure 函数是否支持基于 Azure Cosmos DB 冲突源的触发器,例如 Azure 函数如何支持以下 Cosmos 更改源触发器?如果不是为什么?

   public async Task RunAsync([CosmosDBTrigger(
        databaseName: "cars-island-eshop",
        collectionName: "Customer",
        ConnectionStringSetting = "CosmosDbConnectionString",
        CreateLeaseCollectionIfNotExists = true,
        LeaseCollectionName = "Lease",
        LeaseCollectionPrefix = "UpdateCustomerDataInOrder")]IReadOnlyList<Document> input, ILogger 
       log)
       {
         ..............
       }

【问题讨论】:

    标签: azure azure-cosmosdb azure-function-app


    【解决方案1】:

    不,Cosmos DB 中没有冲突源的触发机制。您需要在计时器上手动查询它。

    【讨论】:

    • 好吧,我可以使用基于计时器的 Azure 功能,但这听起来不像是即时解决方案,但会导致解决冲突的延迟,因为它将是基于拉的模型,并且每次甚至轮询冲突源在没有冲突的情况下,我会额外收费。有什么想法可以克服使用计时器的这些缺点吗?
    • 如果您需要立即解决冲突,则使用 LWW 使用时间戳或数字属性(范围在文档级别)或使用存储过程(范围在逻辑分区)。如果您使用冲突提要,您选择的是灵活性而不是速度,因为您可以做任何您想做的事情来解决冲突。 LWW 和 Merge sprocs 作为提交的一部分发生,但您放弃了灵活性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2019-02-17
    • 2022-01-16
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    相关资源
    最近更新 更多