我最近通过以下链接在 Visual Studio 2015 中创建了一个应用程序:https : //azure.microsoft.com/en-in/documentation/articles/documentdb-dotnet-application/
但是当我构建解决方案时,它显示了以下错误:
值不能是
null。
参数名称:uriString
第71行:public static void Initialize()
第72行:{
第73行:client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["https://<db-name>.documents.azure.com:443/"]), ConfigurationManager.AppSettings["<db-key>"]);
第74行:CreateDatabaseIfNotExistsAsync().Wait();
第75行:CreateCollectionIfNotExistsAsync().Wait();源文件:
C:\Users\BHAVIN PATEL\Documents\Visual Studio 2015\Projects\documentdb-dotnet-todo-app-master\src\DocumentDBRepository.cs行:73
我已Web.config在 Azure 中创建的 DocumentDB 应用程序的应用程序文件中插入了 URI 和主键/辅助键。
当我运行我的Azure Function.
我正在读取其中一个连接字符串值,Azure Key Vault并且已在 Azure Function 配置的应用程序设置中设置了该值。根据Microsoft 文档,必须使用创建的托管标识对象Managed Identity为 Azure Function 设置并Access Policy在 Key Vault 配置中创建,以便 Azure Function 应用程序可以从 Key Vault 读取值。
我缺少此设置,因此该键的应用程序设置值ServiceBusConnectionString始终为空,因此出现上述错误。配置访问策略后,错误消失。希望能帮助到你。
您的问题是数据库端点和密钥应该位于 .config 文件中,如下所示
<appSettings>
<add key="documentDbEndpoint" value="https://bhavin-patel.documents.azure.com:443/"/>
<add key="documentDbKey" value="naw1rq0lhaPwzCSI1w69EQYEfUeL0rU*********************************"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
然后您应该使用配置管理器通过按键读取设置
client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["documentDbEndpoint"]), ConfigurationManager.AppSettings["documentDbKey"]);
Run Code Online (Sandbox Code Playgroud)
请记住使用门户中的正确 documentDbKey。我用 * 掩盖了你的部分密钥
| 归档时间: |
|
| 查看次数: |
30845 次 |
| 最近记录: |