我想使用DocumentDB输出绑定将我的Azure Function与我的CosmosDB集合连接。
我的职务:
public static class HttpTriggerSave
{
[FunctionName("HttpTriggerSave")]
public static void Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req, [DocumentDB("dbName", "collectionName", Id = "id")] dynamic outputDoc, TraceWriter log)
{
outputDoc = new
{
Text = "text",
id = Guid.NewGuid()
};
}
}
我的local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": "",
"AzureWebJobsServiceBus": "Endpoint=sb://<namespace>/;SharedAccessKeyName=<keyname>;SharedAccessKey=<key>",
"AzureWebJobsDocumentDBConnectionString": "mongodb://..."
}
}
但每次都出现同样的错误:
mscorlib: Exception while executing function: HttpTriggerSave. Microsoft.Azure.WebJobs.Host: Exception binding parameter 'outputDoc'. Microsoft.Azure.Documents.Client: Value cannot be null.
Parameter name: authKeyOrResourceToken.
我该怎么补救呢?
2条答案
按热度按时间njthzxwz1#
mscorlib:执行函数时出现异常:HttpTriggerSave. Microsoft.Azure.WebJobs。主机:异常绑定参数“outputDoc'. Microsoft.Azure.Documents.Client”:值不能为空。参数名:authKeyOrResourceToken。
根据这个异常,说明它没有访问Documentdb的权限。根据你的local.settings.json说明你使用的是MongoDb连接字符串。
所以请使用documentdb连接字符串。
我也在我这边做了一个演示,它工作正常。
pgx2nnw82#
我在尝试连接到Azure Cosmos DB for MongoDB时遇到了类似的错误。这个GitHub article帮助我意识到,我不能像在NodeJs应用程序中绑定到SQL数据库那样绑定。相反,我利用了NPM包mongodb。
我的错误版本是这样的:
Microsoft.Azure.DocumentDB.Core: Value cannot be null. (Parameter 'authKeyOrResourceToken | secureAuthKey').