调用 Azure 函数时出现 FunctionInvocationException
FunctionInvocationException when Azure function is called
我的 Azure 函数有问题。函数无法启动,因为每次都抛出 FunctionInvocationException。
内部异常是一个 InvalidOperationException,带有以下消息:
PartitionKey must be supplied for this operation
我的函数中有两个连接到文档数据库的绑定,一个是从集合中检索特定文档的输入绑定,另一个是用于审计的输出绑定。
这些在我的开发、质量检查和 uat 环境中都运行良好,只是生产环境有问题。这两个集合(用于设置和审计)都是在没有分区键的情况下创建的,与每个环境相同。
System.InvalidOperationException:
at Microsoft.Azure.Documents.Client.DocumentClient+d__347.MoveNext (Microsoft.Azure.Documents.Client, Version=1.11.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
有什么想法吗?
我试过删除并重新制作审计集合,但没有奏效。我不明白为什么其他环境都很好,但这个却不行。
编辑:
function.json
{
"scriptFile": "..\bin\Cso.Notification.Function.dll",
"entryPoint": "Cso.Notification.Function.Program.Run",
"disabled": false,
"bindings": [
{
"type": "httpTrigger",
"direction": "in",
"webHookType": "genericJson",
"name": "request",
"methods": [
"post"
]
},
{
"type": "documentDB",
"name": "subscriberSettings",
"databaseName": "CSO",
"collectionName": "Settings",
"id": "SubscriberSettings",
"connection": "CsoDocDb",
"direction": "in"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "documentDB",
"name": "collector",
"databaseName": "CSO",
"collectionName": "AuditJSON",
"connection": "CsoDocDb",
"direction": "out"
}
]
}
我找到了答案。我们查询初始值 (SubscriberSettings) 的文档之一使用 PartitionKey 设置不正确。
删除集合并在没有分区键的情况下重新创建它就成功了。
我的 Azure 函数有问题。函数无法启动,因为每次都抛出 FunctionInvocationException。
内部异常是一个 InvalidOperationException,带有以下消息:
PartitionKey must be supplied for this operation
我的函数中有两个连接到文档数据库的绑定,一个是从集合中检索特定文档的输入绑定,另一个是用于审计的输出绑定。
这些在我的开发、质量检查和 uat 环境中都运行良好,只是生产环境有问题。这两个集合(用于设置和审计)都是在没有分区键的情况下创建的,与每个环境相同。
System.InvalidOperationException: at Microsoft.Azure.Documents.Client.DocumentClient+d__347.MoveNext (Microsoft.Azure.Documents.Client, Version=1.11.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35)
有什么想法吗?
我试过删除并重新制作审计集合,但没有奏效。我不明白为什么其他环境都很好,但这个却不行。
编辑:
function.json
{
"scriptFile": "..\bin\Cso.Notification.Function.dll",
"entryPoint": "Cso.Notification.Function.Program.Run",
"disabled": false,
"bindings": [
{
"type": "httpTrigger",
"direction": "in",
"webHookType": "genericJson",
"name": "request",
"methods": [
"post"
]
},
{
"type": "documentDB",
"name": "subscriberSettings",
"databaseName": "CSO",
"collectionName": "Settings",
"id": "SubscriberSettings",
"connection": "CsoDocDb",
"direction": "in"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"type": "documentDB",
"name": "collector",
"databaseName": "CSO",
"collectionName": "AuditJSON",
"connection": "CsoDocDb",
"direction": "out"
}
]
}
我找到了答案。我们查询初始值 (SubscriberSettings) 的文档之一使用 PartitionKey 设置不正确。
删除集合并在没有分区键的情况下重新创建它就成功了。