我正在编写一些代码,使用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));
}
}
}
}
请检查功能应用程序的应用程序设置中是否有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 文档已经改变,现在说它不支持它,但我有一个工作数据库说它支持。