尝试从azure函数中提取azure密钥库时出错-值不能为null。参数名称:authKeyOrResourceToken

时间:2019-05-31 12:03:40

标签: node.js azure-functions azure-cosmosdb azure-keyvault

我想将我的azure函数应用程序与密钥库集成在一起。我按照此处显示的步骤http://blogs.adatis.co.uk/benjarvis/post/Azure-Functions-Key-Vault-Integration

但是面对这个错误-值不能为null。 参数名称:authKeyOrResourceToken

不确定我要去哪里。任何帮助将不胜感激。

我尝试在应用程序设置下添加一个名为“ authKeyOrResourceToken”的环境变量,并使用默认功能键证明了该值。但没有运气。

这就是我的function.json的样子

{       “ type”:“ CosmosDB”,       “ name”:“ <>”,       “ databaseName”:“ <>”,       “ collectionName”:“ <>”,       “ connectionStringSetting”:“ <>”,       “ sqlQuery”:“ SELECT * FROM c其中c.recordType = {recordType}”,       “ direction”:“在”     }

虽然我期望查询结果,但我面临异常。

2 个答案:

答案 0 :(得分:1)

connectionStringSetting在您的功能应用程序中应具有设置名称作为值,该值的格式为:

@Microsoft.KeyVault(SecretUri=secret_uri_with_version)

其中 secret_uri_with_version 是包含您的 Cosmos DB连接字符串(完整的连接字符串,而不仅仅是密钥)的秘密URL。

答案 1 :(得分:0)

最后我开始工作了。

我正在使用Node.js编写Azure函数。因此,从该功能中,如果我需要访问密钥库,则可以安装2个npm模块(azure-keyvault和ms-rest-azure)。安装完成后,我便可以访问密钥库。

具有讽刺意味的是,.net编写的Azure函数没有这种依赖性。它是开箱即用的。