当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos DB更改提要函数不触发

范高刚
2023-03-14

我正在编写一些代码,使用Cosmos作为我的存储来实现事件源。我的初始文档成功写入集合。然后,我设置了一个Azure函数,该函数在该集合的提要发生变化时触发,并将项目复制到另一个集合。

我的问题是,虽然如果我在本地调试函数应用程序,这一切都可以正常工作(更改通过并无问题地处理),但函数在作为函数应用程序发布后不会触发。该函数存在,但总执行计数始终为0。就像该函数没有在计时器上运行并检查提要。我的函数应用程序中的其他函数按预期工作。

我的函数代码是

 [FunctionName("EventSourceWrite")]
        public static void Run([CosmosDBTrigger(
            databaseName: "Puffin",
            collectionName: "EventSource",
            ConnectionStringSetting = "EventSourceConnection",
            CreateLeaseCollectionIfNotExists = true,
            LeaseCollectionName = "leases")]IReadOnlyList<Document> input, ILogger log)
        {
            if (input != null && input.Count > 0)
            {
                log.LogInformation("Documents modified " + input.Count);
                log.LogInformation("First document Id " + input[0].Id);

                var container = Cosmos.GetItemsContainer();

                foreach (var doc in input)
                {
                    var item = JsonConvert.DeserializeObject<Item>(doc.ToString());

                    // reset the Id
                    item.Id = item.ItemId;

                    if(!string.IsNullOrEmpty(item.CollectionId))
                    {
                        container.UpsertItemAsync(item, new Microsoft.Azure.Cosmos.PartitionKey(item.CollectionId));
                    }   
                }
            }
        }

共有1个答案

彭霄
2023-03-14

请检查功能应用程序的应用程序设置中是否有EventSourceConnection。如果没有,请新建一个并重试。

 类似资料:
  • 下面是Cosmos数据库更改提要触发器azure函数的应用程序洞察记录的异常: Cosmos数据库更改提要触发Azure功能:

  • 问题内容: 我有一个针对ui-select2下拉菜单的手表设置(来自ui-bootstrap)。手表会在加载时触发,但不会在数据更改时触发,我不知道为什么。 不应用模型更改或不使用第三个参数进行相等性比较(至少来自我的代码)不是一个常见的问题。 我需要怎么做才能使其点火? 这是一个说明问题的小问题。 问题答案: 我修好了一些东西。 http://plnkr.co/edit/5Zaln7QT2gET

  • 我有一个父组件,在parent.component.html中有以下代码: 在子组件中,我有如下输入参数: 还有一个名为 当父输入被修改时,我希望子输入执行< code>getSpecs()函数。这可能吗?

  • 我按照这个示例代码(https://github . com/Azure/Azure-document db-changeedprocessor-dot net # example)注册一个观察者来处理cosmos db集合中的变更提要。我使用一个实用程序在cosmos db集合中创建新文档(比如在一个for循环中创建400个文档)。我正在使用30秒的FeedPollDelay。但CFP自由党似乎

  • 问题内容: 我试图弄清楚为什么没有触发我。这是相关控制器的片段: 在我看来,显然是正确更新的,因为我的长度范围是这样的: 我想念什么? 问题答案: 尝试或。 默认情况下,$ watch 不检查对象是否相等,而仅作为参考。因此,将总是简单地返回相同的数组引用,并且不会改变。 更新: Angular v1.1.4添加了一个$ watchCollection() 方法来处理这种情况: Shallow监视

  • 嘿,我们已经用Cosmos DB和Mongo API使用change feed处理器库6个月了,但现在当我们尝试连接到change处理器库时,我们得到了一个文档异常和mesage 文档已经改变,现在说它不支持它,但我有一个工作数据库说它支持。