gpt4 book ai didi

azure-functions - Azure 函数上的 CosmosDBTrigger 无租约收集

转载 作者:行者123 更新时间:2023-12-04 07:03:07 25 4
gpt4 key购买 nike

我有一个 Azure 函数,每次更新我的 CosmosDb 集合中的多个项目时都会触发该函数。

代码正常工作:

[StorageAccount("AzureWebJobsStorage")]
public static class ChangeFeedFunction
{
[FunctionName("ChangeFeedFunction")]
public static void ChangeFeedFunction(
[CosmosDBTrigger(
databaseName: "MyDataBase",
collectionName: "MyCollection",
ConnectionStringSetting = "CosmosDbConnectionString",
LeaseCollectionName = "MyCollection_Leases",
CreateLeaseCollectionIfNotExists = true
)] IReadOnlyList<Document> documents,
[Queue("collection-changes")] ICollector<Message> analystQueue,
ILogger logger
)
{
//Operations;
}

但在这种情况下,这意味着我有 2 个 CosmosDb 集合(MyCollection 和 MyCollection_Leases),每月最低 40 美元。我想降低成本。有没有办法在不使用其他 CosmosDb 集合的情况下观察我的 CosmosDb 集合上的修改?

谢谢

最佳答案

cosmos db trigger function document 之后,lease 集合至今无法避免,因为它承担着重要的责任。

当使用触发器存储每个函数的检查点时,我们需要一个 lease 集合。我说如果有10个文档被插入到cosmos db中,触发器函数被一个一个触发,检查点随着进程移动并存储到lease集合中。突然,由于某些原因,触发器关闭。在此期间,又有 5 个文件插入到 db 中。触发函数重新启动后,它知道从哪个节点继续执行函数和 lease 集合中的检查点。(我希望我说清楚...)

顺便说一句,您可以为所有集合共享一个 lease 集合,以获得更具成本效益的方法。请引用这个 article

至于成本,您可以创建最小配置的 lease 集合。门户上的成本是估计值。价格基于 RU 的消耗量。请引用这个 document

关于azure-functions - Azure 函数上的 CosmosDBTrigger 无租约收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53307280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com