Azure Function App CosmosDbTrigger 给出空参数错误
Azure Function App CosmosDbTrigger Gives Null Parameter Error
我正在定义一个 Azure Function App 如下:
public static void Run(
[CosmosDBTrigger(
databaseName: "dbName",
collectionName: "collectiontoMonitor",
ConnectionStringSetting = "collectionConnectionStringSettingName",
LeaseDatabaseName = "LeaseDBName",
LeaseCollectionName = "LeaseCollection",
LeaseConnectionStringSetting = "LeaseConnectionString",
LeaseCollectionPrefix ="funcName")]IReadOnlyList<Document> input, ILogger log)
{
..
}
我从 visual studio 发布并且它没有任何错误。但是,即使在 Collection 发生更改后,也永远不会触发 Function。
如果我手动 运行 函数,我会得到错误:
Value cannot be null. Parameter name: o
以上是确切的错误消息,我没有任何名称为 'o' 的参数。我能错过什么。
更新:以防万一,Function App 与 Cosmos 的订阅不同。
好的,我终于通过请求创建租赁集合(如果它不存在)来为我工作。以前,我手工创建了它,很可能没有正确配置它。一旦我删除了租赁集合并请求创建它(如果不存在),我看到它已正确创建并且我的问题已解决。
更改为:
public static void Run(
[CosmosDBTrigger(
databaseName: "dbName",
collectionName: "collectiontoMonitor",
ConnectionStringSetting = "collectionConnectionStringSettingName",
LeaseDatabaseName = "LeaseDBName",
LeaseCollectionName = "LeaseCollection",
LeaseConnectionStringSetting = "LeaseConnectionString",
CreateLeaseCollectionIfNotExists = true, // Add this line
LeaseCollectionPrefix ="funcName")]IReadOnlyList<Document> input, ILogger log)
{
..
}
我正在定义一个 Azure Function App 如下:
public static void Run(
[CosmosDBTrigger(
databaseName: "dbName",
collectionName: "collectiontoMonitor",
ConnectionStringSetting = "collectionConnectionStringSettingName",
LeaseDatabaseName = "LeaseDBName",
LeaseCollectionName = "LeaseCollection",
LeaseConnectionStringSetting = "LeaseConnectionString",
LeaseCollectionPrefix ="funcName")]IReadOnlyList<Document> input, ILogger log)
{
..
}
我从 visual studio 发布并且它没有任何错误。但是,即使在 Collection 发生更改后,也永远不会触发 Function。 如果我手动 运行 函数,我会得到错误:
Value cannot be null. Parameter name: o
以上是确切的错误消息,我没有任何名称为 'o' 的参数。我能错过什么。
更新:以防万一,Function App 与 Cosmos 的订阅不同。
好的,我终于通过请求创建租赁集合(如果它不存在)来为我工作。以前,我手工创建了它,很可能没有正确配置它。一旦我删除了租赁集合并请求创建它(如果不存在),我看到它已正确创建并且我的问题已解决。
更改为:
public static void Run(
[CosmosDBTrigger(
databaseName: "dbName",
collectionName: "collectiontoMonitor",
ConnectionStringSetting = "collectionConnectionStringSettingName",
LeaseDatabaseName = "LeaseDBName",
LeaseCollectionName = "LeaseCollection",
LeaseConnectionStringSetting = "LeaseConnectionString",
CreateLeaseCollectionIfNotExists = true, // Add this line
LeaseCollectionPrefix ="funcName")]IReadOnlyList<Document> input, ILogger log)
{
..
}